ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2440回复:20

如何在PCI9054数据采集卡中实现缓存的逻辑转换

楼主#
更多 发布于:2003-06-05 16:35
我要做一个高速的数据采集卡,但是,高速率的数据采集系统在采集数据流时,有数据丢失问题,导致采集后的数据流不完整,要想稳定可靠的采集数据流,采集卡上必须要大小合适的缓存,现在的数据流是1.25MBb/s.我采用9054片子,想用FIFO器件,在9054和FIFO之间怎么去实现它们之间的逻辑转换。也就是怎么去实现数据流的逻辑转换。请高手不吝赐教!谢谢了!
急切盼望中!!!

最新喜欢:

jackywangwenjackyw...
imagewxg
驱动小牛
驱动小牛
  • 注册日期2003-05-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-06 08:11
用一片EPM7128ATEC100-5的片子
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-06 09:05
谢谢!有问题还望多指教!
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-06 09:20
我刚才查了,没有EPM7128ATEC100-5这个型号啊,是不是EPM7128AETC100-5呀?
imagewxg
驱动小牛
驱动小牛
  • 注册日期2003-05-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-06 12:45
YES
SORRY!
flyingcowboy
驱动牛犊
驱动牛犊
  • 注册日期2002-10-23
  • 最后登录2004-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-09 09:28
