FPGA数据采集及存储问题
请教大家,FPGA数据采集中想把采集到的数据暂存在板子上,是选什么样的存储器比较合适,sram怎么样? 回复【楼主位】favourite-----------------------------------------------------------------------
要看你数据采集的速度\数据量 ad的采样率是600ksps,采样时间大概15ms,麻烦大侠们赐教 要存多少数据?较小量可以FPGA片上RAM存,多一点就用SRAM ,再多一点就用SDRAM
你的速率不快,不必用DDR了! 可以使用FIFO,SRAM,SDRAM,如果如你所说600K采样频率,采样时间15MS,那么每次采集数据量为600*15/1000=90kbs,用FIFO或SRAM即可,但FIFO相对难于控制,SRAM程序相当简单 sdram稍微麻烦点,容量不大就sram吧。 回复【4楼】msdy
-----------------------------------------------------------------------
谢谢各位热心回复,还有一个问题请教下,AD采样出来的12位并行数据如果直接存到sram里面可行不?看到一些论文和资料里面都喜欢在存储器(sram)和AD之间加一个内嵌的双口ram或者fifo啥的作为缓存,但是如果我直接存sram,应该ad的输出速率跟sram的写入速率可以做到匹配,那还有必要缓存吗?
麻烦大家了!!! SRAM可以直接写,但是如果有收发两个FIFO,能充分利用传输带宽,快速的存数和取数据 回复【7楼】888888888888
-----------------------------------------------------------------------
您的意思是在sram读取、写入数据分别加一个fifo?而不要双口RAM? 因为你数据通常是顺序存取,所以FIFO可以了,且不用控制内部地址线,方便 回复【9楼】888888888888
-----------------------------------------------------------------------
恩,谢谢!再次请教下,1:AD输出的12位数据,通过FIFO应该可以转成16位的。这个转的过程需要编程吗?
2:数据存储到sram里面后,之后就是通过uart串口传到pc,这个过程对速度要求不高,应该不需要加读出的FIFO了吧? 1:不用处理,直接忽略4条线
2:如果你输出时停止了采集,不用FIFO是可以的 不需要编程,高四位或者第四空出来留一个固定值就行了(0或1)
照你的数据量(90kbs)算,串口完全可以实现,数据过一个FIFO后直接上发就行了,不需要再存到RAM里面了。 楼上意见对,不用外部SRAM 回复【12楼】y595906642
-----------------------------------------------------------------------
数据过FIFO后直接上传的话,按照单次采集的数据量(600ksps*15ms/1024=9k),故FIFO的设置应该为输入:宽度12位(因为AD输出12位)*深度9k;输出因为要想通过nios与pc通信,因为nios是32位的微处理器,那样的话,FIFO的输出是不是应该设置为32位的?
如果是这样,必定存在数据拼接与裁剪的问题,该如何解决?
页:
[1]