摘要:一种基于ISA总线的高速同步数据采集扩展卡,讨论了经合理的逻辑控制以协调高速A/D转换与快速存储操作的总线接口技术,以及用极少的PC机I/O口地址资源实现数据的快速交换的方法。应用表明,其高速的数据采集、灵活的双向数据交换能力及数据的同步性,可广泛用于信号测量的各种领域。
关键词:高速数据采集 ISA总线 接口
随着大规模集成的电路的飞速发展,PC机性能不断提高。在PC机扩展槽中嵌入以高性能微处理器为核心的智能型功能卡,可以组成综合性能极佳的分布式控制系统。这种结构方式可充分利用微处理器的控制功能、PC机的快速数据处理能力,以及多任务工作方式等特点。对于这种分布式控制系统,主机要频敏接收到来自扩展卡从机所采集的数据、工作状态等信息;向从机发送控制命令或处理数据等。这种主、从机之间的通讯,根据应用条件的不同有多种方式。但在数据传输速度较高、数据量较大且需经常交换信息的场合,采用双口共享RAM缓冲区方式是最合适的。
为了用单片机实现对微秒级甚至纳秒级高速瞬变信号进行采样,研究了一种基于ISA总线、GPS同步时钟、用硬件电路实现高速数据采集、高速寻址以及存储的技术,保证了高速瞬态信号的实时采集。对于变化速极快、过程极短的高速瞬态信号的采集,需要高速A/D转换单元、大量数据存储单元、高速寻址和快速存储等。
由于所采集的信号是高频信号,用常规则方法受到单片机本身运行速度的限制,不仅造成成本提高,而且对高频、远距离多路信号的信号处理增加困难,有时无法区别所采集信号的真伪。通过对8051单片机的外围进行有效的扩展,采取在数据采集时由硬件实现采集和存储,采集完毕后由8051系列单片机进行数据处理和通信,比较好地解决了二者的矛盾。
1 硬件系统基本工作原理
硬件电路框图如图1所示,它是由CPU1及CPU2基本系统、视频闪烁ADC转换器、高速缓存RAM、双口RAM、地址计数器、采样频率控制、时序控制及译码电路等部分组成。
根据需要CPU采用DS80C320单片机。在时钟频率为33MHz条件下,单周期指令执行时间是110纳秒,充分发挥高速A/D转换芯片的性能。DS80C320内部有三个16位定时器/计数器、二个全双工串行口、十三个中断源(六个外部中断端)、二个数据指针DPTR0和DPTR1。在33MHz晶振时,ALE的输出信号频率是8.25MHz。
CPU1主要用于数据采集、与PC机通讯;CPU2用于接收GPS时间报文,GPS时间报文可在任何时刻由CPU1从与之相接的双口RAM2中读取。高速双端口RAM IDT7130(2K×8位)、IDT7134(4K×8位),内部具有判决电路以防止因对某一单元同时操作而产生冲突。双口RAM1 IDT7134主要用于CPU1存放采集的数据、同步时间信息及工作状态等,供PC机定时取用,同时也接收来自PC机的命令。双口RAM2 IDT7130其容量为2K字节,主要用于CPU1与CPU2交换GPS的同步时钟信息。
对高速数据采集技术而言,最为重要的是系统的分辨率、精度与通过速率。特别是系统通过速率,是区别高速数据采集与一般数据采集最为关键的一项技术指标。在硬件的具体实现过程中,则需要考虑两个方面:(1)A/D转换器的转换时间;(2)转换后的数据存储时间[2]。
1.1 高速A/D转换
A/D转换采用闪烁ADC器件AD9048,其最大转换速率为35MSPS,分辨率为8位。利用高速双极工艺制造,采样速率快,频带宽,无代码遗失,输入电容小(仅为16pF),功耗低(为500mW)。AD9048内部时钟锁定比较器可使编码逻辑电路和输出缓冲寄存器作在35MSPS的高速,并避免了多数系统对取样保持电路(S/H)和跟踪保持电路(T/H)的需要。数字输入、输出及控制电平与TTL兼容。AD589和AD741、2N3906等构成稳压可调电路,提供给9048的RB、RT接地。AD9618作为输入缓冲放大器[3]。由于AD9048的数据输出没有三态门控制,故在输出加上74LS241作三态门控制。AD9048是否工作取决于输入转换脉冲信号,在脉冲信号上升沿取样。转换脉冲来自采样频率控制电路中的8254分频器的输出。
1.2 高速寻址对于高速数据采集系统,A/D转换应不受CPU控制。每当ADC转换一次后,由控制电路发出相应的信号,将ADC转换结果写入高速缓存RAM某单元中,再使地址计数器加1,直到地址计数器记满后产生采样结束信号,封锁RAM写信号,利用二进制地址发生器的最高位通过中断方式通知主机采样已完成。
地址计数器可根据地址位数由若干同步记有选举权器级联而成,五片74LS163可构成19位地址形成电路。计数器每收到一个脉冲即产生一个地址。地址的初值可通过时序控制电路清零。若采用循环地址,则在计数满后,用进位信号迫使计数器的同步预置电平发生变化,使计数器恢复初值,进入新一轮计数。
1.3 快速存储
单片机与上位PC机间串口通讯的数据传输速率往往不能满足实时要求;DMA通道最的大数据传输率也不超过5MB/s[1],这显然无法满足本系统中高达20MB/s的采样速度。为了解决高速数据采集与低速数据传输的矛盾,在单片机系统中,数据存储器选用双端口RAM
IDT7134(图1中RAM1)。在上位PC主机与单片机之间建立了一个4K字节大小的缓冲区,单片机只须将经过预处理的采样值通过一个端口存放缓冲区,上位PC主机通过另一端口从缓冲区取数据。这样就解决了高速采样与低速数据传输的矛盾,可满足实时采集和控制的要求。
单片机系统总线上挂有若干RAM或I/O口,寻址和数据传输均由CPU发出指令通过系统总线实现的。对于高速数据采集,为了提高寻址和数据传输速度,避免总线冲突或堵塞,必须建立局部总线。系统总线与局部总线应该既区别、又统一,既隔离、又结合,彼此通过合理的控制逻辑联系起来。
总线仲裁的基本原则实际就是在不同的总线请求时,采用不同长度的读写周期,以使各个使用者对总线的占用时间互相交错,而使用者并不感觉到仲裁的存在。在内存映射的传输方式中,A/D不断地将转换的数据写入高速缓存RAM,CPU根据数据处理的需要从高速缓存RAM读取数据至双口RAM1,双口RAM1还需要将所有单元刷新一遍。这三种操作都要占用卡上的数据、地址总线。但它们发生的时间是随机的,因此对总线的占用必然会产生冲突,总线仲裁电路的功能就是对这三种操作进行协调。这里,通过五片74LS241二选一开关协调地址计数器与CPU1对高速缓存RAM读地址的冲突,二片74LS241协调高速缓存RAM与AD9048和双口RAM之间的数据传输的冲突。
1.5 PC总线接口技术
PC系统总线对4KB的双口RAM寻址是一个难点。本数据采集卡采用PC总线,又称8位ISA总线。它使用灵活,便于同8位单片机构成接口电路。有62条引线,分五类:地址线、数据线、控制线、辅助与电源线。本数据采集卡只用了其中一部分引线:8条数据线、10条地址线、IOR和IOW控制线、电源线。译码电路详细框图如图2。
本数据采集卡使用308H、309H、30AH三个口地址实现在板缓存4KB的寻址。这里的译码电路使用了GAL20V8和两片74HC574。当PC机要访问某一地址时,首先写入双口RAM的低8位地址。此时GAL20V8的输出信号选中74HC574(右),将PC-DB上的数据锁存,形成双口RAM的低8位地址Addrl;然后写入双口RAM的高8位地址。GAL20V8的输出信号选中74HC574(左),将PC-DB上的数据锁存,形成双口RAM的高8位地址Addrh。最后通过选中双口RAM的片选端cs,完成一次数据的读/写过程。
1.6 采样频率控制电路
采样频率挖掘电路是由晶振、可编程分频器8254及一些控制电路组成。8254是可编程分频器,工作频率在8MHz~20MHz。通过不同的分频数,可以输出不同频率,分频数在值为2~65535。它的输出由触发控制电路控制。其输出时钟分别送往地址计数器、高速缓存RAM的写信号控制电路及AD9048的转换脉冲输入端。
2 系统软件设计
系统软件的主要功能是为用户提供一个良好的操作环境,及时响应用户的命令。用户操作界面采用Vi-sual basic语言编写。通过采用一系列命令。用户操作界面采用Visual basic语言编写。通过采用一个系列命令按键,将电力系统采集到的实际信号的波形、故障发生的时刻等映射到计算机屏幕上,用户可以对采集到的信息有一个直观的认识。用软件虚拟硬件操作界面,可以充分利用计算机的强大运算功能、灵活多变的软件优势和VGA强大的显示功能。为便于系统的扩充和软件复用,整个软件分为几个相对独立的功能模块,模块内代码封装,相互之间设立统一的接口规范。
由于本系统中不仅有高层次、面向磁般文件的操作,也有许多直接控制硬件的操作,采用了TURBO C和汇编语言混合编程技术,各模块根据操作对象采用适当的语言。这样可以同时利用高级语言编程方便、结构性好、汇编语言快速、灵活、针对性强的特点。
系统软件框图如图3所示。
硬件驱动程序用于完成对硬件的操作,全部采用汇编语言编写。使用系统前,先运行本程序,程序修改PC机系统中断,运行后常驻内存,和主程序的接口通过标准软中断形式。
高速图形单元是对PC机VGA寄存器和显示存储器的直接操作,通过调用相关函数和VGA图形库,以较快速度将采样信号显示出来。
数据分析单元主要是对采样信号进行后处理,可以完成小波变换、信号奇异性检测、谱分析和相关分析等数据处理功能,并通过波形输出单元同时将时域信号和分析结构用曲线显示来出。
整个系统提供给用户的是一个基于WINDOWS的快速图形操作界面,系统主控程序协调整个系统的运行,控制硬件自动运行。在系统界面上包括用于波形显示的高速视口和命令按键等,可以通过简单操作直观地观察实时采集到的数据波形、幅值和故障发生的时刻。同时提供了对外的软件接口,用户可以按照规定的格式组织数据,利用本系统强大的数据分析功能处理数据。
本高速采集卡具有采样速率高、运行方式灵活、同步时钟精度高并符合ISA总线标准等特点。以DS80C320单片机为核心,采用GPS同步时间,配合适当的外围设备及合理的总线控制技术实现高速数据采集。同时兼有数字存储示波器功能和数据分析能力,可以广泛用于电力测量、电力系统故障定位和继电保护领域。