基于USB串口多点温度采集系统的设计

发布者:hzx312895379最新更新时间:2013-10-12 来源: dzsc关键字:USB串口  温度采集系统 手机看文章 扫描二维码
随时随地手机看文章
    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枚举配置过程,本地端单片机只要负责数据交换,所以单片机程序非常简洁。[page]

  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设计的驱动程序可根据用户的需要调整,灵活性好,但需要了解操作系统原理及相关硬件工作细节,而且工作量较大。设计采用南京信恒公司的通用驱动程序,直接下载后安装即可。[page]

  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简化了测温器件与单片机的接口电路,从而使硬件电路体积小、连接方便,具有速度快、可靠性高、性价比好、应用性强等特点。



参考文献:

[1]. AT89S52 datasheet http://www.dzsc.com/datasheet/AT89S52_970343.html.
[2]. CH372A datasheet http://www.dzsc.com/datasheet/CH372A_1136408.html.

关键字:USB串口  温度采集系统 引用地址:基于USB串口多点温度采集系统的设计

上一篇:CAN总线网络监控软件设计
下一篇:单芯片USB锂离子/聚合物电池充电器解决方案

推荐阅读最新更新时间:2024-05-02 22:47

基于CH341A的USB串口通讯设计
  随着计算机技术的发展,具有热插拔功能的USB接口逐渐取代了RS232C接口,使得采用RS232C通讯的旧式设备应用受到限制。此外,由于RS232C通讯接口编程简单,控制灵活,大多数MCU仍然把它作为一个标准模块固化在其外围电路当中。目前,市面上虽然有一些成型的USB/ RS232C转换产品,但功能比较简单,只支持3线通信方式,并且与PC端的串口应用程序不完全兼容,使用过程中经常出现握手失败的情况。本文根据实际情况中PC的USB接口使用情况,设计了两款产品,在芯片厂家提供的驱动程序下,仅需少量编程即可满足USB与RS232C接口的转换问题,以及实现MCU与PC之间的USB串口通信。   1 CH341A简介   CH341
[嵌入式]
基于MSP430与uPD720200的高速温度采集系统的设计
0 引言 USB3.0高速数据采集系统,以其5Gbps的带宽和即插即用等优越的性能,越来越受到人们的重视。目前常用的USB3.0通信芯片主要有来自美国赛普拉斯(CYPRESS)公司开发的EZ USB FX3系列芯片和日本NEC公司开发的uPD720200系列芯片。二者不仅都具有集成度高、功能强大、兼容USB2.0等优点,而且两个厂家都提供了功能强大的开发工具包,能极大缩短开发周期,而深受开发者喜爱。目前一些采集系统采用传统的51系列单片机为主控芯片,则不能充分发挥USB3.0的带宽,性能不佳。虽然CPLD芯片可以工作在很高的频率,但不及单片机灵活易用,故本文采用美国TI公司最新高速的ADS7886芯片为A/D转换芯片,最新的MSP4
[单片机]
基于MSP430与uPD720200的高速<font color='red'>温度采集系统</font>的设计
关于stm32 usb虚拟串口 程序问题的讨论
主要问题是 串口有时收到乱码 有时收到丢包数据: 关于 乱码 我们其实很容易想到 奇偶校验的问题,而我们平常都是默认为没有奇偶校验。 请看程序: * USART1 default configuration */ /* USART1 configured as follow: - BaudRate = 9600 baud - Word Length = 8 Bits - One Stop Bit - Parity Odd - Hardware flow control desabled - Receive and transmit enabled - U
[单片机]
S5PV210开发板刷机(SD卡uboot、串口+USB-OTG刷机方法)
一、介绍 九鼎的S5PV210开发板,在出厂前已经默认刷了Android4.0系统。如果需要刷其它的系统或者是由于系统问题无法启动时,就需要对板子刷机。 其实,刷机是对210开发板的一个基础学习,目的是实践之前学过的系统启动过程,进一步的了解系统的启动过程,加深理解(uboot、kernel、rom)。 二、准备工作 (1)工作平台:WIN8.1 (2)驱动工具:USB转串口、USB-OTG驱动。 1、USB转串口:我们使用的是优越者 usb转串口线。插在电脑上后,电脑会自动按安装驱动。 2、USB-OTG驱动:需要在进入fastboot模式下进行,在后续的步骤中,会详细讲解。 (3)刷机文件
[单片机]
S5PV210开发板刷机(SD卡uboot、<font color='red'>串口</font>+<font color='red'>USB</font>-OTG刷机方法)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved