DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 665|回复: 0
打印 上一主题 下一主题

[接口电路] 基于USB串口多点温度采集系统的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-21 23:40:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 引言    在科研实验、大棚蔬菜种植、各种动物养殖及卫生医疗等场合经常要用到多点温度采集系统。利用PC机将采集到的多点温度进行分析处理是非常方便的,目前PC机的数据接口最方便的就是通用串行总线USb。USb总线具有连接方便,无需外接电源,即插即用,支持热插拔,动态加载驱动程序等特有优点,在主机和数据采集系统之间可以实现简单、快捷、可靠的连接和通讯。在测试设备与计算机之间建立有效、灵活、低功耗、可靠的通讯方式。实现测试仪器高速、便捷、网络化是当今仪器发展的一个重要方向。所以,基于USb总线的多点温度采集系统是一种非常实用的温度采集方式。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所示。
                          
                       
                          
                                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简化了测温器件与单片机的接口电路,从而使硬件电路体积小、连接方便,具有速度快、可靠性高、性价比好、应用性强等特点。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-16 21:56 , 耗时 0.093350 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表