基于CAN总线的温度检测系统.doc
- 文档编号:2485585
- 上传时间:2023-05-03
- 格式:DOC
- 页数:36
- 大小:693KB
基于CAN总线的温度检测系统.doc
《基于CAN总线的温度检测系统.doc》由会员分享,可在线阅读,更多相关《基于CAN总线的温度检测系统.doc(36页珍藏版)》请在冰点文库上搜索。
基于CAN总线的温度检测系统
摘要
本设计以AT89S51单片机为核心的温度控制系统的工作原理和设计方法来研究CAN总线测控系统间数据通信、结构灵活、通用性号。
我们还采用了单总线型数字式的温度传感器DS18B20,使系统具有测温误差小、分辨率高、抗干扰能力强,动态显示的方式等特点。
选用SJA1000作为CAN总线的控制器与82C250芯片设计了CAN总线接口模块。
82C250可以提供对总线的差动发送和接收功能,提高系统总线的节点驱动能力,增大通信距离,降低干扰。
传感器电路将感应到的温度信号以电压的形式输出到信号调理电路,信号经过调理后输入到A/D采样电路,由ADC将数字量值送给单片机系统,最后单片机将采集到的数据送到CAN总线控制器,通过CAN总线收发器传上总线,完成数据采集从而实现温度控制的目的。
温度检测无论在医疗电子领域还是工业控制领域应用都非常广泛,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制,医疗电子领域的生化分析仪等,内部都涉及到温度控制,具有特别广阔的前景。
关键字:
AT89S51单片机温度传感器DS18B20SJA1000控制器温度检测
BasedonCANmainline'stemperatureexaminationsystem
PickingWanting
窗体底端
窗体顶端
ThisdesignstudiesbetweentheCANmainlineobservationsystemtakeat89S51monolithicintegratedcircuitasthecoretemperaturecontrolsystem'sprincipleofworkandthedesignmethodthedatacommunication,thestructurenimble,theversatilenumbers.WehavealsousedsinglemainlinetypenumbercharacterstyletemperaturesensorDS18B20,enablesthesystemtohavethetemperaturemeasurementerrortobesmall,theresolutionishigh,antjammingability,dynamicdemonstrationcharacteristicsandsoonway.SelectedSJA1000hasdesignedtheCANbusinterfacemoduleastheCANmainline'scontrollerandthe82C250chip.82C250mayprovidetomainline'sdifferentialmotiontransmissionandthereceivefunction,sharpenssystembus'snodedrivingforce,increasesthesignaldistance,reducesthedisturbance
Thesensorelectriccircuitwillinducethetemperaturesignaloutputsthesignalrecuperationelectriccircuitbythevoltageform,thesignalaftertherecuperationinputstoa/Dsamplingcircuit,givesbyADCthedigitalsizethemonolithicintegratedcircuitsystem,finallythemonolithicintegratedcircuitwillgatherthedatadeliverstheCANbuscontrolunit,passesonthemainlinethroughtheCANmainlinetransceiver,completesthedataacquisition,thusrealizesthetemperaturecontrolgoal.
窗体顶端
Regardlessofthetemperatureexaminationiswidespreadinthemedicalelectrondomainortheindustrialcontroldomainapplication,thepeopleneedtoeachkindofheatingfurnace,theheat-treatmentfurnace,thereactorandboiler'stemperaturecarryontheexaminationandthecontrol,themedicalelectrondomainbiochemistryanalyzerandsoon,theinteriorinvolvetothetemperaturecontrol,hasthespeciallybroadprospect.
Keywords:
AT89S51monolithicintegratedcircuittemperaturesensorDS18B20SJA1000controllertemperatureexamination
目录
引言··································································1
第一章绪论························································2
1.1本设计研究的背景和实际意义·······································2
1.2研究设计相关内容················································2
1.3课题完成功能·····················································3第二章系统设计的基本方案·············································4
2.1设计的主要思路······················································4
2.2温度检测的总体方案设计·············································4
第三章CAN总线温度检测系统的硬件及设计································5
3.1AT89S51单片机介绍·················································5
3.2传感器的选用DS18B20传感器···········································8
3.3PCA82C250收发器,控制器SJAl000与6N137光耦合器···················10
3.4CAN总线接口电路设计················································15
3.5单片机的接口电路·················································16
第四章软件设计······················································19
4.1软件总流程图·····················································20
4.2系统程序设计·····················································20
4.3主程序及子程序·····················································20
结论与展望···························································29致谢···································································30
参考文献······························································31
附录设计原理图···························································32
-29-
引言
自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。
随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向。
温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
更能串接多个数字温度传感器DS18B20进行范围的温度检测。
采用单片机AT89S51对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
本文采用DS18B20测温芯片作为传感器,使用CAN总线标准,设计温度测试体统,该系统精度高,可靠性好,结构简单,成本底,用于各种检测温度场合。
窗体底端
第一章绪论
1.1本设计研究的背景和实际意义
CAN总线是德国一家公司在20世纪80年代初为解决汽车中大量的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。
CAN能灵活有效地支持具有较高安全等级的分布式控制.其数据传输速度可达1Mbps,在汽车、煤矿安全检测、自动化仪表、智能楼宇、机械制造等领域应用广泛。
本文介绍了一种基于CAN总线的智能温、湿度检测系统,可应用于不同的工业自动化领域。
CAN即控制器局域网络,属于工业现场总线的范畴。
与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。
由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。
由于CAN总线本身的特点,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。
CAN(ControllerAreaNetwork——控制器局域网)是一种有效的支持分布式控制和实施控制的总线式串行通信网络,其可靠性远高于已经陈1日的现场通信技术,具有强有力的检错功能以及优先权和仲裁功能,可以很容易的实现多个单片机的挂载,并且价格低廉,结构灵活,维护方便,已经成为国际上应用最广泛的现场总线之一。
另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。
这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
CAN通信的特点:
(1)CAN是到目前为止唯一具有国际标准且成本较低的现场总线;
(2)CAN废除了传统总线的站地址编码,对通信数据块进行编码,为多主方式工作,不分主从,通信方式灵活,通过报文标识符通信,可使不同的节点同时接收到相同的数据,无需站地址等节点信息。
(3)CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。
尤其是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则有可能出现这种情况)。
(4)CAN只需通过报文滤波即可实现点对点、一点对多点即全局广播等方式传送接收数据,无需专门的“调度”。
(5)CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可lambs(此时通信距离最长为40m);
(6)CAN上的节点数最多可达110个(主要取决于总线驱动电路)。
(7)CAN采用短帧结构,单帧最大长度仅150位,传输时间短,从而保证了通信的实时性,受干扰概率低。
(8)CAN的每帧信息都有CRC校验及其他检错措施,降低了数据出错率,保证了数据通信的可靠性。
(9)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。
(10)CAN的通信介质可使用双绞线作为传输介质,价格低廉,可靠性强。
1.2研究设计相关内容
随着科技的进步和时代的发展,温度在人们的生产和生活中扮演的角色越来越重要。
因此在现代的生产和生活中对温度进行监测便有了十分重要的意义。
但是,目前常用的温度监测系统大多存在至少两大缺点:
其一,使用的通信网络可靠性低,抗干扰能力差,成本高;其二,线路上传送的是模拟信号,易受干扰和损耗。
为了克服这些缺点,本文提出了将目前最有前途之一的CAN总线技术与数字化传感器技术结合起来的设计思想,实现了基于CAN总线的智能化温度检测系统。
温度测量控制系统在工业、农业及人们的日常生活中扮演着越来越重要的角色,它对人们的生活具有很大的影响,所以温度检测系统的设计与研究有十分重要的意义。
温度是生产过程和科学试验中普遍存在的物理量,许多领域都需要对温度进行监控。
温度检测对于国民经济等各领域有着非常重要的意义和价值,因此良好的温度检测系统对于温度检测来说就显得尤为重要。
本文研究的温度检测系统就是为了完成本单位温度检测工作。
由于工作要求精度高,测量范围广,需要研制一种方便的以精密铂电阻为标准传感器的高精度数字温度检测系统。
精度问题是本系统需要解决的一个非常重要的问题,要求检测精度达到±0.05℃。
用DSl8820温度传感器对测量点的温度进行采集,可测量多点温DSl8820温度,单片机负责将采集到的各温度值进行处理,然后将测量值传输到CAN总线上,多个CAN总线通信系统可构成CAN总线通信网络,彼此进行通信,温度监测系统作为网络中的一个智能节点,CAN总线系统很容易扩展成多点的温度监测网络,以实现对较大系统的温度实时监测任务。
1.3课题完成功能
利用AT89S51单片机、SJA1000CAN控制器设计开发基于智能节点的CAN网络,实时监测各个节点状态并发送状态信息。
第二章系统设计的基本方案
2.1设计的主要思路
整个系统智能节点和一台主控制器组成。
主控制器和智能节点通过CAN总线连成网络。
智能节点每个1秒采集一次温度值,将采集到的温度值在本机显示并通过CAN总线传输到主控制器。
主控制器接收智能节点的温度值并显示,并可通过CAN总线向智能节点发送温度。
2.2温度检测的总体方案设计
根据应用场合的需要,本温度测控系统主要完成的功能有:
对热电偶温度传感器Pt100的信号进行检测;利用数字温度传感器DS18B20对温度的检测;现场LED显示数字温度信号以及键盘控制功能;主站通过CAN总线与下位机通信,实现对整个系统的监控。
系统主要由:
监控模块、测温模块、现场显示模块和CAN总线通信等部分组成。
设计方案原理图如下:
第三章CAN总线温度检测系统的硬件及设计
3.1AT89S51单片机介绍
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51方框图
AT89S51方框图如上图,AT89S51提供一下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及诊断系统工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89S51单片机引脚图
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
1.主要特性:
(1)8031CPU与MCS-51兼容
(2)4K字节可编程FLASH存储器(寿命:
1000写/擦循环)
(3)全静态工作:
0Hz-33MHz
(4)三级程序存储器保密锁定
(5)128*8位内部RAM
(6)32条可编程I/O线
(7)两个16位定时器/计数器
(8)6个中断源
(9)可编程串行通道
(10)低功耗的闲置和掉电模式
(11)片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。
这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。
若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口。
89C51的P0/P1/P2/P3口作为输入时都是准双向口。
接下来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除了P1口外P0P2P3口都还有其他的功能。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CAN 总线 温度 检测 系统