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

网友投稿 278 2022-11-10

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

引言:

1.CH375简介

2.1 USB主从动态切换电路的设计

为了实现设备应用的灵活性,本文设计的比色计仪器采用 USB总线供电和外接电池供电两种方式。在默认方式下,仪器采用外接电池供电,作为 USB主机使用,通过读写U盘,实现数据传输。在 USB总线供电方式下,仪器作为USB设备使用,直接与计算机连接。两种模式的动态切换电路如图 1所示。

P1为从机 USB接口,P2为主机模式下读写 U盘接口。默认状态下,仪器采用外接电池电源供电,SLAVE为低电平,为主机模式;P1口接计算机时,仪器采用 USB总线供电,SLAVE为高电平,单片机通过查询控制使比色计仪器进入设备模式。

2.2 单片机控制CH375电路设计

1. 系统软件设计

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

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

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

(3)打开文件:CH375FileOpen;

(4)关闭文件:CH375FileClose;

(5)新建文件:CH375FileCreate;

(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通讯;

(6) 退出中断服务程序。

2.单片机通过CH375芯片发送数据的处理步骤:

(1)单片机执行 WR_USB_DATA命令向 CH375写入要发送的数据;

(2)CH375被动地等待 USB主机在需要时取走数据;

(3)当 USB主机取走数据后,CH375首先锁定当前 USB缓冲区,防止重复发送数据,然后将中断引脚置低,向单片机请求中断;

(4)单片机进入中断服务程序,获取中断状态,然后将中断引脚恢复高电平,取消中断;

(5)判断中断状态,为“上传成功”,单片机执行 WR_USB_DATA命令向 CH375写入另一组要发送的数据,若没有不执行。

(6)单片机执行 UNLOCK_USB命令,完成后释放缓冲区,继续 USB通讯;

(7)退出中断服务程序。 单片机主要在中断中完成数据收发与处理,中断服务程序流程图如图 4所示。

3.2.2 计算机端的软件接口

CH375在计算机端提供了应用层接口,该接口是 CH375动态链接库 DLL面向功能应用的API,包括:设备管理API、数据传输API、中断处理 API。 设计中采用 VC++6.0作为 PC端应用软件的开发平台。首先在计算机上安装 CH375器件的驱动程序,然后将动态链接库 DLL拷贝到计算机中,最后将 DLL的访问入口添加到 VC项目中,这样就可以实现对 USB设备的应用程序编程。

4.结束语

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Centos7网络基本网络
下一篇:k8s中的pod控制器之Deployment、DaemonSet、StatefulSet
相关文章

 发表评论

暂时没有评论,来抢沙发吧~