基于USB接口的温度控制器.docx
- 文档编号:23295784
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:60
- 大小:488.66KB
基于USB接口的温度控制器.docx
《基于USB接口的温度控制器.docx》由会员分享,可在线阅读,更多相关《基于USB接口的温度控制器.docx(60页珍藏版)》请在冰豆网上搜索。
基于USB接口的温度控制器
摘要
USB(UniversalSerialBus)是一种新型的通用串行总线,它是快速的、双向的、同步的、可以热插拨的、动态连接且价格低廉的串行接口。
正是基于这一特点,现在很多的计算机外设都有USB接口。
本文正是利用这一新型USB接口来设计上位机与下位机系统之间的通信。
利用新型的一线式数字温度传感器测量温度,并通过USB接口和计算机端应用软件进行通信。
本文首先介绍了本系统相关的背景知识以及USB的通信协议,进而介绍温度控制的基本意义,提出利用USB设备芯片CH372、一线式数字温度传感器DS18B20和单片机AT89C51来开发基于USB温度控制系统。
采集的温度数据通过USB接口上传到上位PC机上,并利用应用软件对其进行处理。
上位机应用软件用C++builder编写,其运用CH372接口芯片的动态链接库建立起上位机和下位机之间的通信机制。
上位机将采集到的温度数据在PC机上显示出来,并且显示实时温度采集图像。
此外,应用软件可以对下位机进行温度极限设置等简单控制功能,当采集到的温度超过某一设定极限温度,则对系统进行报警。
另外下位机还为今后的扩展保留一定的资源。
关键词:
AT89C51;USB协议;温度采集;一线式温度传感器;CH372
Abstract
USB(UniversalSerialBus)isakindofnewUniversalSerialBus,itisaserialbuswhichisveryfast,dualchannel,synchronous,canbepulledandpluggedwiththepoweron(HotSwap),canbeconnecteddynamicallyandverycheap.Becauseofthischaracteristic,nowadays,agreatmanytypeofcomputershaveUSBinterface.TheprojectpresentedinthisdissertationusedthisnewUSBinterfacetodesignthecommunicationbetweenuppercomputeranddowncomputersystem.Withtheonewiretemperaturesensor,ImeasurethetemperatureandcommunicatewiththecomputerapplicationthroughtheUSBinterface.
Atthebeginningofthisdissertation,somebasicknowledgeaboutthesystemandcommunicationprotocolofUSB(UniversalSerialBus)willbedescribed,andlater,introducedthebasicmeaningoftemperaturecontrol,Thisdissertationalsobroughtforwardthisidea:
todevelopthetemperaturecontrolsystemwhichisbaseontheUSB,andthosetoolsthesystemwillneedareUSBdevicechipCH372,onewiredigitaltemperaturesensorDS18B20andsinglechipAT89C51.Thetemperaturesystemgotwilluploadtotheuppercomputer'sapplicationthroughUSBinterface.Theuppercomputer'sapplicationisprogrammedintheenvironmentofC++builder;thesoftwareIprogrammedusedtheDLL(dynamiclinklibrary)ofCH372andbuiltthecommunicationsystembetweenuppercomputeranddowncomputer.Theuppercomputerwilldisplaythetemperaturegotbythesensor,anddisplaythedataonthescreenofthePC,anddisplaythetemperatureacquisitiongraphicssimultaneously.
Besides,theapplicationsontheuppercomputercancontrolthedowncomputertosetthetemperaturelimits,thingslikethis,whenthetemperatureexceedatemperaturesetinadvanced,thesystemwillalert.Thedowncomputersalsokeepsomeresourcesforfutureextensions.
Keywords:
AT89C51;USBspecification;temperatureacquisition;onewiretemperaturesensor;CH372
目录
引言1
1背景知识1
2系统概述2
2.1系统的特性2
2.2系统的功能2
2.3系统开发平台2
3系统总体设计3
3.1系统整体方框图3
3.2系统方案比较3
3.2.1系统两种可行方案3
3.2.2方案最终选择4
4系统硬件设计5
4.1中央处理器----AT89C515
4.2温度传感器DS18B208
4.3温度采集模块电路设计13
4.4系统接口模块电路设计15
4.4.1USB简介15
4.4.2USB芯片选择16
4.4.3USB设备端接口设计18
4.5系统硬件整体实现20
5系统软件设计20
5.1软件设计工具20
5.2系统软件设计21
5.2.1下位机的软件设计21
5.2.2上位机的软件设计24
6系统调试25
6.1硬件调试25
6.2软件调试26
6.2.1下位机的软件调试26
6.2.2上位机的软件调试27
6.2.3上位机和下位机联机调试28
6.3系统性能指标29
7系统的简单操作说明29
8总结29
谢辞31
参考文献32
附录33
引言
温度是工、农业生产的主要环境因素,它对工农业的生产有着重要的影响,所以对其进行准确快速的测量并进行处理是具有很特殊的重要意义。
测量温度模块是否正确、快速、及时决定着工农业生产的产品的质量是否符合预期设计的要求,而在当今是世界中,质量是企业生存的基本,所以许多对温度要求很高的工、农业生产企业把温度测量控制系统看成是企业生存的基本。
在市场竞争日益激烈的压力面前,企业已经意识到要想提升自己企业的竞争能力,就必须采用新技术对企业产品进行质量等各方面的管理。
而对温度要求严格的产品,测量产品生产环境的温度的技术决定着系统能否生存并继续发展,所以很多工业生产企业都非常重视温度控制系统。
对温度进行采集,并送到PC机实时处理,以前往往采用的是计算机的串行接口,但这一老式计算机接口存在着不少缺陷。
比如接口规格不统一、非共享式接口、占用资源大等等这样那样的缺点。
随着计算机的发展,USB(通用串行总线)接口是一种计算机应用领域的新型接口,USB接口的出现是计算机端接口的技术重大变革,其最早是由Compaq、DigitalEquipment、IBM、Intel、Microsoft、NEC和NorthernTelecom7家公司于1994年提出的,在2000年做出了改进,提出了USB2.0版本,随着这一版本的提出,USB越来越流行,目前它已经成为了一种标准接口,现在市场上的所有PC机都百分之百支持USB接口,本文将采用这一USB接口来对采集到的温度实时传输。
基于USB接口的温度控制系统就是通过温度传感器对现场温度进行测量,并利用微型处理器(单片机),通过USB接口实时的传给计算机,计算机利用软件根据已经设计好的要求对其进行报警等相应的处理。
它是计算机技术、单片机技术、温度传感器技术的科技产物。
适合于工业等需要对温度进行实时大范围的精确的处理。
1背景知识
在USB产生之前,外设与PC机的通信主要是通过PC机主板上所提供的各种接口来
实现,如ISA接口、PCI接口、串行接口等,这些老式的接口存在着很多缺点:
非共享式接口、体积大、接口规格不统一、采用传统的I/O模式等等。
为了克服老式接口这些缺点,PC机制造商和用户迫切需要一种新型的外设连接方式。
这时USB应运而生,它是一种快速、快速、双向、同步、廉价、并支持热插拨功能的串行接口。
早在1995年,就已经有PC机带有USB接口了,但由于缺乏软件及硬件设备的支持,这些PC机的USB接口都闲置未用。
1998年后,随着微软在Windows98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口才逐步走进了实用阶段。
这几年,随着大量支持USB的个人电脑的普及,USB逐步成为PC机的标准接口已经是大势所趋。
在主机(host)端,最新推出的PC机几乎100%支持USB;而在外设(device)端,使用USB接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和软驱、图像设备、打印机、键盘、鼠标等等。
正是USB具有热插拔、共享式接口、携带方便、标准统一、可以连接多个设备等这样的优点,才使USB得于快速的发展。
本文将利用这一新型计算机接口来设计温度控制系统。
2系统概述
本章将对基于USB接口的温度控制系统在工业上的应用进行分析,并介绍系统的特点、功能以及使用到的开发工具。
2.1系统的特性
由于该系统利用USB接口,所以具有USB的实时传送数据,与上位机进行信息交流,而上位机又可以连接在互联网上,所以远程的PC机也可以利用互联网对温度检测系统进行查看等各种操作。
该系统利用先进的温度传感器,可以对温度快速的进行反应,把温度数据传到下位机进行初步处理数据,进而与上位机通信。
总的来说,该系统有以下几点特点:
·工作人员可以远离生产环境通过计算机对其进行查看处理;
·多点温度测量;
·全天候检测温度,并可以在没有工作人员的参与下对生产环境进行简单处理;
·对生产环境的温度进行设计极限温度,一旦超过极限温度,系统将对起进行报警,并停止生产环境的工作;
·测量温度误差比较精确,在0.5℃内;
2.2系统的功能
该系统主要有以下功能:
(1)对温度进行检测。
利用该系统可以远离恶劣生产环境的情况下,对其进行温度测量;
(2)对现场温度进行实时采集;并在PC机上显示出来;
(3)在PC机上实时做出温度图像;工作人员在电脑上便可以直观的得到系统温度图像;
(4)简单的系统控制;通过计算机上的应用软件可以对温度设置,一旦超过极限温度,发出报警,进而通知工作人员快速的对生产现场进行各种相应操作,这样可以防止温度超出极限温度;
(5)在上位机端的应用软件上提供系统使用帮助。
用户可以利用该功能帮助对系统进行操作。
2.3系统开发平台
本次系统需要用到的开发工具为:
keilC、C++builder、Protel、计算机、烧写器。
KeilC是目前世界上最好的MC-51单片机的汇编和C语言的开发工具。
支持汇编、c语言以及混合编程。
同时具备功能强大的软件仿真和硬件仿真。
C++builder是计算机高级语言C++比较好用的编程工具,它是属于一种可视化的计算机语言。
Protel是世界上最好的硬件电路图制作的工具。
3系统总体设计
3.1系统整体方框图
根据前面的分析,知道系统要实现以上功能,必须由以下几部分组成:
温度采集单元、下位机温度初步处理单元、USB设备接口、上位机应用程序。
系统的结构原理图如图3.1:
图3.1系统整体实现的结构原理图
温度传感器单元对生产温度环境进行测量,将测量温度传给下位机(单片机),单片机对采集到的温度进行初步处理后,将处理了的数据通过USB接口上传给PC机上位机,而上位机将实时的显示采集到的温度,如果要对现场环境进行处理,则上位机可以发送命令,经过USB接口传送到下位机,下位机根据接受到的数据并对其进行分析,进而做出处理,如报警等各种操作。
3.2系统方案比较
对于本系统,方案的选择是根据温度传感器来选择。
目前市场上有两种传感器:
模拟传感器和数字集成传感器,对于选择不同的传感器将会有不同的方案。
下面给出两种不同的方案,并对其进行分析,最终选择其中一种方案。
3.2.1系统两种可行方案
方案1:
选择模拟传感器
所谓模拟传感器,简单的说就是传感器对被测量的物质感应,并随着检测的不同做出不同的反应,但这一反应是有规律的,而且有规律的输出模拟信号。
由于单片机是数字信号系统,只能识别数字信号,所以这种方案要想利用单片机对温度信号进行处理,必须将对模拟输出量数字化,也就是说要对其输出的模拟电压或电流转换成数字信号,这么一来就系统要加入模拟信号转换成数字信号的处理单元,通常,实现这一功能的是A/D转换器,市场对于这一A/D转换器有不少类型。
所以选择这一方案也是可以有效而快速的设计出本系统。
图3.2给出使用模拟传感器这一方案的设计原理图。
图3.2方案1的结构原理图
方案2:
选择数字传感器
今天随着计算机的飞速发展以及单片机的日益普及,世界进入了数字时代,人们在处理被测信号时首先想到的是信息处理器(单片机或计算机)。
具有输出数字信号便于电脑处理的传感器就是所谓的数字传感器。
数字传感器是近几年才出现的并得到广泛的应在在实践当中,所谓数字传感器,进一步的讲,就是将模拟传感器产生的信号经过放大、A/D转换、线性化及量纲处理后变成纯粹的数字信号,是在模拟传感器上加入数字处理单元,并将数字单元集成在一块芯片上,所以输出的是数字信号,便于数字处理机对其直接进行处理。
图3.3给出利用数字传感器设计的方案图:
图3.3方案2的结构原理图
3.2.2方案最终选择
以上已经提出了两种方案,下面对这两重方案进行分析,并做最后方案选择:
分析近几年来传感器的发展,我们知道传感器在未来的发展中将会向以下的方向发展:
(1)向高精度发展。
随着自动化生产程度的不断提高,对传感器的要求也在不断提高,必须研制出具有灵敏度高、精确度高、响应速度快、互换性好的新型传感器以确保生产自动化的可靠性。
目前能生产精度在万分之一以上的传感器的厂家为数很少,其产量也远远不能满足要求。
(2)向高可靠性、宽温度范围发展。
传感器的可靠性直接影响到电子设备的抗干扰等性能,研制高可靠性、宽温度范围的传感器将是永久性的方向。
提高温度范围历来是大课题,大部分传感器其工作范围都在-20℃~70℃,在军用系统中要求工作温度在-40℃~85℃范围,而汽车锅炉等场合要求传感器工作在-20℃~120℃,在冶炼、焦化等方面对传感器的温度要求更高,因此发展新兴材料(如陶瓷)的传感器将很有前途。
(3)向微型化发展。
各种控制仪器设备的功能越来越大,要求各个部件体积能占位置越小越好,因而传感器本身体积也是越小越好,这就要求发展新的材料及加工技术,目前利用硅材料制作的传感器体积已经很小。
如传统的加速度传感器是由重力块和弹簧等制成的,体积较大、稳定性差、寿命也短,而利用激光等各种微细加工技术制成的硅加速度传感器体积非常小、互换性可靠性都较好。
(4)向微功耗及无源化发展。
传感器一般都是非电量向电量的转化,工作时离不开电源,在野外现场或远离电网的地方,往往是用电池供电或用太阳能等供电,开发微功耗的传感器及无源传感器是必然的发展方向,这样既可以节省能源又可以提高系统寿命。
目前,低功耗损的芯片发展很快,如TI2702运算放大器,静态功耗只有1.5mA,而工作电压只需2~5V。
(5)向智能化数字化发展。
传感器一般都是非电量向电量的转化,工作时离不开电源,在野外现场或远离电网的地方,往往是用电池供电或用太阳能等供电,开发微功耗的传感器及无源传感器是必然的发展方向,这样既可以节省能源又可以提高系统寿命。
目前,低功耗损的芯片发展很快,如TI2702运算放大器,静态功耗只有1.5mA,而工作电压只需2~5V。
由于模拟传感器,没有把模拟转化为数字处理单元集成在一块芯片上,这样必带来传感检测单元的体积大等各个方面的影响,再者,模拟转化成数字单元也需要单片机对其进行处理,这样会浪费时间、资源。
所以这样一来我们知道数字传感器在未来必将取代模拟传感器。
而且随着数字传感器的发展,现在市场上数字传感也不是那么贵,本次系统对温度精度的要求不是很高,所以选择方案二。
4系统硬件设计
4.1中央处理器----AT89C51
AT89C51由美国Atmel公司生产的,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位单片机,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
下文将对AT89C51单片机做简单介绍。
(1)AT89C51的特点
AT89C51具有以下几个特点:
①中央处理器CPU;
②AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;
③片内有4k字节在线可重复编程快擦写程序存储器;
④全静态工作,工作范围:
0Hz~24MHz;
⑤三级程序存储器加密;
⑥128×8位内部RAM;
⑦32位双向输入输出线;
⑧两个十六位定时器/计数器
⑨五个中断源,两级中断优先级;
⑩一个全双工的异步串行口;
(2)AT89C51的结构图如图4.1
图4.189C51的结构图
由上图,知:
AT89C51主要由CPU、存储器、I/O端口等几部分组成。
(3)AT89C51的功能描述
AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
它与MCA-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。
AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。
只要程序长度小于4K,四个I/O口全部提供给用户。
可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。
工作电压范围宽(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快也能慢。
AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。
P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
(4)AT89C51引脚功能及说明
图4.2是AT89C51的引脚
图4.2
①口线:
P0、P1、P2、P3口。
P0口是三态双向口,通称数据总线口,为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
因为只有该口能直接用于对外部存储器的读/写操作。
P0口也用以输出外部存储器的低8位地址。
由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。
P1口是专门供用户使用的I/O口,是准双向口。
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P2口是从系统扩展时作高8位地址线用。
不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。
P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二功能。
作为第一功能使用时操作同P1口。
P3口的第二功能如表4.1所示。
②控制口线:
PSEN(片外选取控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET(复位控制);
③电源及时钟:
VCC、VSS、XTAL1、XTAL2 操作方法。
表4.1P3口的第二功能
④操作方法
程序存储器加密。
AT89C51芯片程序存储器有三级硬件加密,能够有效地保证系统不被仿制和软件不被复制,加密等级设置见附录2。
工作模式。
AT89C51有间歇和掉电两种工作模式。
间歇模式是由软件来设置的,当外围器件仍然处于工作状态时,CPU可根据工作情况适时地进入睡眠状态,内部RAM和所有特殊的寄存器值将保持不变。
这种状态可被任何一个中断所终止或通过硬件复位。
掉电模式是VCC电压低于电源下限,振荡器停止振动,CPU停止执行指令。
该芯片内RAM和特殊功能寄存器值保持不变,直到掉电模式被终止。
只有VCC电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位掉电模式可被终止。
4.2温度传感器DS18B20
温度传感器是该系统的测量器件,温度传感器的好坏直接影响到测量结果,所以本文将对温度传感器的选择详细介绍。
根据本次设计论文的要求,包括精度要求等,经过分析,本文决定选择数字温度传感器DSB8B20。
下面将给予介绍。
(1)DS18B20的概述
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测环境的温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
以上特点使DS18B20非常适用于远距离多点温度检测系统。
(2)DS18B20的内部结构
图4.3是DS18B20的内部结构图
图4.3DS18B20的内部结构
由图可知,DS18B20主要由4部分组成:
64位ROM、温度传感器、非挥发的温
警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图4.4所示,
图4.4DS18B20的管脚排列
DS18B20的3个管脚说明如下:
DQ为数字信号输入/输出端。
是漏极开路一线接口。
也在寄生电源接线方式时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 USB 接口 温度 控制器
![提示](https://static.bdocx.com/images/bang_tan.gif)