一种高速数据采集卡的设计与实现

时间:2011-03-16来源:网络

4 CPLD在数据采集卡中的应用
CPLD作为整个数据采集过程的控制核心,负责地址译码、多路开关选通、A/D转换启动、将转换结果写入FIFO以及两片FIFO之间的切换等一系列操作。它的三个功能模块分别为:地址译码模块、多路开关控制模块、A/D采样及FIFO控制模块。
4.1 地址译码模块
该模块实现了CPLD内部与PC/104总线的接口单元。本数据采集卡是作为PC/104的标准外设进行工作的。PC/104规定,外设的操作地址为A[9:0],在系统软件设计中要防止地址冲突。PC/104中使用A0~A9地址位来表示I/O端口地址,即可有1 024个口地址,前512个供系统板使用,后512个供扩充插槽使用,当A9=O时表示系统板上的口地址;当A9=1时表示扩充插槽接口卡上的口地址。因此本数据采集板的基地址由A[9:4]来确定,偏移地址由地址线的A[3:O]确定,选择该地址就意味着相应的操作,CPLD对地址进行译码后就产生相应的控制。在Qu-artusⅡ上设计的地址译码模块原理图程序如图4所示。

地址译码的工作过程为:在拨码开关上手工设基地址,在CPLD内部划出一片74LS688地址比较器,比较CPU发出的基地址与手工设定的基地址是否一致,若不一致,则地址译码电路不工作,进而整个数据采集板都不工作;若一致,则74LS688输出低电平,使得偏移地址译码电路中的4-16译码器74LS154正常工作,在IOR,IOW信号的作用下产生各种控制信号,使数据采集板正常工作。
4.2 多路开关控制模块
该模块实现了对八选一多路选择开关ADG508A的选通控制。通过控制使能引脚EN以及CH0~CH2引脚,可对多路开关的输入通道进行可编程选择。PC/104CPU通过地址译码选中CSWE[2],并写入数据D0~D7,就可以选择不同的通道导通。在QuartusⅡ上设计的多路开关控制模块原理图程序如图5所示。

d.JPG


4.3 A/D采样及FIFO控制模块
该模块主要负责A/D芯片的转换时序,实现对A/D采样的合理控制,同时将转换数据存入FIFO中,并且控制着两片FIFO的轮流存储,实现大量数据的采集。PC/104CPU通过地址译码选中CSWE[O],写入数据D0~D7,将与门inst15打开,输出端ENCODE1输出100 MHz的时钟信号,PWRDWN1端输出为低电平,启动A/D转换,同时,与门inst14被打开,WCLK1端输出100 MHz时钟,将转换后的数据存入FIFO(1)中。选中CSRD[0],写人数据D0~D7,将与门inst21打开,OE2端输出低电平,使CY7C4261(2)输出使能,RCLK2端输出100 MHz的时钟信号,将数据读出。当FIFO(1)存储满时,CPLD控制由FIFO(2)来进行存储,同时将FIFO(1)中的数据读出;当FIFO(2)存储满时,转由FIFO(1)进行存储,同时将FIFO(2)中数据读出。如此反复,直至预定的延时时间止,实现了两片FIFO的轮流存储和读取,进而达到了采集大量数据的目的。另外,在每次采样及向FIFO中存储数据之前,都要求选通CSWE[5]或CSWE[6]将FIFO芯片复位,使其读指针和写指针都指向第一个物理存储地址。在QuartusⅡ上设计的A/D采样及FIFO控制模块原理图程序如图6所示。

e.JPG


CPLD硬件控制逻辑设计的关键是分析各个器件的工作时序和采样保持时间,A/D转换时间以及数据存入FIFO的时间等。在设计的时序处理进程中,要根据CPLD的工作频率计算各个等待周期,等器件准备好以后才能进行下一个处理。

5 结语
采用CPLD和FIFO器件设计了一种基于PC/104总线的高速数据采集卡,它可以作为PC/104总线标准模件使用。该采集板上的大部分控制逻辑被集成到CPLD芯片中,大大减少了扩展卡上的器件数量,同时降低了系统成本,提高了系统的可靠性。该数据采集板非常适合搭建高密度、小体积的便携式测试设备,可广泛应用于武器控制系统的测试等多种场合,对控制系统的模拟量信号进行快速、实时的数据采集和分析。

1 2 3

关键词: 高速数据 采集 卡的设计

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版