在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12631|回复: 35

[原创] 数据采集卡的实现!!!

[复制链接]
发表于 2013-3-20 20:45:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 shiyinjita 于 2013-3-20 20:51 编辑

经过了接近一个月的时间,终于调试完成了8通道的数据采集卡,在这里简单的说一下数据采集卡的FPGA实现过程。首先确定方案  ->
数据采集卡实现为 AD数据 -> FPGA接收->DDR2(2片)->arm显示。
其中整体方面 ,因为受DDR2内存的限制,所以为了提高采集数据的长度,所以可以自由配置8 ,4,2,1通道,这样就可以保证在1通道时候,独占内存,2通道的时候平均分配内存,这种设计思路可以整体上提高采集长度。
               2 :在DDR2方面,有两种方案可以选择,平均分配内存或者拼接的数据存储到DDR2中,在8,4通道的时候,平均分配虽然可以提高读取的速率,但是跳转BANK导致了刷新时间浪费了很多,同时为了操作方便,采用了通道数据拼接然后存储到DDR2中。
                3 :因为ARM有选择的读取某一通道的数据,所以必须准备的选择好正确的数据,这样就必须在拼接的时候,记录下每个通道的位置,这个位置与上位机发送的通道对比,哪个AD位数为1,就保留哪个AD位数的数据。
               4 : 关于触发,因为DDR2最小burst为4,两片DDR2就是8,在8个通道拼接的时候,每个触发能准确的对准每个数据,所以触发的误差就是 +-1 ,这个1的误差是由于触发和时钟的差导致的,在数据采集卡中可以不用考虑,而4ch的时候,由于拼接的数据中含有4 *2 个数据,这样就会导致触发抖动就是1 (+-1) ,而在1个通道的时候,触发误差就是7 (+-1) ,所以FPGA必须准确的记录下触发误差,当误差为0的时候,按照采样个数进行采集,而当误差 >=1的时候,FPGA就需要多读一个burst,然后丢掉前面的误差数据,以及后面多余的数据,这时候剩下的数据就是正确采集的数据(针对单次)
             5 :关于触发,连续模式情况下,与上面情况一下,必须准确的记录好trig位置,在这里不再详述。
             6 :关于采集个数,因为上位机发送的是触发前和触发后的个数,所以在8ch的时候为这个数据的 n*8/2 ,4通道为N*4/2。。。。。
             7 :关于复位,我采用的SP6的DDR2,因为没有复位fifo机制,所以必须在每次采集之前都必须读空FIFO数据。
以上就是FPGA采集的过程,
           下一步就是在FPGA中做运算,包括平均值,最大值,最小值,FFT等算法。写完后进行分享


                                                                                                                                          动静道人-2013-03-20
发表于 2013-3-21 13:01:47 | 显示全部楼层
吉他,关注中。。。
发表于 2013-3-25 21:22:45 | 显示全部楼层
楼主真牛人啊,一个月就调通了?是包括软硬件么
 楼主| 发表于 2013-3-26 22:19:16 | 显示全部楼层
回复 3# windlx 单纯的FPGA程序,算法部分还没有做完
发表于 2013-3-27 10:21:27 | 显示全部楼层
吉他,
我顶你,以后多分享一些啊
笛盎
发表于 2013-4-11 19:35:14 | 显示全部楼层
关注一下
发表于 2013-4-13 20:37:29 | 显示全部楼层
吉他哥很厉害呀
发表于 2013-4-14 00:10:27 | 显示全部楼层
等待下文~~支持楼主~~~
发表于 2013-6-22 17:32:48 | 显示全部楼层
回复 1# shiyinjita


   关注你很久了! 才知道你叫吉他哥啊!!!帮顶了!!!
 楼主| 发表于 2013-6-25 07:44:38 | 显示全部楼层
回复 9# 574920045


   ,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 08:37 , Processed in 0.034975 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表