2024年3月12日发(作者:)
基于USB和DSP的数据采集系统的设计
介绍了一种利用USB2.0的高速传输特性,基于USB和DSP的数据采集系统。详细
论述了系统的总体结构、部分硬件设计,并简要叙述了相应固件程序的实现。
测量仪器一般由数据采集、数据分析和显示三部分组成,而数据分析和显示可以由
PC机的软件来完成,因此只要额外提供一定的数据采集硬件就可以和PC机组成测量仪器。
这种基于PC机的测量仪器被称为虚拟仪器[1]。而在一些数据量比较大、采集时间比较长
的场合,就需要采用高速的数据传输通道。基于虚拟仪器的思想和高速传输通道的要求,
设计了一种基于DSP和USB2.0的高速数据传输接口。
1 数据采集系统硬件
数据采集系统由A/D数据采集单元、USB从接口单元、U盘读写单元组成。硬件原
理图如图1所示。被测信号经A/D转换后写入FIFO中;当FIFO数据半满后,产生中断,
通知DSP进行数据压缩处理;DSP把压缩好的数据依次写入USB接口芯片的4个从FIFO
中,4个从FIFO对应USB的4个端点,DSP一边写入数据,已写满的从FIFO就一边通
过相应端点由SIE把数据发送到上位机,上位机一边把收到的数据通过多线程存储到硬盘
中,一边把数据解压并把波形实时显示出来。对于少量的数据,可以存储到U盘,送回PC
机进行分析显示。
1.1 A/D采集模块
作为单通道输入的MAX1189,主要控制信号有CS、R/C(Read/Conversion)、
EOC(End of Conversion)。图2为MAX1189的时序图[2]。
如图2所示,每个采样周期长达CS信号的三个周期。在第一个CS信号的下降沿,
如果R/C为低电平,也就进入了应答模式,这是开始采样前必须的准备工作。为了适应不
同的输入极性要求,MAX1189的内部参考电压可以在每次转换结束后进行设置,这是通
过在第二个CS下降沿时,R/C的高低电平变化来控制的,非常简便。低电平时,ADC内
部参考电压无需进行转换,这样在开始下一个周期的转换时无需等待电压的变化。高电平
时,内部参考电压会进行调变,这样在开始下一周期的转换时需要等待大约12?滋s的时
间。在CS信号的第三个下降沿,EOC信号变为低电平,表示采样结束,此时R/C信号为
高电平,会把采样数据放到总线上,这样就完成了一个周期的采样。采样模块的控制信号
是由FPGA控制的。
1.2 DSP与FIFO的连接
主处理器DSP既要控制采集,又要完成数据的处理和传输,因此数据采集模块采集
来的数据不能直接传送给DSP,这会极大影响DSP的处理效率。解决办法是利用数据缓冲
器如双口RAM、FIFO等,对数据进行适度缓存,当缓存的数据量达到一个设定值时,可
以通知CPU进行一次高速数据传输,将缓存的数据一次性地读入。在设计中采用了缓冲,
较好地解决了采集端与处理端的速度匹配问题。
FIFO的读写由各自的控制时钟FIFOR和FIFOW控制,写时钟与采样时钟同步,读


发布评论