USB接口的传感器与存储器在数据记录中的实现
数据记录应用
第一个应用实例显示了一个MCU控制器和一个带有两个端口的FTDIVNC1LUSBHost控制器:一个用于数据传感器件读取信息,另一个用于闪存盘以存储信息。MCU和USBHost控制器之间通过UART(或者SPI)命令监控接口进行通信,可使应用通过简单的命令集控制USB设备。
这里选择的MCU是MicrochipPICDEM4演示板上的PIC18F1320,虽然它应该直接连到PIC系列其他成员以及其他MCU系列。 MCU和VNC1L之间采用4线连接(再加上电源和地),连到PIC的EUSART(Tx和Rx)和两个I/O端口,以进行RTS/CTS数据流控制。另外,4线SPI端口还可以通过直接位拆裂I/O端口实现。下面提供了两种方法的C语言源代码。
MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。微控制器在经过这几年不断地研究,发展,历经4位,8位,到现在的16位及32位,甚至64位。产品的成熟度,以及投入厂商之多,应用范围之广,真可谓之空前。
该应用要求从一个DLPDesign的DLP-TILT2轴倾角传感器读取数据,然后以CSV格式将接收到的数据存在USB闪存盘上。当DLP-TILT 模块从USB总线接收到一个包含字母"z"的OUT数据包后,就会对传感器电流读数进行采样,倾角传感器读数被一个IN数据包读取。通过VNC1L监控器,OUT数据包可以和DSD(设备发送数据)命令一起发送,后面跟着数据字节数和发送的数据。IN数据包和DRD(设备读取数据)命令一起被接收,VNC1L将返回字节数和从设备读出的所有数据。
由于USB需要将数据传递到数据包中,所以通常USB设备会有几个毫秒的延迟,尽管这可以通过对传感器数据提供更大的缓冲加以解决。当然,有些设计可能不需要USB传感器件而只是将数据存储到闪存盘上,在数据采集应用中通常都是这种情况,此时MCU采样模拟数据或者记录外部源传来的数据。由于无需探查 USB设备,因此这样可以得到更高的采集数据率。
数据采集应用
此例中我们还是使用MicrochipPICDEM4演示板上的PIC18F1320作为MCU.加速计模块是意法半导体的STEVAL- MKI010V1,它连到PIC的模拟输入端。PIC定期对该输入进行采样,结果送入FIFO缓冲器中,在软件中执行,然后由VNC1L写入存储设备。
VNC1L监控器提供命令对USB闪存盘文件进行读写,它还有命令管理文件系统,可对文件及文件目录进行建立、重命名以及删除操作。
有了与USB设备进行通信的命令后,文件系统命令使用非常简单。将数据写入文件的顺序是:使用OPW(打开准备写入)命令,后面紧跟文件名,然后是WRF(写入文件),后面是写入字节数,然后是CLF(关闭文件),后面还是跟着文件名。
USB闪存盘的标准扇区大小是512字节,因此要达到最好效果就是在写入USB闪存盘之前提供512字节数据的缓存。USB闪存盘通常使用的文件系统是 FAT12、FAT16或者FAT32,在这些系统中簇按需分配,这样当簇没有按顺序排列时可能造成一些小的延迟,然而这通常只是在那些内容快满的盘上比较常见。
USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB接口可用于连接多达127种外设,如鼠标、调制解调器和键盘等。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之一。
使用Vinculum
几乎所有扇区容量为512字节和采用FAT文件系统的USB闪存盘都可以作为VNC1L的存储设备。VNC1L的固件可以在现场进行升级,通过USB闪存盘上特别的升级文件或者通过其UART接口进行ROM升级。基于VNC1L设计的其它优点是当USB闪存盘没有使用时它可以使其暂停以省电,而在执行文件操作期间自动唤醒,VNC1L本身也可进入低功耗睡眠模式并由微控制器应用唤醒。将USB设备协议及文件管理系统放到一个单独的IC上可为嵌入式数据记录或数据采集系统设计带来很多好处,它可使低功耗8位和16位。
评论