USB3.0高速数据采集系统,以其5Gbps的带宽和即插即用等优越的性能,越来越受到人们的重视。目前常用的USB3.0通信芯片主要有来自美国赛普拉斯(CYPRESS)公司开发的EZ USB FX3系列芯片和日本NEC公司开发的uPD720200系列芯片。二者不仅都具有集成度高、功能强大、兼容USB2.0等优点,而且两个厂家都提供了功能强大的开发工具包,能极大缩短开发周期,而深受开发者喜爱。目前一些采集系统采用传统的51系列单片机为主控芯片,则不能充分发挥USB3.0的带宽,性能不佳。虽然CPLD芯片可以工作在很高的频率,但不及单片机灵活易用,故本文采用美国TI公司最新高速的ADS7886芯片为A/D转换芯片,最新的MSP430单片机作为主控芯片,NEC公司的UPD720200作为USB3.0通信芯片,研究和设计了一套基于USB3.0总线的温度数据采集系统。经测试,本系统能实现高速温度数据采集。
1 系统硬件设计
系统总体框架如图1所示。温度传感器采集的信号经A/D转换芯片ADS7886转换为数字信号后,送入主控芯片MSP430,再经处理后发送到USB3.0主机接口芯片uPD720200,最后数据以5Gbps的速度送入到USB主机。
1.1 A/D模块
该模块使用美国TI公司最新高速的A/D采样芯片ADS7886。ADS7886是12位串行高速精密A/D芯片,为了提高系统的精度,我们设计采用了REF3030芯片提供3V的基准电压。A DS7886的第3脚为模拟信号输入端口,第4脚为1MHz的工作时钟信号输入端口,第6脚为片选信号端,第5脚为模拟信号转换为数字信号后的输出端,供MSP430单片机读取。
1. 2 MSP430最小系统模块
MSP430的最小系统如图3所示,主要由MSP430单片机、晶振电路和电源构成。其中P1.4为ADC7886串行数据输入端,P2.0~P2.3用于连接USB3.0通信芯片uPD720200,P1.6和P1.7连接两个LED指示灯,用来显示当前的工作状态。
1.3 USB传输模块
该模块如图4所示,我们选用了NEC公司的uPD720200作为USB3.0通信芯片,其完全遵循USB3.0的通信协议和接口规范。uPD720200的引脚U3TXDP1、U3TXDN1、U3RXDP1、U3 RXDN1分别与MSP430的引脚P2.0~P2.3连接。
其工作原理如下:采集数据时,uPD720200收到用户的数据采集请求后,将形成相应的控制信号,通过P2.2、P2.3下传递给MSP430;MSP430随后对ADS7886发出采集数据的控制信号,并将ADS7886采集的数据,通过P2.0、P2.1后上传至uPD720200;uPD720200的SIE(串行接口引擎)再将数据送入指定的接收缓冲区内,供USB上位机读取。
2 系统软件设计
系统软件的开发包含了MSP430和uPD720200的固件程序开发、uPD720200的windows驱动程序开发以及USB上位机应用程序的开发。我们可以利用NEC公司提供的开发包,大大缩短开发周期,提高开发效率。
MSP430固件程序主要完成对A/D芯片ADS7886的控制和对uPD720200芯片的通信,其将ADS7886芯片采集的数据传送给uPD720200。MSP430的固件开发需对相应的引脚和时序进行定义,为此我们采用了C51语言编写,开发环境为Keil uVision4.0。uPD720200固件程序的主要功能是让其将MSP430芯片传来的数据传输到上位机,实现超高速数据传输。uPD 720200完全符合USB3.0协议,固件程序主要为设置与操作其内部的控制寄存器。NEC公司为开发者提供了功能强大的uPD720200 SDK开发包,可以非常方便地开发出其固件和Wind ows驱动程序。在上位机的应用程序的开发方面,NEC公司同样为用户提供了相应的操作简单、功能强大的C++编程接口库函数。我们选用了Microsoft Visual Studio2008作为开发工具,通过相应的库函数与设备驱动程序传递数据,实现了实时数据采集功能。
3 总结
本文详细介绍了采用uPD720200为接口USB3.0芯片、MSP430为主控芯片,设计与开发了一套USB3.0温度采集传输系统。NEC公司为uPD720200提供了完整的SDK开发包,缩短了开发周期。我们采用的MSP430系列单片机在25MHz晶体的驱动下,实现40ns的指令周期,再加上16位的数据宽度,其运算速度相对传统的51系列单片机非常快,能充分发挥USB 3.0的带宽。虽然受ADS7886芯片采样速率的影响,没有实现超速数据采集,但MSP430与uPD720200组合无疑是高速数据采集系统开发方面的一种低价高效的优秀方案。