分类:
2008-10-15 13:50:36
目前市场上有很多种数据采集设备可用于在PC上记录数据,如National Instrument的LabVIEW,不过这类设备的传感器件开始越来越多地采用USB接口而不是RS232或其他传统接口。
过去在系统中应用USB设备需要性能相对较强的硬件,要带有USB Host控制器接口、RTOS以及USB软件驱动,结果因USB Host功能实施成本的原因设计工程师一直都不太愿意在小型8位或16位MCU系统上增加USB设备。但随着最新一代智能USB Host控制器IC的推出,与MCU配合使用不仅可为PC应用使用USB数据采集设备,而且还可将数据在低成本高容量的闪存盘上。
数据记录应用
第一个应用实例显示了一个MCU控制器和一个带有两个端口的FTDI VNC1L USB Host控制器:一个用于数据传感器件读取信息,另一个用于闪存盘以信息。MCU和USB Host控制器之间通过UART (或者SPI)命令监控接口进行通信,可使应用通过简单的命令集控制USB设备。
应用原理框图见图1。这里选择的MCU是Microchip PICDEM 4演示板上的PIC18F1320,虽然它应该直接连到PIC系列其他成员以及其他MCU系列。MCU和VNC1L之间采用4线连接(再加上电源和地),连到PIC的EUSART (Tx和Rx)和两个I/O端口,以进行RTS/CTS数据流控制。另外,4线SPI端口还可以通过直接位拆裂I/O端口实现。下面提供了两种方法的C语言源代码。
该应用要求从一个DLP Design的DLP-TILT 2轴倾角传感器读取数据,然后以CSV格式将接收到的数据存在USB闪存盘上。当DLP-TILT模块从USB总线接收到一个包含字母“z”的OUT数据包后,就会对传感器电流读数进行采样,倾角传感器读数被一个IN数据包读取。通过VNC1L监控器,OUT数据包可以和DSD (设备发送数据)命令一起发送,后面跟着数据字节数和发送的数据。IN数据包和DRD (设备读取数据)命令一起被接收,VNC1L将返回字节数和从设备读出的所有数据。
由于USB需要将数据传递到数据包中,所以通常USB设备会有几个毫秒的延迟,尽管这可以通过对传感器数据提供更大的缓冲加以解决。当然,有些设计可能不需要USB传感器件而只是将数据存储到闪存盘上,在数据采集应用中通常都是这种情况,此时MCU采样模拟数据或者记录外部源传来的数据。由于无需探查USB设备,因此这样可以得到更高的采集数据率。
数据采集应用
[1]