一种基于 USB接口的比色计仪器

2019-07-19 10:35:34 来源:电子发烧友网
标签:
引言:
目前市场上的光电比色计一般都是通过 RS232串口与计算机通信,随着计算机技术的发展,这种接口实现已经无法满足 PC与外部设备之间不断提高的速度以及稳定性、易用性等要求,给用户使用带来了诸多不便。USB接口技术凭借其易用、稳定、可扩展等优点,越来越广泛应用于 PC机外设和便携式系统中,为满足客户要求,本文设计了一种基于 USB接口的比色计仪器。该仪器可以实现 USB主机和从机两种功能,做主机时,能实现数据的快速采集及 U盘存储;做从机时,能实现与计算机相连。
 
1.CH375简介
CH375是一种USB总线的通用接口芯片,支持 USB-HOST主机方式和 USB-DEVICE/SLAVE设备方式,兼容USB2.0,支持 USB的控制传输、批量传输、中断传输,能自动检测 USB设备的连接与断开,能提供设备连接和断开的事件通知。在本地端,CH375具有 8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到 DSP/MCU/MPU等控制器系统总线上。USB主机方式支持常用的 USB全速设备,外部单片机可以通过 CH375按照相应的协议与 USB设备通讯。CH375支持 5V和 3.3V电源电压和低功耗模式。
 
2.双模式USB接口硬件电路设计
2.1 USB主从动态切换电路的设计
为了实现设备应用的灵活性,本文设计的比色计仪器采用 USB总线供电和外接电池供电两种方式。在默认方式下,仪器采用外接电池供电,作为 USB主机使用,通过读写U盘,实现数据传输。在 USB总线供电方式下,仪器作为USB设备使用,直接与计算机连接。两种模式的动态切换电路如图 1所示。
 
 
P1为从机 USB接口,P2为主机模式下读写 U盘接口。默认状态下,仪器采用外接电池电源供电,SLAVE为低电平,为主机模式;P1口接计算机时,仪器采用 USB总线供电,SLAVE为高电平,单片机通过查询控制使比色计仪器进入设备模式。
 
2.2 单片机控制CH375电路设计
本系统使用 C8051F020单片机作为处理器。C8051F020是Cygnal 公司推出的一种 SOC型 8位单片机,片内有 64KB FLASH存储器和4KB RAM,完全符合作为主机时读写 U盘的要求。C8051F020单片机控制 CH375的电路如图 2所示。
 
 
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所示。
 
 
单片机端程序用到的主要操作函数包括:
 
(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通讯;
 
(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.结束语
本文将双模式 USB数据传输方式应用于便携式比色计仪器中,充分体现了便携、灵活和可靠的优点。该设备既可以直接与 PC机进行数据通讯,工作于有计算机的实验室测试环境,也可以通过 U盘作为数据传输中介,使设备工作于在线检测。本方案有效解决了传统比色计仪器的局限,可以满足不同测试环境的要求,并且数据存储方便快速,具有广阔的应用前景。
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
用MCU的PWM产生负电压的教程
用MCU的PWM产生负电压的教程

我们应该知道,有一种开关电源是通过PWM波来实现的,但你知道通过PWM波也能输出负电压吗?

单片机最小系统常见问题解析

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.

一些关于USB闪存盘的“流言”的终结

自从USB闪存盘最初面世以来,各种流言和传说一直伴随左右,其中流传最广的包括以下几种:

可预置可逆4位计数器设计
可预置可逆4位计数器设计

利用AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,用来指示当前计数的数据;用P1.4-P1.7作为预置数据的输入端,接四个拨动开关K1-K4,用P3.6/WR和P3.7/RD端口接两个轻触开关,用来作加计数和减计数开关。

干货 | 一文搞懂单片机应用程序架构

对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构是非常必要的。

更多资讯
智能水表未来的发展方向是什么?未来它可以用来检测水质吗?
智能水表未来的发展方向是什么?未来它可以用来检测水质吗?

近日,宁波水表(603700.SH)披露了投资者关系活动记录表,对于诸多问题进行了解读,其中有一个问题就涉及到了智能水表未来的技术发展方向。

光纤布拉格光栅(FBS)传感器的工作原理及使用方法解析
光纤布拉格光栅(FBS)传感器的工作原理及使用方法解析

近几十年以来,电气传感器一直作为测量物理与机械现象的标准设备发挥着它的作用。尽管它们在测试测量中无处不在,但作为电气化的设备,他们有着与生俱来的缺陷,例如信号传输过程中的损耗,容易受电磁噪声的干扰等等。这些缺陷会造成在一些特殊的应用场合中,电气传感器的使用变得相当具有挑战性,甚至完全不适用。光纤光学传感器就是针对这些应用挑战极好的解决方法

伺服传感器是个什么东西?它的工作原理是什么?
伺服传感器是个什么东西?它的工作原理是什么?

伺服加速度计如下所示,悬挂在铰链上的是一个下垂的高磁导率质量。“向下”或“零位置”由零检测器检测,平衡力由磁线圈提供。

表面声波传感器市场将迎来热潮,2025年规模达55.2亿美元

近日,锡安市场研究公司发布报告为“声波传感器市场”的报告参数,报告显示,声学波传感器用于各种工业、医疗保健和其他应用,2019年的销售额达到27亿美元,到2025年将增加一倍,达到55.2亿美元。

语音识别发展史

语音识别自半个世纪前诞生以来,一直处于不温不火的状态,直到 2009 年深度学习技术的长足发展才使得语音识别的精度大大提高,虽然还无法进行无限制领域、无限制人群的应用,但也在大多数场景中提供了一种便利高效的沟通方式。