《基于CAN总线的温室环境温度监测系统设计.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的温室环境温度监测系统设计.docx(52页珍藏版)》请在三一办公上搜索。
1、上海工程技术大学毕业设计(论文) 基于CAN总线的温室环境温度监测系统设计目 录摘 要ABSTRACT0引言1 绪论 1.1 CAN总线特点及国内外应用现状1.2课题的提出和解决1.3课题的主要任务2 系统总体方案设计2.1概述2.2 方案选择2.2.1 单片机选型2.2.2 温湿度传感器选型2.2.3总线控制器选型2.3 系统组成总体结构3 硬件设计3.1 单片机最小系统3.2 温度检测电路3.4键盘电路3.5显示电路3.6CAN接口电路3.6.1 总线控制器3.6.3 CAN收发器4 软件设计4.1.2 下位机通信模式4.2 主程序流程图4.3 MCP2515初始化程序流程图结 论参考文献
2、2 上海工程技术大学毕业设计(论文) 基于CAN总线的温室环境温度监测系统设计摘 要针对以往温室内变量检测劳动强度大、精度低、范围小的现象,本文应用温度和湿度传感器,提出了基于CAN总线的温湿度测控系统设计方案。本设计详细分析了基于CAN总线的温湿度检测和系统的通信原理,设计了单片机最小系统、CAN通信接口电路、温湿度传感器电路、键盘电路、显示电路和报警电路等模块。基于CAN总线的温湿度测控系统实现了温湿度的检测和实时显示,并可以与其它节点通信以便于温室内大范围的温湿度监测和控制,节点结构简单,便于拓展,降低了劳动强度,提高系统的实时性和可靠性。关键词:CAN总线;单片机;温湿度检测;通信接口
3、Design of Greenhouse Environment Monitoring System Based on CAN BusABSTRACTFor the variable detection of labor within the past green house intensity, low accuracy, a small range of phenomena, this paper, temperature and humidity sensors, temperature and humidity monitoring and control system design
4、based on the CAN bus. This design, a detailed analysis of the temperature and humidity testing and systems based on CAN bus communication theory, the smallest single-chip system, CAN communications interface circuits, the temperature sensor circuit, the humidity sensor circuit, the keyboard circuit,
5、 display circuit, and alarm circuit module. Detection and real-time display of temperature and humidity, temperature and humidity monitoring and control system based on CAN bus and can communicate with other node sin the greenhouse so that a wide range of temperature and humidity monitoring and cont
6、rol, the node structure is simple, easy to expand, reduce labor intensity and improve the real-time and reliability of the system.Keywords: CAN bus,microcontroller, temperature and humidity testing, communication interface上海工程技术大学毕业设计(论文) 基于CAN总线的温室环境温度监测系统设计基于CAN总线的温室环境监测系统设计张春林 02120929190 引言20世纪8
7、0年代末、90年代初兴起的现场总线技术引发了工业自动化领域的重大变革,它代表着工业控制网络技术的发展方向。现场总线控制系统(FCS)将集散式控制系统中集中与分散相结合的模式变成了新型的全分布式控制模式,控制功能彻底下放到现场,现场控制设备通过总线与管理层交换信息。在企业信息系统的层次上,整个企业信息网络可以分为现场控制层、过程监控层、生产管理层、市场经营层等多个层次。工业控制网络是控制技术、通信技术、计算机技术在企业现场控制层、过程监控层的综合体现,被称为工厂底层网络。目前,工业控制网络技术的应用已经推广到过程控制自动化、制造自动化、楼宇自动化以及交通运输等多个领域。目前一般把现场总线系统称为
8、第五代控制系统,也称作现场总线控制系统(FCS)。人们一般把50年代前的气动信号控制系统PCS称作第一代,把420mA等电动模拟信号控制系统称为第二代,把数字计算机集中式控制系统称为第三代,而把70年代中期以来的集散式分布控制系统DCS称为第四代。现场总线控制系统FCS作为新一代控制系统,一方面,它突破了DCS系统采用通信专用网络的局限,采用了基于公开化、标准化的解决方案,克服了封闭系统所造成的缺陷;另一方面把DCS的集中与分散相结合的集散系统结构,变成了新型全分布式结构,把控制功能彻底下放到现场。可以说,开放性、分散性与数字通讯是现场总线系统的最显著的特征。目前的现场总线技术有较强实力和影响
9、的有:基金会现场总线FF(Foudation Fieldbus)、局部操作网络LonWorks(Local Operating Network)、过程现场总线Profibus(Process Field Bus)、HART协议、控制局域网络CAN(Controller AreaNetwork)和Dupline等。它们各具特色,在不同的应用领域形成了自己独特的优势。CAN总线是德国Bosch公司在20世纪80年代初为解决汽车中大量的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。CAN能灵活有效地支持具有较高安全等级的分布式控制其数据传输速度可达1Mbps,在汽车、煤矿安全检测、自动化
10、仪表、智能楼宇、机械制造等领域应用广泛。本文介绍了一种基于CAN总线的智能温、湿度检测系统,可应用于不同的工业自动化领域。近些年来,温室大棚种植为提高人们的生活水平带来极大的便利,得到了迅速的推广和应用国家科技部提出的工厂化高效农业示范工程,推动了温室监控技术的发展。但总体来讲,我国温室产业环境控制能力弱,自动化程度低,抵御自然条件能力差。这在很大程度上限制了温室总体效益的进一步提高。种植环境中的温度、湿度、光照度等环境因子,对作物的生产有很大的影响传统的人工控制方式难以达到科学合理种植的要求,国内实现上述环境因子自动监控的系统还不多见,而引进国外具有多功能的大型连栋温室控制系统价格昂贵,不适
11、合国情。对温湿度的精确检测和远距离传输越来越受到人们的重视,针对这一情况,研制一种高精度、高稳定性、低成本且实用的分布式环境温湿度检测控制系统显得非常重要。而利用CAN总线实现远距离节点间和PC机的实时通信,具有结构简单、可靠性高、成本低、实时性好、安装维护方便且便于功能扩展等优点,提高了管理水平和工作效率,所以将CAN总线应用于温室控制具有较好的前景。1 绪论1.1 CAN总线特点及国内外应用现状目的现场总线在美国和欧洲等发达国家和地区发展迅速,并已有较多的应用范例。国内的大学和一些公司也正致力于基于CAN总线的系统开发。在汽车信号传输,电力监控,楼宇智能化,工业测控,安防等领域有着广泛的应
12、用,现场总线的主要优点:(1)增强了现场级信息集成能力;(2)开放式、互操作性、互换性,可集成性;(3)系统可靠性高、可维护性好;(4)降低了系统及工程成本。现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。但随之而来的是巨额的成本。在很多的小型系统中,处理机的成本占系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需
13、要大量复杂运算的系统是非常适合的。单片机,又称微处理器,已经应用到各行各业,制造单片机的半导体厂家也从十几年前的屈指可数的几家发展到现在的几十家甚至更多。不同厂家提供了基于不同架构平台,具备不同功能特点的单片机,这就使得我们根据具体设计的要求,挑选一款最合适的芯片进行系统开发,在满足功能要求的同时最大限度地降低成本。本文介绍的温湿度实时监测装置的监测范围在0-50和20%-95%RH(相对湿度)间,可设置温室环境温湿度的上下限值,若超出温湿度设定值 ,并可通过报警系统通知工作人员。另外,本系统中还应用了CAN总线通信协议,使得通信距离比以前的温湿度控制系统更远、更实用。1.2 课题的提出和解决
14、随着科技的发展和人们生活水平的提高,温室的管理也越来越智能化。它采用传感技术、计算机技术和现代通信技术,实现对温室实行综合自动管理,具有各种安全保护、运行监控等管理功能,给植物提供舒适、安全的内部环境。温室的温湿度必须常年控制在某一特定的范围内,实现温湿度控制智能化。同时时由于温湿度设定的模糊性和个体差异性,需要有一种智能化的设定方法,来实现温湿度没定值的自动匹配。本文介绍的温湿度监控系统,基于CAN总线,采用单片机作为智能节点控制器,系统通信可靠、快捷,硬件电路设计和软件编程简单,能较好地满足对环境温湿度监控的智能化要求。1.3 课题的主要任务综合以前所学知识,利用电路、电子技术、单片机的原
15、理与应用等知识,然后查阅国内外关于检测与传感技术以及语音报警等方面的发展动态和已有的技术,设计一个基于CAN现场总线的温室温湿控制系统设计,因此达到如下要求:1.通过本课题硬件设计,可以使我们了解检测与传感技术的基本原理和报警系统的使用方法。2.能够灵活的运用单片机进行其他各种控制电路的设计开发。通过本课题软件编程能提升我们对单片机的编程水平,能够具有一定的编程技能。3.通过课题设计能让自己将所学的知识综合应用,了解本专业在社会中的应用价值,掌握更多的专业外语知识,增加见识,增强实践能力,创新能力和综合分析问题能力,学会使用专业软件,特别是专业画图软件,另外,在熟练的使用计算机基础上,提高了自
16、己检索资料和利用知识的能力,更新知识,让自己养成良好的学习习惯和严谨的工作风。4.通过CAN总线串口通信协议的学习、使用,能使我从实践层面了解了通信协议理论知识的应用及作用,为以后更好的学习、应用单片机编程打下了基础。5.详细分析课题任务书,对温室温湿度控制的历史和现状进行分析,并对温湿度传感器的原理进行深入的研究,将其综合。然后根据课题任务书的要求设计出实现控制任务的硬件原理图和软件,并进行仿真调试。2. 系统总体方案设计2.1 设计要求随着科技的进步和时代的发展,温室环境在人们的生产和生活中扮演的角色越来越重要。因此在现代的生产和生活中对温室环境进行监测便有了十分重要的意义。但是,目前常用
17、的温湿度监测系统大多存在至少两大缺点:其一,使用的通信网络可靠性低,抗干扰能力差,成本高;其二,线路上传送的是模拟信号,易受干扰和损耗。为了克服这些缺点,本文提出了将目前最有前途之一的CAN总线技术与数字化传感器技术结合起来的设计思想,实现了基于CAN总线的智能化温室环境温室度检测系统。本设计是一个基于CAN总线的温室温湿度测控系统,节点采集温湿度模拟量信号送入主控制器,并将节点的主控制器连接在CAN总线上,可实现远程通信和监控。应用场合:系统可应用于温室、粮食仓储、纺纱车间、图书馆等环境监测调节和报警监控等。2.2系统组成总体结构本设计由单片机最小系统、湿温度检测电路、键盘电路、显示电路、报
18、警电路、CAN控制器、CAN收发器和电源电路构成。本系统以单片机STC89C51为主控制器,键盘设定温湿度的上下限,由温湿度传感器DHT11检测温室内的温度并经其转换为数字信号送往单片机, LCD实时显示室内的温湿度值及报警信息,单片机通过CAN总线控制器、CAN驱动器连接至CAN总线,与总线的其他节点通信,实现温湿度值的检测、处理及监控。系统原理框图:51单片机DHT11温湿度键盘模块报警电路液晶显示USB供电时钟、晶振51单片机液晶显示USB供电时钟、晶振CAN控制器MPC2515SPISPICAN控制器MPC2515CAN驱动器CMT1050CAN驱动器CMT1050CANHCANLCA
19、N总线 图 2.13. 硬件设计3.1 器件介绍3.1.1 单片机选型方案一:采用AT89C51单片机作为硬件核心。其内部具有4KB Flash ROM存储空间,可以用3V的比较低压工作,能与MCS-51系列单片机完全兼容,但是在电路设计的应用中由于不具备ISP在线编程技术,当在对电路进行调试时,由于对程序的错误修改或程序的新增功能需要烧入程序时,会对其造成一定的损坏;当对芯片的多次拔插时,也会有一定程度的损坏。方案二:采用STC89C51单片机作为硬件核心。具有8K 在系统可编程Flash 存储器,可以用3V的比较低压工作,其能与MCS-51系列单片机完全兼容,AT89C51的功能完全具有,
20、当在对电路进行调试时,由于对程序的错误修改或程序的新增功能需要烧入程序时,也不必要对芯片重复拔插,所以很大程度上对芯片造成损坏基本没有。STC89C51和AT89C51都是8051的内核,只不过54的内部资源比51多,比如增加了一个16位的计数器T2,当然相应的特殊寄存器(SFR)也有了一点变化,另外52的内存也从51的128字节提高到了256字节,ROM也从4K提高到8K,可以装下更大的程序,但是若单从运算速度来讲,由于二者都是8051的直系后代,基本上可以认为二者运算性能相同。考虑到内存的增加对较复杂的程序带来的好处,54的总体性能是要比51好不少的。另外S54比C51还增加了ISP功能,
21、就是在线可编程功能,这可是很有用的功能,首先是省去购买编程器的钱。两者在价格上区别不大,综上比较,根据本设计内容选择方案二。3.1.1.1 单片机STC89C51简介STC89C51是一种高性能、低功耗的CMOS八位微控制器,具有8K在系统在线可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品引脚和指令完全兼容。片上Flash允许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活的解决方案。 3.1.1.2 主要特性(1) 低功耗空闲和掉电模式;(2) 全静态操作:0Hz
22、33Hz;(3) 八个中断源;(4) 8K字节在系统可编程Flash存储器;(5) 掉电标识符;(6) 三级加密程序存储器;(7) 与MCS-51单片机产品兼容;(8) 全双工UART串行通道;(9) 三个16位定时器/计数器;(10) 看门狗定时器;(11) 双数据指针;(12) 1000次擦写周期;(13)32个可编程I/O口线。3.1.1.3 引脚功能说明 VCC:电源GND:地 P0口:8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问数据存储器和外部程序时,P0口也被作为低8位数据/地址复用。在这种模式下,P0具有内
23、部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:具有内部上拉电阻的8位双向I/O口,P1输出缓冲器可以驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P10和P12分别作定时器/计数器的外部计数输入(P10/T2)和定时器/计数器的触发输入(P11/T2EX),具体如下表所示。在Flash编程和校验时,P1口接收低8位地址字节。P1口引脚的功能引脚号第二功能P1.0T2(定时器/计数器T2的外部
24、计数输入),时钟输出P1.1T2EX(定时器/计数器T2的重载/捕捉触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用) 表 3.1P2口:具有内部上拉电阻的8位双向I/O口,P2输出缓冲器驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在方位外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在Flash编程和校验时,P2口也接收一些控制信号和高8位地址字节。P3口:P3口是一个具有内部上拉电
25、阻的8位双向I/O口,P2输出缓冲器能驱动四个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C51特殊功能(第二功能)使用,如表所示。 端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口引脚的第二功能RST:复位输入。晶振工作时,单片机复位需要RS
26、T脚持续2个机器周期高电平将。看门狗计时完成后,RST脚输出96个晶振周期的高电平。AXUR(地址8EH)特殊寄存器上的Disrto位可以使此功能无效。Disrto默认状态下,复位高电平有效。Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE以晶振1/6的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,ALE脉冲将会跳过,当每次访问外部数据存储器时。如果需要,通过将SFR(其地址为8EH)的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVC或MOVX指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(SFR地址为8EH的的第0位
27、)的设置对微控制器处于外部执行模式下无效。CS:外部程序存储器选通信号()是外部程序存储器选通信号。当S54从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令。必须接地。为执行内部程序指令,应该接VCC。在Flash编程期间,也接收12V电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.1.2 温湿度传感器选型目前传感器应用非常广泛,传感器的品种繁多,本次设计选择DHT11和SHT11进行比较,根据最适合
28、本设计的方案用之。方案一 DHT11: 湿度测量范围:2095%RH; 温度度测量范围:0 50; 湿度测量精度: 5%RH 温度测量精度:2 方案二 SHT11: 湿度测量范围:0100%RH; 温度测量范围:-40+123.8; 温度测量精度: 0.4 湿度测量精度:3.0%RH虽然SHT11测量精度比较高,但是DHT11从价格上来说远远低于SHT11,而且对于一般温室温湿度监测DHT11已经完全可以满足我们的需要,而且还可以节省成本,选择合适的元器件用做设计,DHT11已经能满足我们检测的需求,故本次设计选择DHT11作为设计温湿度传感器。实物图如下:3.1.2.1 温湿度传感器DHT1
29、1简介数字温湿度传感器DHT11是一款含有已校准熟悉信号输出温湿度复合传感器,它应用专用的温湿度传感技术和数字模块采集技术,确保产品具有卓越的长期稳定性和极高的可靠性。传感器包括一个NTC测温元件和一个电阻式感湿元件,并与一个性能高的8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在即为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳
30、选择。产品为4针单排引脚封装,连接方便。其性能见表3.1:参数条件MinTypMax单位湿度分辨率111%RH8Bit重复性1%RH精度254%RH0505%RH互换性可完全互换量程范围03090%RH252090%RH502080%RH响应时间1/e(63%)25,1m/s 空气61015S迟滞1%RH长期稳定性典型值1%RH/yr温度分辨率111888Bit重复性1精度12量程范围050响应时间1/e(63%)630S表3.1典型应用电路如图3.1:图 3.13.1.2.2 电源引脚DHT11的供电电压为35.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源
31、引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。3.1.2.3 串行接口 (单线双向)DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户MCU
32、发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。通讯过程如图3.2所示图 3.2总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40
33、us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。图3.3总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。数字0信号表示方法如图3.3所示 图3.3数字1信号表示方法如图3.4所示: 图3.43.1.2.4 测量分辨率
34、测量分辨率分别为 8bit(温度)、8bit(湿度)。3.1.2.5 电气特性VDD=5V,T = 25,除非特殊标注参数条件mintypmax单位供电 DC355.5V供电电流测量0.52.5mA平均0.21mA待机100150uA采样周期秒1次表3.2注:采样周期间隔不得低于1秒钟。3.1.2.6 应用信息超出建议的工作范围可能导致高达3%RH的临时性漂移信号。返回正常工作条后,传感器会缓慢地向校准状态恢复。要加速恢复进程/可参阅7.3小节的“恢复处理”。在非正常工作条件下长时间使用会加速产品的老化过程。电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂
35、移和灵敏度下降。在一个纯净的环境中,污染物质会缓慢地释放出去。下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会导致传感器感应层的彻底损坏。置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。在50-60和70%RH的湿度条件下保持 5小时以上。气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。为降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出一道缝隙
36、。长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。3.1.2.7 封装信息图3.53.1.2.8 DHT11引脚说明Pin名称注释1VDD供电 35.5VDC2DATA串行数据,单总线3NC空脚,请悬空4GND接地,电源负极表3.33.1.3 总线控制器选型CAN总线控制器分为两类,一类是集成于微处理器中的CAN控制器,另一类是独立CAN控制器。集成于微处理器中的CAN控制器自带MCU,在系统设计中可以减少制版面积、降低系统功耗。独立的CAN控制器的优点是可以与多种微处理器连接,使用灵活方便,便于基层开发,并且成本较低
37、。使用独立的 CAN控制器潜在的优势在于,仪表设计人员可以大大扩大MCU的选择范围而不必强求MCU必须内含CAN 总线控制模块,在对软件稍作修改后就可以通过SPI接口和MCP2515交换数据。这样,不需要更换MCU就可以在现有的仪表上增加CAN总线的通信功能,从而达到了产品的快速更新,缩短上市时间,降低产品成本,提高产品质量的目的。CAN总线控制器是以一块可编程芯片上的逻辑电路的组合来实现网络层次结构中数据链路层和物理层功能的器件,对外它提供了与微处理器的物理线路的接口。生产CAN器件的知名厂商有:Intel、PHILIPS、Motorola、TI以及SIEMENS等。目前,我国工业上应用最广
38、泛的CAN 控制器芯片当属 PHILIPS公司的 SJA1000。虽然它具有低成本,高可靠性,支持远距离通信等特点,但它在应用中也具有一些缺点,比如地址总线和数据总线分时复用常导致接口效率低下;接收和发送缓冲器的个数太少,导致数据吞吐率低下;占用单片机的IO口多,硬件复杂;屏蔽器和过滤器的设置不够灵活,不能满足同时需要更多屏蔽和过滤条件的要求等。为了满足以上要求,Microchip公司推出了CAN总线控制器芯片MCP2515 ,它符合CAN 2.0B技术规范并带有符合工业标准的SPI串行接口,容易实现,连接简单方便,是目前市场上体积最小,最易于使用也是最节约成本的独立 CAN控制器芯片。使用独
39、立的 CAN控制器潜在的优势在于,仪表设计人员可以大大扩大MCU的选择范围而不必强求MCU必须内含CAN 总线控制模块,在对软件稍作修改后就可以通过SPI接口和MCP2515交换数据。这样,不需要更换MCU就可以在现有的仪表上增加CAN总线的通信功能,从而达到了产品的快速更新,缩短上市时间,降低产品成本,提高产品质量的目的。综上可知,本系统设计有独立的单片机,故选择独立的CAN总线MCP2515控制器,可以降低成本、灵活地扩展节点功能。3.1.3.1 CAN总线控制器MCP2515简介MCP2515能够发送和接收标准数据帧以及扩展数据帧,并具有接收过滤和信息管理的功能。通过其SI引脚同MCU进
40、行数据传输,最高数据传输速率可达1Mpbs。 MCU可以通过MCP2515与CAN总线上的其他MCU进行通信。MCP2515内含3个14字节的发送缓冲器,个 字节的接收缓冲器,并且具有灵活的中断能力、帧屏蔽和过滤、帧优先级设定等特性。这些特点使得MCU对于CAN总线的操作变得非常简单。MCP2515的主要功能参数如下:(1)支持CAN协议 2.0A/2.0B;(2)最大可编程波特率为 1MPbs;(3)有标准帧和扩展帧两种数据帧可供选择,每个帧中的数据段长可为0-8字节;(4)支持远程帧;(5)内含3个发送缓冲器和2个接收缓冲器,并且其优先级可编程设定;(6)内含6个29字节的接收过滤器和6个
41、29字节的接收过滤屏蔽器;(7)具有Loop-Back(自环检测)模式;(8)标准帧的数据段的前两个字节的单独过滤功能;(9)支持比CAN更高层的协议,如:DeviceNet。MCP2515的主要电气特性如下:(1)工作电压:2.7V-5.5V;(2)具有低功耗睡眠状态;(3)工作电流:5mA(待机电流10uA/5.5V);(4)工作温度:I(-40-+85)、E(-40-+125);(5)具有高速 SPI接口(10MHz );(6)支持 SPI0,0和 SPI1,1两种模式;(7)具有 6个中断接口;(8)具有可编程分频系数的时钟脉冲输出引脚;(9)支持最高可达40MHz 的时钟脉冲输入信号
42、;(10)具有可选择使能的中断输出引脚。3.1.3.2 内部结构和工作原理图3.6图3.6为 MCP2515的内部结构与工作原理图,其中CAN模块包括CAN协议机和发送、接收缓冲器以及他们的屏蔽器、过滤器。CAN协议机主要负责与CAN总线的接口,SPI接口逻辑负责实现与MCU的接口,而缓冲器、过滤器组和控制逻辑以及与之相关的位定时发生器、控制和中断寄存器则负责实现各种工作模式的设定和操作控制。MCP2515在CAN总线上的数据接收是通过两个接收缓冲器,两个接收屏蔽器,六个接收过滤器的组合来实现的。CAN总线上只有同时满足了至少任意一个接收屏蔽器和一个接收过滤器的条件的帧才可以进入接收缓冲器.M
43、CU可以通过SPI接口来读取接收缓冲器里的数据。MCP2515对CAN总线的数据发送则没有限制,只要用MCU通过SPI接口将待发送的数据写入MCP2515的发送缓冲器,然后再调用RTS(发送请求)命令即可将数据发送到CAN总线上。具有灵活的中断管理功能,它有8个中断源,包括发送、接收中断,各种错误中断以及总线唤醒中断等。MCU可以通过对MCP2515的中断允许控制寄存器CANINTE的设置来设定和屏蔽各种中断的发生条件,并可以通过读取MCP2515的中断标志位寄存器CANINTF或者通过MCP2515的Read Status(读状态寄存器)命令读取CANSTAT寄存器中的ICOD部分来判断当前
44、中断的中断源。3.1.4 CAN总线驱动器在CAN-bus现场总线迅速普及的今天,CAN-bus现场总线的应用场合也随之多元化,大型远距离的现场CAN-bus网络随处可见。由此带来一个事实,如果单个CAN-bus节点的电路设计不当,往往会出现总线通讯不良,甚至因为收发器电路而损坏整个CAN网络系统的情况;尤其在环境恶劣的场合,这种危险就更多存在!为了避免不必要的损坏,提高可靠性,需要在CAN-bus节点设计时采取保护措施,降低风险,提高性能!一般情况下,需要在CAN控制器与CAN收发器之间采取隔离措施,在CAN-bus总线上加总线保护器件。同传统的设计相比,如图3.7所示以CTM1050为代表
45、的隔离CAN收发器具备更高的集成度、更高的可靠性和更具竞争力的价格,能够帮助使用者降低整体的设计风险和采购成本。由图可知CTM1050将CAN总线收发器功能与隔离功能集合于一身,既节省了成本又为电路板节省了空间。综上,本设计选择CTM1050作为CAN总线驱动器。图3.73.1.4.1 CAN总线驱动器CTM1050简介功能特性具有隔离、ESD保护功能; 电磁辐射EME极低;完全符合ISO 11898标准的CAN收发器;电磁抗干扰EMI性极高;速率最高达1Mbit/s;无需外加元件可直接使用;隔离电压:DC 2500V;至少可连接110个节点;工业级温度范围:-4085;高低温特性好,能满足工业级产品技术要求。内部结构如图3.8图3.8 CTMT1050是高速隔离CAN收发器,内部集成了所有必需的电气元件,包括隔离电路、CAN收发器、总线保护、电源电路,这些都被集成在小于3平方厘米的模块中。CTM1050T的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平,并且具有(DC 2500V)隔离功能、ESD保护功能及TVS管防总线过压。3.1.5 显示器选型方案一:数码管显示,数码管按段数分为七段数码管和八段数码管,起驱动方式