2 USB串口温度采集系统
一个实用的USB温度采集系统包括温度数据采集器、微控制器以及USB通信接口。为了扩展其用途,还可以加上多路模拟开关和数字I/0端口。设计选用南京信恒公司生产的USB通信接口器件CH372。由于该器件功能强,体积小,价格低,应用方便,在一定层次上简化了温度采集系统的工作量,并降低了成本。其主要设计原理是:将不断变化的多个外界温度模拟量通过数字温度传感器阵列DSl8820转换而变成单片机能够处理的数字量,AT89S52对转换后的数据做相应的处理。由USB接口电缆与PC主机组成数据处理平台,用来将实时采集到的温度数据高速回送到计算机之中,形成原始数据文件,为后续数据处理做准备。图1为该温度采集系统原理框图。
3 温度采集系统方案实现
USB温度采集系统从功能上划分为温度采集模块,USB接口模块和PC主机客户应用程序模块3部分。
(1)USB接口模块采用集成度高、功能较强USB专用接口器件CH372,简化程序设计工作量,使得整个温度采集系统结构简单,可靠性高。
(2)温度采集模块 由数字温度传感器DSl8820阵列和微控制器组成。DSl8820能直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
(3)PC主机客户应用程序模块 用户应用程序负责接收和存储USB设备采集来的温度数据。通过显示器把采集出的温度数据显示出来,并根据需要进行后续处理。
4 系统硬件电路设计
多点温度采集系统设计一方面是探索自主开发技术,更重要的是使所研究的温度采集器具有更好的灵活性,以满足不同的应用需求。系统硬件设计的关键是温度采集信号电路与单片机接口电路的设计。
4.1 USB接口芯片与上位机的接口电路
在设计中采用USB接口器件CH372,它有两种型号:CH372A为5 V电源电压,CH372V为3.3 V电源电压。CH372是一个USB总线的通用设备接口器件。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机的系统总线上;在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通讯就如同读写文件。CH372内置了USB通讯中的底层协议.具有省事的内置固件模式和灵活的外置固件模式。在内置同件模式下,CH372自动处理默认端点O的所有事务,本地端单片机只要负责数据交换,所以单片机程序非常简洁。在外置同件模式下,由外部单片机根据需要自行处理各种USB请求,从而可以实现符合各种USB类规范的设备。图2为CH372连接原理图。
CH372控制器的主要特点如下:
①支持全速设备接口,兼容USB2.0规范,即插即用,外同元器件只需要晶体和电容。
②提供一对主端点和一对辅助端点,支持控制传输、批量传输、中断传输。
③具有8位数据总线和读、写、片选控制线以及中断输出.可以方便的挂接到单片机等控制器的系统总线上。
④内置了USB通讯中的底层协议,具有省事的内置固件模式和灵活的外置固件模式。在内置固件模式下,CH372自动处理默认端点0的所有事务,自动完成标准的USB枚举配置过程,本地端单片机只要负责数据交换,所以单片机程序非常简洁。
USB器件与上位机接口电路原理图如图3所示,P1是USB总线接口,USB总线包括一对5 V电源线和一对数据信号线。USB总线提供的电源电流最大可以达到500 mA。选电阻R,用于在电源断电后将电解电容C5中的电能及时释放掉,使VCC及时下降到0 V,确保在下次通电时CH372能够可靠的上电复位。电容C3用于CH372内部电源节点退耦,C3是容量为0.01μ F的高频瓷片电容。电容C4用于外部电源退耦,C4是容量为O.1μF的独石或高频瓷片电容。晶体Xl、电容C2和C1用于CH372的时钟振荡电路。
4.2 USB接口器件与单片机接口电路
CH372具有通用的被动并行接口,可以直接连接AT89S52。在设计应用电路中,CH372可以通过8位被动并行接口的D7~DO、RD、WR、CS、A0直接挂接到单片机U2的系统总线上.如图3所示。
4.3 USB串口温度采集系统总体原理
在设计中,采用数字温度传感器DSl8820实现温度采集。DSl8820是DALLAS公司生产的基于串行接口的一线式数字温度传感器,它是将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。DSl8820具有如下特性:
①采用单总线技术,与单片机通信只需要一根I/0线,在一根线上可挂接多个DSl8820。
②低压供电,电源范围3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生式供电)。
③每只DSl8820具有一个独立的、不可修改的64位序列号,根据序列号可以访问对应的器件。
④测温范围为一55℃~+125℃,在一10℃~85℃范围内误差为±0.5℃。
⑤可编程数据为9~12位,其转换12位的温度时间为750 ms(最大)。
⑥DSl8820可将检测到的温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通信。
由数字温度传感器DSl8820的特性可知,在它采集模拟温度信号并与单片机进行通信时,只需要一根I/0线与单片机AT89S52的P口连接,而在一根线上可以挂接多个数字温度传感器DSl8820,可以测出不同地点的温度数据,从而实现了温度的多点采集。USB串口多点温度采集系统其中的一路原理图见图3所示。