5 系统软件设计
USB温度采集系统的软件部分包括3个方面:单片机中的固件程序,设备驱动程序,和主机上的应用程序。整个软件系统的组成如图4所示。
5.1 固件程序
在外置固件模式下,由外部单片机根据需要自行处理各种USB请求,从而可以实现符合各种USB类规范的设备。CH372初始化程序流程图如图5所示。
5.2 设备驱动程序
USB驱动程序可以采用WDM(Windows Driver Mode)模式设计。WDM驱动程序采用灵活的分层驱动方法,在用户和物理设备之间存在着几个不同的驱动程序层次.且各层上的WDM驱动程序具有不同优先级。利用WDM设计的驱动程序可根据用户的需要调整,灵活性好,但需要了解操作系统原理及相关硬件工作细节,而且工作量较大。设计采用南京信恒公司的通用驱动程序,直接下载后安装即可。
5.3 应用程序
应用程序的设计可根据用户的需求进行适当调整,温度采集系统提供了一个通用的上位机应用程序,将采集来的温度值直接显示到电脑屏幕上。应用层接口是由CH372动态链接库DLL提供的面向功能应用的API,所有API在调用后都有操作状态返回,但不一定有应答数据。CH372动态链接库提供的API包括:设备管理API、数据传输API和中断处理API。CH372与计算机连接的上位机总体程序流程图如图6所示。
5.4 DSl8820温度采集子程序
系统程序设计的关键在于数字传感器DSl8820与单片机之间的“单总线”传输软件的编写和单片机与PC机之间USB串行通信软件的编写。从机使用C语言编程,完成单片机对DSl8820的温度采集和单片机与USB接口通信。单片机对DS18820的温度采集流程图如图7所示。
6 结语
设计的基于USB串口的多点温度采集系统。硬件电路十分简单,而且安装方便,即插即用,有很好的可靠性和稳定性,可广泛应用于生产车间、粮仓、各种大棚、大型商场及宾馆等场所的多点温度检测与控制。创新点:使用数字温度传感器DSl8820简化了测温器件与单片机的接口电路,从而使硬件电路体积小、连接方便,具有速度快、可靠性高、性价比好、应用性强等特点。