USB总线通用接口芯片CH375对比色计仪器的设计

1. 系统软件设计

2. 1主机模式默认状态下,仪器工作在主机模式,通过读写 U盘,存储采集到的数据。 在单片机下开发 U盘的读写系统,单片机端程序要涉及较多的协议,必须能实现 USB的控制传输、批量传输、SCSI/UFI/RBC命令传输及 FAT文件系统等功能。CH375内置了 USB通信协议的固件程序,包含了 USB Mass Storage类协议,所以实际的单片机程序只需要处理 FAT文件系统层,并且这一层也可以由 CH375的 U盘文件级子程序库实现,因此简化了程序的开发流程。

CH375的 U盘文件级子程序库提供了 USB存储设备的文件级接口,这些应用层接口 API包含了常用的文件级操作,可以移植并嵌入到各种常用的单片机程序中,编写程序时可以直接调用这些 API函数读写 U盘。单片机读写 U盘的程序流程如图 3所示。

USB总线通用接口芯片CH375对比色计仪器的设计

单片机端程序用到的主要操作函数包括:

(1)初始化 CH375芯片:CH375Init;

(2)查询 U盘是否准备好:CH375DiskReady;

(3)打开文件:CH375FileOpen;

(4)关闭文件:CH375FileClose;

(5)新建文件:CH375FileCreate;

(6)以字节为单位从文件读数据:CH375ByteRead;

(7)以字节为单位向文件写数据:CH375ByteWrite;

(8)以字节为单位移动文件指针:CH375ByteLocate。

3.2 从机模式

当图 1中的P1口连接到PC机USB接口时,在 C8051F020单片机控制下,仪器切换到从机模式,设备可以与 PC机通讯,进行数据交换。

3.2.1 本地端的单片机软件

CH375专门用于处理 USB通讯,当 CH375接收上位机发送的数据或发送完给上位机的数据后,以中断方式通知单片机。本地端单片机程序主要完成 CH375的初始化和数据的接收与发送,单片机控制 CH375对数据的处理过程如下:

1.单片机通过CH375芯片接收数据的处理步骤:

(1) 当 CH375接收到 USB主机发来的数据后,首先锁定当前 USB缓冲区,防止被后续数据覆盖,然后将中断引脚设置为低电平,向单片机请求中断;

(2) 单片机进入中断服务程序,执行GET_STATUS命令获取中断状态;

(3) 在 GET_STATUS命令后将中断引脚恢复为高电平,取消中断;

(4) 判断中断状态,为“下传成功”,单片机执行 RD_USB_DATA命令从 CH375读取接收到的数据;

(5) RD_USB_DATA命令完成后,释放缓冲区,继续 USB通讯;