原创 USB数据采集卡制作

2010-3-29 16:24 3223 1 5 分类: FPGA/CPLD

已经摸了几天了,取得了一些进展。


总体方案:AD→FPGA→USB芯片→PC,FPGA负责AD采样控制、内置FIFO完成数据异步传输,USB芯片用CY7C68013。


FPGA设计步骤:


1,写FPGA:ROM→FIFO→RAM传输控制程序,检验FIFO读写的正确性。已通过。


2,写FPGA:AD→FIFO→RAM传输控制程序,检验AD采样及FIFO读写的正确性。已通过。


3,写FPGA:ROM→FIFO→CY7C68013,即CY7C68013的slave FIFO模式控制程序。这个过程需要上位机程序。正在着手。


4,AD→FIFO→CY7C68013→PC联合调试。等待着手。


遇到的问题:


1、昨天AD调试时连接线高低位倒序接/时钟输出引脚分配错误,结果苦调半天得不到正确结果!


2,AD→FIFO→RAM,用SignalTAP Logic Analyzer观察RAM输出的波形发现,有若干个周期AD的最高位(D7)错误(1变为0),导致该处波形凹陷。原因尚不明。

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户1577559 2010-11-16 16:40

楼主,你的USB 采集卡做的怎么样了?可不可以卖给我一只啊? radarmw@gmail.com

用户257387 2010-4-1 15:54

问题在于你是也20M速率写入了USB芯片,但是USB芯片能不能立即把数据发给上位机。而USB通信是需要上位机向你的USB设备要数时,你的USB设备才能够将数据发送出去。所以后来你的数据采集卡的性能也取决于上位机软件的性能。 用于windows操作系统的数据采集卡一般要有20ms的数据缓冲吧。 讲的不定准确,交流提醒下楼主。

用户1566655 2010-3-29 16:09

谢谢提醒! 如果12位AD以1M的采样速率进FIFO,FIFO另一端以20M速率将12位并行数据写入USB芯片,这样的话,出FIFO速度大于进FIFO速度,即使FIFO深度较小(比如256*12)应该不会有问题吧? 第一次做这,多多指教!!

用户257387 2010-3-29 14:03

楼主要注意上位机程序读取usb数据的速度会影响usb数据采集卡的速度,fifo太小的话,缓冲时间不够。而上位机如果小卡一下就来不及向USB要数据,采集卡就发生数据覆盖等问题哦
相关推荐阅读
用户1566655 2010-08-07 22:40
Altera FPGA 型号含义
cyclone系列:EP1C6Q240C81c是cyclone 1,是一个系列6代表6000个逻辑单元q是QFP封装240是引脚c8是速度cycloneIII系列:cycloneIIILS系列:...
用户1566655 2010-07-26 18:36
不可小视的状态机
终于找到了数字时钟程序lcd显示屏周期性暗灭的原因!状态机中Write_Data_Clock状态下,输出给LCD屏的数据总线DB8的输出值没有给出!原来错误的程序如下:[ 仿真波形如下:可以看出,在W...
用户1566655 2010-07-20 21:13
(转)跨时钟域数据采集总结
作者:左左右右原文:跨时钟域数据采集总结一.典型方法二.结绳法 1.结绳法1:利用数据的边沿作时钟(例子中上升沿)。(可以将脉冲无限延长,直到可以采集到数据,然后复位,要考虑产生数据的频率)。  实例...
用户1566655 2010-07-20 10:52
(转)如何設計乘加電路? (SOC) (Verilog) (MegaCore)
原文出处(真 OO无双):http://www.cnblogs.com/oomusou/archive/2008/10/11/verilog_alt_multadd.htmlAbstractz = a...
用户1566655 2010-04-03 11:20
用SignalTapII测量时钟频率
用SignalTapII测量时钟频率<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />...
EE直播间
更多
我要评论
4
1
关闭 站长推荐上一条 /3 下一条