如果是16位或者8位的FIFO就必须把地址用FPGA锁一下,32位的就不用,我用过8BIT*64K的同步fifo,和36BIT*128K的异步双口RAM,控制信号都直接接的很简单,推荐用双口IDT70V659S-10,已经实现20MBYTE/S寄盘,普通7200转ATA100硬盘
qizhi
驱动小牛
驱动小牛
  • 注册日期2001-10-18
  • 最后登录2017-07-31
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2003-06-09 15:22
如果选用同步FIFO一定注意时序,如果一时想不明白,最好全部将管脚连到CLPD或者FPGA去,以便调试时实际测试。我前几天刚刚调了9054与同步FIFO。异步FIFO就简单了。
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-06-10 19:42
多谢大虾提携!我正在做方案呢,用双口RAM成本低,用FIFO控制简单一些,给单位做设计我就不考虑成本了,嘻嘻!现在是时间紧任务重还要应付繁重的节点汇报,所以能省点事就省了!欣喜大虾体调通了
9054与同步FIFO,恭喜了!希望你在调试异步FIFO时,同样能顺利通过!将来我定会有许多不懂之处请教呢!多交流,谈谈贴会,愿我们
都能天天进步,与时俱进:)
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-06-16 12:01
请问大虾你用的同步FIFO是16为的吗,我选的是16位的,你用的是什么型号?谢谢!
qizhi
驱动小牛
驱动小牛
  • 注册日期2001-10-18
  • 最后登录2017-07-31
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2003-06-16 14:19
是16位的,FIFO型号为IDT72V255LA,与此管脚兼容的有265/275/285等。但是我是将两个16位拼成一起作成32位,分别写,一起读的。
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-06-16 15:49
哦,谢谢,我看了IDT72V255LA,我做的数据采集卡以12位的AD进行采样,1.25M/S的采样速率,如果用此8KFIFO的话会不会有大材小用之嫌,请问大虾是在多大的传输速率下选用该FIFO的?谢谢!
qizhi
驱动小牛
驱动小牛
  • 注册日期2001-10-18
  • 最后登录2017-07-31
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2003-06-17 10:17
<我看了IDT72V255LA,我做的数据采集卡以12位的AD进行采样,1.25M/S的采样速率,如果用此8KFIFO的话会不会有大材小用之嫌>
我的采集速度是40MSPS,但是,不是所有数据都存储,只有过阈值的数据才保存。数据流大概也就几M。
选择FIFO的容量主要考虑不丢失数据,记住:FIFO不能增加输入输出系统的数据通过率,只能作为缓冲和方便配合时序用,如果输出输出速度差太大且长期实时采集,则再大的FIFO也无济于事。
如果1.25M/S的采集速度,12位如果采用32位总线可以每两个采样拼成一个32位数据,速度相当于32位的0.625M/S,如果用16位总线则仍然保持1.25M/S;速度是否满足实时采集的要求主要取决于你采用DMA、主方式、从方式,操作系统,以及是否有其他线程存在。这些都是影响速度的因素。一般说,9054完成上述工作如为DMA方式没有问题。从方式则受影响的因素更多,但只要其它任务不非常重,问题不大。
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-06-17 22:32
我决定选用IDT72V235,因为采集部分用的DSP是3.3V供电,加之9054是3.3V内核,所以采集卡的芯片我打算全部选用3.3V供电的,现在不知9054和FIFO之间的CPLD的选择有何要求,当然最好是3.3V的了,对于CPLD的选择请大虾在指点一二!多谢!!
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-06-17 23:59
ALTERA公司和XLINX公司都有的。主要看可用的I/O管教数、响应时间等。我用的是XLINX的XC95144XLTQ100,它是3。3V的
qizhi
驱动小牛
驱动小牛
  • 注册日期2001-10-18
  • 最后登录2017-07-31
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
14楼#
发布于:2003-06-18 10:33
3.3V的CPLD似乎是主流,yunyanrong说的对,还有,LATTICE也有,而且大多3.3V的CPLD允许5V输入。主要考虑你的逻辑规模和速度、封装等。
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-06-19 15:20
我把FIFO芯片选定为IDT72V235,18位的,在读他的英文资料中有不懂之处,FL、RXI、WXI三个管脚在不同的0、1组合下,有多种模式供选择。搞不明白的是FIFO中的同步、异步指什么呀?还有就是缓冲器的Single和Double个是怎么回事啊?恳请大虾赐教!谢谢!
qizhi
驱动小牛
驱动小牛
  • 注册日期2001-10-18
  • 最后登录2017-07-31
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
16楼#
发布于:2003-06-19 19:36
异步FIFO操作相对简单,一般写操作只需要一个信号,而读操作一般也只有2个信号,R和OE信号。但异步FIFO的速度比较慢。
而同步FIFO的操作则需要较多的信号,一般数据操作在时钟的沿和选通信号上同时起作用。所以,其控制比较麻烦,但是FIFO可以达到较高的速度。
缓冲器的问题我没有注意,请仔细看看手册。
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-06-19 23:32
在大虾的指点下,我对FIFO的理解正逐步深入,多谢!还有一个问题,写FIFO的时钟WCLK和读FIFO的时钟RCLK,可以不用同一个时钟源吗,要是可以用不同的时钟,有特殊的什么要求吗?
qizhi
驱动小牛
驱动小牛
  • 注册日期2001-10-18
  • 最后登录2017-07-31
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
18楼#
发布于:2003-06-20 00:29
我认为235LA和255LA(注意尾缀LA和L不一样,时序有差别)应该时序一样,但是我没有比较过,应该一样。如果这样的话:
1、RCLK和WCLK完全可以用一个,也可以用不同的时钟;
2、如果设计中需要用EF、FF、HF、PAE、PAF等信号作为其它的实时(注意!此处实时,软件无法干预的意思)控制信号,例如请求DMA(我就是这么用的)等情况,一定注意RCLK、WCLK对上述标志信号的影响。具体我忘了,请查看手册时序,大概是上述几个信号中有的信号在RCLK、WCLK处于一定关系时会导致额外的延时,当然,这些延时不一定对你的设计产生致命的影响,但是需要注意。具体请仔细看时许图和参数表的nS数据。
ljfhch
驱动牛犊
驱动牛犊
  • 注册日期2003-06-03
  • 最后登录2003-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-06-21 14:44
不和IDT72V255LA一样,只IDT72V235L有尾缀是L的,没有LA的。谢谢大虾指点,我好好研究一下IDT72V235L的时序!
上一页
游客

返回顶部