基于ISA总线的多路高速采集系统设计 (1).doc
《基于ISA总线的多路高速采集系统设计 (1).doc》由会员分享,可在线阅读,更多相关《基于ISA总线的多路高速采集系统设计 (1).doc(13页珍藏版)》请在冰豆网上搜索。
基于ISA总线的高速采集系统设计
摘要:
介绍了一种基于ISA总线的高速数据采集系统的硬件及软件设计,该系统采用异步启动4块ADS7810模数转换器的方法来相对缩短A/D转换时间,从而在ISA总线上实现了频率2.6MHz的高速采集速率。
用便于移植的虚拟设备驱动程序(VxD)采集数据,并由Windows应用程序显示和处理。
应用表明,其高速的数据采集、灵活的双向数据交换能力及数据的同步性,可广泛用于信号测量的各种领域。
该系统的性能指标满足高压脉冲电场食品杀菌装置的电压采集要求。
关键词:
ISA总线,高速数据采集,虚拟设备驱动程序
Abstract:
Thehardwareandsoftwaredesignofahigh2speeddatasamplingsystembasedonISAbuswasintroduced.Inthissystem,fourpiecesofADS7810ADconvertersarestartedinturnatacertainintervaltoshortentheADcon2vertingtimecomparatively,thusobtainingahighdatasamplingspeedof2.6MHzinthesystemonISAbus.VirtualDeviceDriver(VxD),whichiseasytotransplanttootherappliedsituations,isadoptedtoreadthesampleddata.ThesampleddataaredisplayedandprocessedthroughaWindowsapplication.Experimentresultsshowthattheperfor2mancesofthesystemcanmeettherequirementsofthefoodsterilizationdevicewithhigh2voltagepulsedelectricfield.
Keywords:
ISAbus;high2speeddatasampling;virtualdevicedriver
1前言
计算机技术可以说是日新月异,就拿处理器来说吧,几年前1GHz的主频率还是难以逾越的门槛,而现在则已经轻易地提升到了3.4GHz,预计频率再提高到4-5GHz都不会成问题。
我们今天将要讨论的在计算机中有重要地位的I/O技术也没有停止前进的步伐,不过相较其它计算机技术来说,I/O技术则要显得冷静得多。
自从IBMPC问世至今,虽然期间经历了包括MCA、VESA等在内的多种总线规格,但从整体来看,大致只经过了ISA和PCI总线两个阶段。
ISA的发展最早的PC总线是IBM公司1981年在PC/XT电脑采用的系统总线,它基于8bit的8088处理器,被称为PC总线或者PC/XT总线。
在1984年的时候,IBM推出基于16-bitIntel80286处理器的PC/AT电脑,系统总线也相应地扩展为16bit,并被称呼为PC/AT总线。
而为了开发与IBMPC兼容的外围设备,行业内便逐渐确立了以IBMPC总线规范为基础的ISA(工业标准架构:
IndustryStandardArchitecture)总线。
ISA是8/16bit的系统总线,最大传输速率仅为8MB/s,但允许多个CPU共享系统资源。
由于兼容性好,它在上个世纪80年代是最广泛采用的系统总线,不过它的弱点也是显而易见的,比如传输速率过低、CPU占用率高、占用硬件中断资源等。
后来在PC‘98规范中,就开始放弃了ISA总线,而Intel从i810芯片组开始,也不再提供对ISA接口的支持。
随着大规模集成的电路的飞速发展,PC机性能不断提高。
在PC机扩展槽中嵌入以高性能微处理器为核心的智能型功能卡,可以组成综合性能极佳的分布式控制系统。
这种结构方式可充分利用微处理器的控制功能、PC机的快速数据处理能力,以及多任务工作方式等特点。
对于这种分布式控制系统,主机要频敏接收到来自扩展卡从机所采集的数据、工作状态等信息;向从机发送控制命令或处理数据等。
这种主、从机之间的通讯,根据应用条件的不同有多种方式。
但在数据传输速度较高、数据量较大且需经常交换信息的场合,采用双口共享RAM缓冲区方式是最合适的。
另外,在工程应用中经常需要采集微秒级甚至纳秒级高速瞬变信号,以便在计算机上对其进行处理。
本文在ISA接口总线的基础上,用4块ADS7810模数转换器、4块74LS123单稳触发器等组成外围电路,实现了频率2.6MHz的高速数据采集系统。
转换数据的读取是在Windows平台上,由虚拟设备驱动程序VxD完成。
整个系统结构简单、设计成本低廉,有较强的适用性和可移植性。
2总体方案设计
2.1方案比较
方案一:
用单片机实现对微秒级甚至纳秒级高速瞬变信号进行采样,研究了一种基于ISA总线、GPS同步时钟、用硬件电路实现高速数据采集、高速寻址以及存储的技术,保证了高速瞬态信号的实时采集。
对于变化速极快、过程极短的高速瞬态信号的采集,需要高速A/D转换单元、大量数据存储单元、高速寻址和快速存储等。
由于所采集的信号是高频信号,用常规则方法受到单片机本身运行速度的限制,不仅造成成本提高,而且对高频、远距离多路信号的信号处理增加困难,有时无法区别所采集信号的真伪。
通过对8051单片机的外围进行有效的扩展,采取在数据采集时由硬件实现采集和存储,采集完毕后由8051系列单片机进行数据处理和通信,比较好地解决了二者的矛盾。
其原理方框图如图2.1所示。
图2.1原理方框图
方案二:
采集信号经预处理后,被送入4块ADS7810转换器中,先对信号进行采样保持。
然后,运行控制程序,由软件启动单稳触发器74LS123,使它们产生ADS7810转换器的启动信号,开始A/D转换。
转换后的数字信号存储在数据缓冲器中,再经ISA总线读入计算机进行信号处理。
数据缓冲器的地址由ISA总线的地址线和控制线经GAL16V8译码后确定。
本试验通过控制A/D启动信号的产生,使4块ADS7810转换器间隔一小段时间顺次启动转换,相对缩短A/D转换时间,从而提高数据采集速率。
其原理方框图如图2.2所示。
图2.2原理方框图
2.2方案论证
方案一中硬件电路框图如图2.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中读取。
高速双端口RAMIDT7130(2K×8位)、IDT7134(4K×8位),内部具有判决电路以防止因对某一单元同时操作而产生冲突。
双口RAM1:
IDT7134主要用于CPU1存放采集的数据、同步时间信息及工作状态等,供PC机定时取用,同时也接收来自PC的命令。
双口RAM2:
IDT7130其容量为2K字节,主要用于CPU1与CPU2交换GPS的同步时钟信息。
对高速数据采集技术而言,最为重要的是系统的分辨率、精度与通过速率。
特别是系统通过速率,是区别高速数据采集与一般数据采集最为关键的一项技术指标。
在硬件的具体实现过程中,则需要考虑两个方面:
(1)A/D转换器的转换时间;
(2)转换后的数据存储时间。
方案二中主要通过4块ADS7810来完成系统中的信号采集,采集信号经过预处理后,就直接送到4块ADS7810转换器中。
首先对信号进行采样以及保持,然后运行控制程序,由软件来启动单稳态触发器74LS123,使它们产生ADS7810转换器的启动信号,从而开始A/D转换。
经过转换后的数字信号存储在数据缓冲器中,再经过ISA总线读入计算机进行信号的处理。
数据缓冲器的地址由ISA总线的地址线和控制线经过GAL16V8译码后确定。
综上所述,方案一中应用了两个单片机以及大量的I/O口资源,由于有GPS同步时钟、大量数据存储单元等模块使整个电路比较复杂,软件程序的编写上也有一定的难度,给设计者带来了较大的工作量。
方案二中仅仅用了4块ADS7810以及1块GAL16V8和缓冲器就可以实现所要求的功能,这样大大地节省了单片机的资源,减少了连线,使整个电路的设计思路更加清晰。
由于整体电路图相对简单,从而在软件程序上也简单了很多,设计者调试也更容易上手。
2.3方案选择
通过以上对两种方案的分析与论证,我们可以得出以下结论。
方案一由CPU1及CPU2基本系统、视频闪烁ADC转换器、高速缓存RAM、双口RAM、地址计数器、采样频率控制、时序控制及译码电路等部分组成。
用了两块单片机,占用了大量的I/O口资源,电路连接复杂,成本较高,软件程序编写起来较复杂。
方案二中用4块ADS7810以及1块GAL16V8和缓冲器就可实现功能,大大地节省了资源,降低了成本。
电路设计更加清晰、更加简单,设计者也容易上手,软件程序的编写也相对简单。
综上所述,本设计的设计方案采用方案二。
3单元模块设计
3.1单元模块电路
3.1.1电源模块
本设计电源模块采用常用的DC+5V的电路,为ISA总线及整个系统供电。
从外部接入8-10V的AC/DC电压,通过桥式整流机电容滤波后进入稳压器7805,再次滤波后由DC-OUT输出,电压为+5V,其原理图如图3.1所示。
图3.1电源模块
电路中C2、C4用来实现频率补偿,防止稳压器产生高频自激振荡和抑制电路引入的高频干扰,C3是电解电容,以减小稳压电源输出端由输入电源引入的低频干扰。
D1是保护二极管,当输入端短路时,给输出电容器C3一个放电通路,防止C3两端电压作用于调整管的be结,造成调整管be结击穿而损坏稳压器。
3.1.2模数转换模块
ADS7810是整个数据采集系统的核心器件,它是TI公司生产的12位数据转换器。
其主要性能:
①转换时间为1.25us;②输入范围为10V;③采样频率800kHz,并带有采样/保持电路;④并行数据输出,带输出锁存和三态驱动。
ADS7810的工作特性:
(1)给R/C加一个至少40ns宽的低电平启动A/D转换;
(2)转换后的数据以二进制补码形式按最高有效位输出;(3)BUSY信号线在启动转换后跳变为低电平,并保持到转换结束;(4)在转换结束后BUSY变为高电平;(5)当BUSY为低电平时,所有的转换命令都被忽略。
在每次A/D转换结束后,ADS7810开始跟踪输入信号,两次A/D转换启动命令间隔1.25us便可保证采样到新的输入信号。
ADS7810有两种A/D启动控制方式,一种是由端信号控制,另一种是由R/C端信号控制。
为方便设计本研究选用R/C信号控制方式。
设计采集系统4块ADS7810的启动时序如图3.2所示。
4块ADS7810的片选端CS分别固定接低电平,而在其R/C引脚上分别加上40ns以上的低电平。
每间隔80ns启动1块ADS7810,直到第4块,然后等待这一轮A/D转换结束,接着又从第1块开始,重新启动下一轮,这样不断循环,直到数据采集结束或被中断。
图3.24块ADS7810启动时序
每一轮数据转换后,由第4块ADS7810的