实际设计中ATmega32与CH375接口部分的原理图如图2所示:
4 系统软件设计
USB大容量存储设备软件结构示意图3所示:
一般情况下,单片机或嵌入式系统处理USB存储设备的文件系统需要实现图3左边的几个层次,右边是USB存储设备的内部结构层次。由于CH375不仅是一个通用的USB-HOST硬件接口芯片,还内置了相关的固件程序,简化了外部编程。内置固件包含上图左边的UFI命令层,USB基本传输命令层及Bulk-Only协议层,所以实际的单片机程序只需要处理FAT文件系统层,并且即使这一层也可以由CH 375的U盘文件级子程序库实现。CH375以C语言子程序库提供了。USB存储设备的文件级接口,这些应用层接口API包含了常用的文件级操作,可以移植并嵌入到各种常用的单片机程序中。
这里采用ICC AVR软件来编写ATmega32的程序,并调用CH375所提供的AVRU盘文件级子程序库CH375HFB.A。程序运行并初始化后,系统进入待触发状态。检测到触发信号到来之后,通过CH375FileCreate新建文件,将AD所采集的数据通过CH375FileWrite写入U盘,文件写满之后调用CH375FileClose关闭文件。采集结束之后直接取下外接的U盘便可以拿回室内分析。由于采用了文件管理模式,所需操作十分简单,就像平常读取U盘中的文件一样。
5 结 语
经测试该系统在实际使用时达到了预想效果,克服了以前存储测试仪的一些不足。尤其对于缓变大容量信号的采集取得了良好效果。由于CH375只支持USB1.1协议,并且采用了单片机作为控制器负责管理整个系统的运行,势必影响到仪器的采样率。因此,选用支持USB 2.0协议的OTG器件,同时采用性能更好的控制器如DSP,CPLD等可极大地提高仪器的采样速率,以适应更高的需求。