基于USB2.0和DDR2的数据采集系统设计
当下行发出数据时, 从DDR2的125 M×128bit到50 M×8 bit所需要的最小深度为32×8 bit, 因为从SDRAM中读数据的最大延迟是26个DDR2时钟周期(即208 ns),而将DDR2读出的128 bit发出则需要16个时钟周期(即320 ns),因此, 为了保证发出的数据可连续进行乒乓操作, 需要2×128bit的深度。同理,在上行数据从DDR2的125 M×128 bit到USB的30 M×32 bit则需要4×128 bit深度,因为USB时钟读完128 bit数据需要133.2 ns, 小于SDRAM 读数据延迟的208 ns,因此, 每次从SDRAM中读2×128 bit数据时, 其乒乓操作就至少需要4×128 bit深度。
3 系统的改进
本数据采集系统对传统的数据采集系统做了创新型改进。改进主要是三个方面: 一是对数据采集的深度实行可配置模式; 二是在功能上不仅作为数据采集系统,还能作为数据发生器, 即将采集到计算机上的数据通过数据采集系统发送出来; 三是该数据采集系统有两种工作模式, 即普通采集模式和触发采集模式。
深度可配置增加了系统在使用过程中的灵活性。该系统除了采集数据外, 还能将数据发出来用于芯片的FPGA原型验证,从而避免了缓慢的大数据量仿真, 更增强了系统的实用性。通过ESFR配置8 bit的深度寄存器可实现以16 MByte为单位的深度调节。触发是数据采集系统不可缺少的功能, 因此,该数据采集系统分为普通采集模式和触发采集模式。触发采集模式的原理如图4所示。在触发模式中, 可将SDRAM看做一个圆形的循环存储器, 触发前后的采集深度同样也可以通过ESFR配置,从而实现触发前后的采集深度比例可调。
触发实现机制原理图
图4 触发实现机制原理图。[next]
4 FPGA实现
FPGA在系统设计中具有很好的灵活性和可扩展性, 因此, FPGA是一个非常好的系统实现平台。通过对数据采集系统的资源*估, 可得出如表1所列的资源占用结果。
表1 FPGA的资源占用情况。
FPGA的资源占用情况
本系统最终选择了Xilinx 公司的FPGA器件Virtex5 LX30。由于DDR2 SDRAM控制器是Xilinx公司的IP核, 故在系统的集成和实现过程中不可避免的要对原IP核进行改动, 同时, 在ISE中布局布线时, 相应地要对原有UCF文件中的约束进行修改, 以满足时序要求。本系统除USB2.0的PHY和SDRAM外, 其余部分均由FPGA实现,图5所示是系统在计算机上的操作界面和实物图。
操作界面和FPGA实物图
图5 操作界面和FPGA实物图。
5 结束语
该系统最终可在FPGA上实现,因为用FPGA实现具有极大的灵活性和可扩展性,并且在系统设计成本和快速实现上具有很好的竞争优势。目前, 该数据采集系统在实际运用中效果良好。实际上,若对采集接口稍加改进, 并将IF模块中的乒乓缓存改为异步FIFO,就能广泛地应用于各类高速系统的实时数据采集。
- 基于PCI-9846H的死区时间引起的电压波形畸变的研究(11-10)
- 基于FPGA的RS232异步串行口IP核设计(02-09)
- 一种多处理器数据采集系统方案(03-24)
- 基于MSP430和USB的数据采集系统(04-14)
- 基于LabVIEW的光谱数据采集与分析(02-12)
- 史上最牛:一款高性能低功耗数据采集系统的设计详解(07-22)