新闻中心

EEPW首页>测试测量>设计应用> 基于CY7CO9449的高速PCI数据采集卡设计

基于CY7CO9449的高速PCI数据采集卡设计

作者: 时间:2010-09-01 来源:网络 收藏


A/D控制模块产生A/D器件的控制信号,从A/D读取数据,然后写入FIFO。AD控制模块的功能相对比较简单,也比较容易实现。
因为在数据采集的过程中A/D采样速度数据是固定的,但是数据传输有时速度很快而有时因为等待出现短时的阻塞。所以必须要有FIFO来缓冲采集的数据。FIFO模块是用Quatus6.0的向导生成的,只需要设定有关参数即可。FIFO的写入和读取使用同步接口逻辑,FIFO的存储宽度是32位,其深度是512。
局部总线控制模块从FIFO中读取数据然后写入C0的SRAM中。C0的局部总线支持同步数据传输,虽然它也兼容异步数据传输,但FPGA的局部总线控制模块选用了同步数据传输逻辑,因为这样可以获得更高的数据传输速度。C0的局部总线支持最高的时钟速度是50MHz,一次同步的突发数据传输在给出读或写的起始地址之后,每个时钟周期可以传送一次数据。CY7C09449局部总线的数据总线宽度是32位,这使得局部总线的最高传输速度达200Mb/s。
在CY7C09449的局部总线上,FPGA处于类似于微处理器的地位,控制着局部总线数据传输的主动权。FPGA的逻辑设计中,局部总线控制模块的逻辑设计是获得高速数据传输的关键。同步数据传输要比异步数据传输的逻辑复杂得多。在局部总线控制模块的逻辑设计中使用了状态
机,其设计的关键在于状态机的状态的定义和在各种条件下状态的转换。为了简单起见这里不对多块数据传输控制、中断信号产生逻辑作讨论而只介绍传送一个数据块的逻辑。
状态机共定义了7个状态,各种状态的转换关系见图3。

5c.jpg


在论述状态机的工作过程之前,先就影响状态机状态转换的一些信号作说明。
Reset信号就是CY7C09449的引脚RSOUTD输出的信号,它由低到高的转变将启动FPGA进行一次数据采集。
FifoEmpty信号是由FIFO模块提供的,用来指示FIFO是否为空,它为1时表示FIFO是空的,没有数据要传输,否则表示FIFO内有数据等待传输。
RdyOut信号是CY7C09449的引脚RDY OUT提供的信号,它用来指示CY7C09449的局部总线是否准备好数据传输。当RdyOut为高电平,表示CY7C09449的局部总线已经准备好数据传输,反之表示CY7C09449的局部总线未准备好数据传输。
Last信号是用来指示将要写的数据是否为本次突发传输要写的最后一个数据。这个信号由局部总线控制模块内部产生。局部总线控制模块内部有一个计数器,当准备一次突发传输的时候,就将要传送的数据长度放入这个计数器内,每传送一个双字数据计数器的值就减去1,当且仅当计数器的值等于l的时候Last就为高电平。



关键词:94497COCY7PCI

评论


相关推荐

技术专区

关闭