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控制,写时钟与采样时钟同步,读