版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 CAN总线的多点温度监测及报警系统设计摘要本文设计的是一套基于 CAN 总线的多点温度检测及报警系统,主要是对粮仓的温 度监控,以确保储粮的安全。系统设计分为主控模块和监控模块。主控监控两模块的微处理器都采用 AT89S52 单片机。为了实现主控模块对监控模块的实时监测, 在主控端和监控端处都设计有 CAN 通信电路,由控制器 SJA1000 和收发器 82C250 组成 CAN 通信接口。另外,主控端的 外围电路部分包括时钟电路功能模块、 EEPROM 存储电路模块、串口通信电路模块、 译码电路功能模块、液晶显示屏模块;监控端的外围电路部分为温度传感器。主控端的 时钟芯片选用 DS12
2、887,EEPROM 存储芯片选用户 AT24C16,显示屏采用 FM12232B 液晶模块。 监控端的温度传感器采用数字传感器 DS18B20,系统设置温度传感器的阐值 为 50。 矚慫润厲钐瘗睞枥庑赖。本文给出了系统的结构和软硬件设计方案, 可实现实时温度测量、 越限报警等功能。 该系统具有可靠性好、通信速率高、抗干扰能力强等特点。本系统还适用于在粮仓、北 方暖气和热水供应中心、大面积水泥铺建等多种场合。 聞創沟燴鐺險爱氇谴净。关键词 : CAN总线; DS18B20;AT89S52BASED ON CAN BUS MULTIPOINT TEMPERATUREMONITORING AND
3、ALARMING SYSTEM DESIGN 残骛楼諍锩瀨濟溆塹籟。ABSTRACTThis paper designs a multi-point temperature detection and alarm system based on CAN bus , this system is mainly used to monitor the temperature of granary, to ensure the safety of the stored grain. 酽锕极額閉镇桧猪訣锥。This system is divided into the main control mod
4、ule and the surveillance module. The microprocessor of the main control module and the surveillance module both use DSP AT89S52 microcontroller. In order to achieve real-time monitoring and measuring of the surveillance module,CAN communications circuits are designed at the port of the main control
5、module and the surveillance module,which is composed by the controller SJA1000 and the 82C250 communications interface. In addition, the external circuit section of the main control module includes the clock circuit modules, EEPROM memory circuit module, serial communication circuit module, decoding
6、 circuit modules, LCD modules; the main portion of the external circuit section of the surveillance module is the temperature sensor. The clock chip of the main control module uses DS12887, the EEPROM memory chip can select AT24C16, the LCD display module can select FM12232B. The temperature sensor
7、of the surveillance module use the digital sensor DS18B20, the lininal value of the temperature sensor is setted at 50 by the system. 彈贸摄尔霁毙攬砖卤庑。This paper presents the architecture of the system and the hardware and software design proposal , enabling the function of real-time temperature measureme
8、nt and the off-limited alarm .The system has good reliability, high transmission rate, strong anti-interference and so on. This system can also be applied to the granary, the north central heating and hot water supply center, the cement paving of a large area and other occasion謀s.荞 抟箧飆鐸怼类蒋薔。Keywords
9、: CAN-bus;DS18B20;AT89S52目录1 绪论 5 厦礴恳蹒骈時盡继價骚。1.1 背景介绍 5 茕桢广鳓鯡选块网羈泪。1.2 国内外相关技术发展概况 5 鹅娅尽損鹌惨歷茏鴛賴。1.2.1 温度传感器的发展概况 5 籟丛妈羥为贍偾蛏练淨。1.2.2 现场总线概况 6 預頌圣鉉儐歲龈讶骅籴。1.3 温度监测及报警系统的应用前景 7 渗釤呛俨匀谔鱉调硯錦。2 现场总线 CAN原理介绍 7 铙誅卧泻噦圣骋贶頂廡。2.1 现场总线简介 7 擁締凤袜备訊顎轮烂蔷。2.2 CAN 总线简介 8 贓熱俣阃歲匱阊邺镓騷。2.2.1 CAN-bus 的产生与发展 9 坛摶乡囂忏蒌鍥铃氈淚。2.2.
10、2 CAN-bus 的基本工作原理 9 蜡變黲癟報伥铉锚鈰赘。2.2.3 CAN-bus 的特征 10 買鲷鴯譖昙膚遙闫撷凄。2.2.4 CAN 协议简介 11 綾镝鯛駕櫬鹕踪韦辚糴。3 基于 CAN多点温度检测系统的总体设计 16 驅踬髏彦浃绥譎饴憂锦。3.1 系统总体方案设计 16 猫虿驢绘燈鮒诛髅貺庑。3.2 系统设计的主要器件选择 16 锹籁饗迳琐筆襖鸥娅薔。3.2.1 微处理器 17 構氽頑黉碩饨荠龈话骛。3.2.2 SJA1000 控制器 18 輒峄陽檉簖疖網儂號泶。3.2.3 PCA82C250 总线收发器 19 尧侧閆繭絳闕绚勵蜆贅。3.2.4 温度传感器的选择 21 识饒鎂錕
11、缢灩筧嚌俨淒。3.2.5 显示器的选择 25 凍鈹鋨劳臘锴痫婦胫籴。3.3 系统硬件结构组成 26 恥諤銪灭萦欢煬鞏鹜錦。4 系统的硬件设计 28 鯊腎鑰诎褳鉀沩懼統庫。4.1 单片机最小系统设计 28 硕癘鄴颃诌攆檸攜驤蔹。4.2 串口电路设计 29 阌擻輳嬪諫迁择楨秘騖。4.3 EEPROM 30 氬嚕躑竄贸恳彈瀘颔澩。4.4 CAN 通信电路设计 31釷鹆資贏車贖孙滅獅赘。4.4.1 CAN 通信结构框图 . 31怂阐譜鯪迳導嘯畫長凉。4.4.2 CAN 通信电路电源模块. 32谚辞調担鈧谄动禪泻類。4.4.3 CAN 通信接口电路 . 32嘰觐詿缧铴嗫偽純铪锩。4.5 时钟电路设计 .
12、 33熒绐譏钲鏌觶鷹緇機库。4.6 译码电路 . . 34鶼渍螻偉阅劍鲰腎邏蘞。4.7 液晶显示屏 . . 35纣忧蔣氳頑莶驅藥悯骛。4.8 温度传感器 . . 37颖刍莖蛺饽亿顿裊赔泷。4.9 键盘电路 . . 38濫驂膽閉驟羥闈詔寢賻。4.10 报警电路 . . 38銚銻縵哜鳗鸿锓謎諏涼。5 系统的软件设计 . 40挤貼綬电麥结鈺贖哓类。5.1 系统整体软件设计 . 40赔荊紳谘侖驟辽輩袜錈。5.2 主控模块软件设计 . 40塤礙籟馐决穩賽釙冊庫。5.2.1 CAN 控制器的初始化 . 40裊樣祕廬廂颤谚鍘羋蔺。5.2.2 主控端巡检监控端 43仓嫗盤紲嘱珑詁鍬齊驁。5.2.3 外围电路软
13、件设计 43绽萬璉轆娛閬蛏鬮绾瀧。5.3 监控模块软件设计 . 50骁顾燁鶚巯瀆蕪領鲡赙。5.3.1 CAN 通信模块软件设计. 50瑣钋濺暧惲锟缟馭篩凉。5.3.2 温度传感器的软件设计 50鎦诗涇艳损楼紲鯗餳類。6 结论 . 51栉缏歐锄棗鈕种鵑瑶锬。参考文献 52辔烨棟剛殓攬瑤丽阄应。致谢 52峴扬斕滾澗辐滠兴渙藺。附录 52詩叁撻訥烬忧毀厉鋨骜。附录 A 程序清单 . 52则鯤愜韋瘓賈晖园栋泷。附录 B 主控系统电路原理图 53胀鏝彈奥秘孫戶孪钇賻。附录 C 监控系统电路原理图 53鳃躋峽祷紉诵帮废掃減。1 绪论1.1 背景介绍 我国是一个农业大国,每年都有大量的新粮收获也有部分陈粮积
14、压,由于储存不 当会造成大量的粮食浪费, 科学储粮是粮食生产的一个重要环节,若管理不当,粮食 发霉或生虫会造成极大浪费,给国家和人民造成了巨大的经济损失,粮仓的性能成为粮 食质量的决定因素。 稟虛嬪赈维哜妝扩踴粜。随着电子技术和计算机技术的发展,目前普遍采用电子和计算机对粮仓测控和管 理,但是仍存在很多不尽人意的问题,如抗干扰性能差、传输数据丢失等,针对这些情 况提出一种基于 CAN总线粮仓多点温度测控及报警系统的设计方法。 陽簍埡鲑罷規呜旧岿錟。1.2 国内外相关技术发展概况传统的机械式温度检测仪表己经有上百年的历史了,一般均具有指示温度的功能, 由于测温原理不同,不同的仪表在报警、记录、控
15、制信息远传等方面有较大的差别。今 年来由于微电子的进步以及计算机应用的日益广泛, 智能化测量仪表己经取得巨人的进 步,以单片机为主体的温度控制器取代了传统的仪器仪表。常规电子线路,可以容易地 将计算机技术与测量技术结合起来。智能仪表在测量过程自动化,测量结果的数据处理 以及功能的多样化方面都取得了巨大的进展。目前,在研制高精度,高性能,多功能的 测量仪表时,几乎没有不考虑使用单片机使之成为智能仪表的。 沩氣嘮戇苌鑿鑿槠谔應。1.2.1 温度传感器的发展概况美国 Dallas 半导体公司的数字化温度传感器 DS1820是世界上第一片支持 “一线 总线”接口的温度传感器,在其内部使用了在板专利技术
16、。全部传感元件及转换电路集 成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松 地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 DS18B20 体积 更小、更经济、更灵活、精度更高、适用电压更宽、采用一线总线、可组网等优点,在 实际应用中取得了良好的测温效果。 使你可以充分发挥“一线总线”的优点。 同 DS1820 一样, DS18B20也支持“一线总线”接口,测量温度范围为 -55C+125C,在-10 +85C范围内,精度为 0.5 C。现场温度直接以“一线总线”的数字方式传输,大大提 高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制
17、、设备或过程控 制、测温类消费电子产品等。 与前一代产品不同, 新的产品支持 3V 5.5V 的电压范围, 使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 钡嵐縣緱虜荣产涛團蔺。1.2.2 现场总线概况 现场总线是应用在生产现场、 在微机化测量控制设备之间实现双向串行多节点数字 通信的系统,现场总线技术将专用微处理器置入传统的测量控制仪表,使它们各自具有 了数字计算和数字通讯能力,采用可进行简单连接的双绞线等作为总线,把多个测量控 制仪表连接成网络系统,并按公开、规范的通信协议,在位于现场的多个微机化测量控 制设备之间及现场仪表与远程监控计算机之间,实现数据传输与信息交换,形成各种适
18、 应实际需要的自动控制系统 1 。 懨俠劑鈍触乐鹇烬觶騮。现场总线是 20世纪 80 年代中期在国际上发展起来的。 随着微处理器与计算机功能 的不断增强和价格的降低,计算机与计算机网络系统得到迅速发展。现场总线可实现整 个企业的信息集成,实施综合自动化,形成工厂底层网络,完成现场自动化设备之间的 多点数字通信,实现底层现场设备之间以及生产现场与外界的信息交换。 1983 年, Honeywell 推出了智能化仪表,它在原模拟仪表的基础上增加了计算功能的微处理器芯 片,在输出的 4 20mA直流信号上迭加了数字信号,使现场与控制室之间的连接模拟信 号变为数字信号。之后,世界上各大公司推出了各种智
19、能仪表。智能仪表的出现为现场 总线的诞生奠定了基础。智能仪表的出现为现场信号的数字化提供了条件,但不同厂商 提供的设备通信标准不统一,束缚了底层网络的发展。现场总线要求不同的厂商遵从相 同的制造标准,组成开放的互连网络是现场总线的发展趋势。 现场总线系统打破了传 统控制系统采用的按控制回路要求, 设备一对一的分别进行连线的结构形式。 把原先 DCS 系统中处于控制室的控制模块、各输入输出模块放入现场设备,加上现场设备具有通信 能力,因而控制系统功能能够不依赖控制室中的计算机或控制仪表,直接在现场完成, 实现了彻底的分散控制。 謾饱兗争詣繚鮐癞别瀘。对于一般控制,设备间连锁可以通过串行网络完成。
20、 因此,BOSCH 公司开发了 CAN 总线 (Controller Area Network) ,并已取得国际标准化组织认证 (ISO11898),其总线结构 可参照 ISO/OSI 参考模型。同时,国际上一些大的半导体厂商也积极开发出支持 CAN 总线的专用芯片。通过 CAN 总线,传感器、控制器和执行器由串行数据线连接起来。它不仅仅是将电缆按树形结构连接起来, 其通信协议相当于 ISO/OSI 参考模型中的数据 链路层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。 CAN 网络的配制比较容易,允许任何站之间直接进行通信,而无需将所有数据全部汇 总到主计算机后再行处理
21、。对机动车辆总线和对现场总线的需求有许多相似之处,即较 低的成本、 较高的实时处理能力和在恶劣的强电磁干扰环境下可靠的工作。 奔驰 S 型轿 车上采用的就是 CAN 总线系统 ;美国商用车辆制造商们也将注意力转向 CAN 总线 ;美国 一些企业已将 CAN 作为内部总线应用在生产线和机床上。 同时,由于 CAN 总线可以提 供较高的安全性,因此在医疗领域、纺织机械和电梯控制中也得到广泛应用。 呙铉們欤谦鸪 饺竞荡赚。1.3 温度监测及报警系统的应用前景在粮仓、北方暖气和热水供应中心、大面积水泥铺建等多种场合中,温度是最主要 的检测控制参数,在电力、生物制品、药品、电子器件等行业,温度监测及报警
22、系统更 是需求很大。因此,温度监测及报警系统的应用范围非常广泛。但由于各类温度传感器 的性能稳定性、适应性、经济性仍然存在不少技术问题,阻碍了温度监测及报警系统的 应用发展。 这些领域大都以较为准确但效率非常之低的检测手段为主, 如目前国内 80% 的纺织企业对工作环境温度的检测仍采用温度计表的形式。如能充分利用智能化技术, 实现温度控制系统的自动检测及越线报警提示技术, 由此推广应用将可能出现一定的市 场规模,应用前景将更加看好。 莹谐龌蕲賞组靄绉嚴减。2 现场总线 CAN原理介绍2.1 现场总线简介随着控制、计算机、通讯、网络等技术的发展,信息交换沟通的领域正在迅速覆盖 从工厂的现场设备层
23、到控制、管理的各个层次、覆盖从工段、车间、工厂、企业乃至世 界各地的市场。信息技术的飞速发展,引起了自动化系统结构的变革,逐步形成以网络 集成自动化系统为基础的企业信息系统。现场总线就是顺应这一形势发展起来的新技 术。麸肃鹏镟轿騍镣缚縟糶。现场总线是当今自动化领域技术发展的热点之一, 被誉为自动化领域的计算机局域 网。它的出现,标志着工业控制领域又一个新时代的开始,并将对该领域的发展产生重 要影响。现场总线是应用在生产现场、在微型计算机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的底层控制网络。其在制 造业、流程工业、交通、楼宇等方面的自动化系统中具有广
24、泛的应用背景2 。納畴鳗吶鄖禎銣腻鰲锬。现场总线技术将专用于微处理器置入传统的测量控制仪表, 使它们各自具有数字计 算和通信能力,采用可进行简单连接的双绞线等作为总线,把多个测量控制仪表连接成 的网络系统,并按公开、规范的通信协议,在位于现场的多个微型计算机化测量控制设 备之间以及现场仪表与远程监控计算机之间,实现数据传输与信息交换,形成各种适应 实际需要的自动控制系统。简而言之,它把单个分散的测量控制设备变成网络节点,以 现场总线为纽带, 连接成可以相互沟通信息、 共同完成自控任务的网络系统与控制系统。 它给自动化领域带来的变化正如众多分散的计算机被网络连接在一起,使计算机的功 能、加入到信
25、息网络的行列。因此现场总线技术是一个控制技术新时代的开端2。 風撵鲔貓铁频钙蓟纠庙。2.2 CAN 总线简介控制器区域网 (Controller Area Network)CAN 现场总线已经成为在仪表装置通讯的 新标准。它提供高速数据传送, 在短距离 (40m)条件下具有高速 (1Mbit/s) 数据传输能力, 而在最大距离 10000m时具有低速 (5kbits/s)传输能力,极适合在高速的工业自控应用上 CAN 总线可在同一网络上连接多种不同功用的传感器 (如位置,温度或压力等 )。灭嗳骇諗 鋅猎輛觏馊藹。CAN 总线与其他总线相比有如下特点 :它是一种多主总线,即每个节点机均可 成为主
26、机,且节点机之间也可进行通信;通信介质可以是双绞线、同轴电缆或光导纤 维,通信速率可达 1Mbps;CAN 总线通信接口中集成了 CAN 协议的物理层和数据链 路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、 优先级判别等项工作; CAN 协议的一个最大特点是废除了传统的站地址编码,而代 之以对通信数据块进行编码。 采用这种方法的优点可使网络内的节点个数在理论上不受 限制,数据块的标识码可由 11位或 29位二进制数组成,因此可以定义 211或 229个不 同的数据块,这种按数据块编码的方式,还可使不同的节点同时接受到相同的数据,这 一点在分步式控制中非常重要;数据
27、段长度最多为 8 个字节,可满足通常工业领域中 控制命令,工作状态及测试数据的一般要求。同时, 8 个字节不会占用总线时间过长, 从而保证了通信的实时性; )CAN 协议采用 CRC 检验并可提供相应的错误处理功能, 保证了数据通信的可靠性。 CAN 总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设备测控单元互连。因此倍受工业界的重视,并已公认为最有前途的现场 总线之一。 铹鸝饷飾镡閌赀诨癱骝。2.2.1 CAN-bus 的产生与发展控制器局部网( CANCONTROLLER AREA NETWORK )是 BOSCH公司为现代 汽车应用领先推出的一种多主机局部网,由于其卓越性能现
28、已广泛应用于工业自动化、 多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将 在我国迅速普及推广。 攙閿频嵘陣澇諗谴隴泸。随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算 机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活 性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即 负载分散、功能分散、危险分散和地域分散。 趕輾雏纨颗锊讨跃满賺。2.2.2 CAN-bus 的基本工作原理CAN 总线的拓扑结构如图 2.1 所示,是一个典型的串行总线的结构形式图 2.1 CAN 总线网络结构CAN 总线
29、中一个节点发送信息,多个节点接收信息;但 CAN 总线的信息存取方式 既不同于令牌方式的 Arcnet,也不同于主从方式的 Bitbus,采用的是一种 广播式 的存取 工作方式。与其他网络不同,在 CAN 总线的通信协议中, 没有节点地址的概念 ,也没 有任何与节点地址相关的信息存在, 它支持的是基于报文的工作方式 5。也就是说,CAN 总线面向的是数据而不是节点,因此加入或撤销节点设备都不会影响网络的工作,十分 适用于控制系统要求快速、可靠、简明的特点。 夹覡闾辁駁档驀迁锬減。以下将对 CAN 总线的 基本通信工作原理 做一介绍。CAN 总线协议是通过一种非破坏性的仲裁方式来解决总线冲突的。
30、这也就是说当 总线出现发送冲突时,通过仲裁后,原发送信息不会受到任何影响。所有的仲裁判别都 不会破坏优先级高的报文信息内容,也不会对其发送产生任何的时延。这种仲裁规则可 以使信息和时间均无损失。 视絀镘鸸鲚鐘脑钧欖粝。CAN 总线是一个基于报文而不是基于站点地址的协议。也就是说报文不是按照地 址从一个节点传送到另一个节点。 CAN 总线上报文所包含的内容只有优先级标志区和 欲传送的数据内容。所有节点都会接收到在总线上传送的报文,并在正确接收后发出应 答确认。至于该报文是否要做进一步的处理或被丢弃将完全取决于接收节点本身,由节 点来进行报文过滤。同一个报文可以发送给特定的站点或许多站点,就看你怎
31、样去设计 网络和系统。 偽澀锟攢鴛擋緬铹鈞錠。CAN 总线协议 另外一个有用的特性是 一个节点可以主动要求其它节点发送信息。 这种特性叫做远程发送请求( RTR)。和上面不同之处在于,节点并不等待信息的到来, 而是主动去索取。设计人员就可以利用这一远程发送请求特性来减少网络的数据通信 量,同时维持整个系统的完整性。 緦徑铫膾龋轿级镗挢廟。基于报文的这种协议另外一个好处是新的节点可以随时方便地加入到现有的系统 中,而不需对所有节点进行重新编程以便它们能识别这一新节点。一旦新节点加入到网 络中,它就开始接收信息,判别信息标识,然后决定是否作处理或直接丢弃。CAN 总线定义了四种不同的报文(或叫帧)
32、用于总线通信。第一种也是最常用的是数据帧,用 于一个节点传送信息到其它任一或所有节点;第二种叫远程帧,基本上是一个数据帧但 其中的 RTR位被置 1,表明这是一个远程发送请求, 用于一个节点主动要求其它节点发 送信息;另外两种用于差错处理,分别叫做错误帧和过载帧。如果节点在接收过程中检 测到任一在 CAN 总线协议中定义了的错误信息,它就会发送一个错误帧,当一个节点 正忙于处理接收的信息,需要额外的等待时间接收下一报文时,可以发送过载帧,通知 其它节点暂缓发送新报文。 騅憑钶銘侥张礫阵轸蔼。2.2.3 CAN-bus 的特征(1)CAN 总线有如下基本特点: 废除传统的站地址编码,代之以对通信
33、数据块进行编码,可以多主方式工作; 采用非破坏性仲裁技术, 当两个节点同时向网络上传送数据时, 优先级低的节点 主动停止数据发送, 而优先级高的节点可不受影响继续传输数据, 有效避免了总线冲突; 疠骐錾农剎貯狱颢幗騮。 采用短帧结构, 每一帧的有效字节数为 8 个,数据传输时间短, 受干扰的概率低, 重新发送的时间短; 每帧数据都有 CRC 校验及其他检错措施,保证了数据传输的高可靠性,适于在 高干扰环境下使用; 节点在错误严重的情况下, 具有自动关闭总线的功能, 切断它与总线的联系, 以 使总线上其他操作不受影响; 可以点对点,一对多及广播集中方式传送和接受数据。(2)CAN 总线的优点 :
34、 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; 具有优先权和仲裁功能,多个控制模块通过 CAN 控制器挂到 CAN-bus 上,形 成多主机局部网络; 可根据报文的 ID 决定接收或屏蔽该报文; 可靠的错误处理和检错机制; 发送的信息遭到破坏后,可自动重发; 节点在错误严重的情况下具有自动退出总线的功能; 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。2.2.4 CAN 协议简介2.2.4.1 CAN 协议的分层结构CAN 协议分为三层:目标层、传输层和物理层 6 。主要对应于 ISO(Inter
35、mational Standard Organizantion,国际标准化组织 )的 OSI(Open System Interconnertion,开放系统 互连)七层模型中数据链路层的媒体访问控制子层以及物理层的物理信号部分。目标层 和传输层包含所有由 ISO/OSI 模型定义的数据链路层的服务和功能。由于 CAN 的数据 结构简单,又是范围较小的局域网,因此不需要其他中间层,应用层数据直接取自数据 链路层或直接向链路层写数据。结构层次少有利于系统中实时控制信号的传送。 镞锊过润 启婭澗骆讕瀘。CAN 协议 规范应用层有设计者自行定义数据 链路层逻辑链路控制子层 LLC媒体访问控制子层 M
36、AC物理层物理信号子层 PLS物理媒体附属子层 PMA媒体相关接口子层 MDICAN 控制器CAN 收发器传 播 媒 体赛。图 2.2 CAN 协议的分层结构榿贰轲誊壟该槛鲻垲CAN 协议的分层结构如图 2.2 所示。PMA 子层和 MDI 子层有多种规范,由不同的 组织制定,可应用在不同的领域和场合。 邁茑赚陉宾呗擷鹪讼凑。CAN 层的定义与开放系统互连模型( OSI)一致,每一层与另一设备上相同的那一 层通讯,实际的通讯发生在每一设备上的相邻的两层,而设备只通过模型物理层的物理 介质互连,表 2-1中展示了 OSI开放式互连模型的各层。应用层协议可以由 CAN 用户 定义成合适特别工业领域
37、的任何方案, 已在工业控制和制造业领域得到了广泛应用的标 准是 DeviceNet,这是 PLC 和智能传感器设计的,在汽车工业,许多制造商都应用他们 的标准。 嵝硖贪塒廩袞悯倉華糲。表 2-1 OSI 开放系统互连模型7应用层最高层用户软件网络终端等之间用来进行信息交换如 DeviceNet6表示层将两个应用不同数据格式的系统信息转化为能共同理解的格式5会话层依靠低层的通信功能来进行数据的有效传递4传输层两通信节点之间数据传输控制操作如数据重发数据错误修复3网络层规定了网络连接的建立维持和拆除的协议如:路由和寻址2数据链路层规定了在介质上传输的数据位的排列和组织如数据校验和帧结构1物理层规定
38、通讯介质的物理特性如电气特性和信号交换的解释CAN 物理层定义了传输线和硬件的机械、电气和电信号特征及功能。机械特征包括连接器尺寸、类型等;电气特性包括最大传输速率、最大传输距离、信号电平状态代 表意义等;电信号特征包括对应电平信号的逻辑信号、信号的传输时序、数据采样方式 等。但在 CAN2.0A/B 中对物理层部分的内容做了规定, 而在 ISO11898 标准中的内容更加具体,但没有指明通讯介质的材料,因而用户可以根据自己的需要选择双绞线,同轴 电缆或光纤,最常用的就是双绞线。 该栎谖碼戆沖巋鳧薩锭。表 2-2 CAN 总线长度与传输距离的关系CAN 总线波特率任意两节点间的最大距离1Mbp
39、s40m500kbps130m250kbps270m125kbps530m100kbps620m50kbps1.3km20kbps3.3km10kbps6.7km5kbps10kmCAN 网络的速度取决于总线的长度。控制器最快能达到 1Mbps,但对总线长度有 限制。对于 50m长的总线,最大波特率是 1Mbps,而对于 150m 的总线,波特率约为 0.5Mbps。CAN 网络上的任意两个节点之间的最大传输距离与其位速率有关,其对应关 系见表 2-2 所示。 劇妆诨貰攖苹埘呂仑庙。CAN 总线上的电平形式中的总线数值为两种互补逻辑数值之一: “显性”或“隐性” 显性数值表示逻辑“ 0”,而“
40、隐性”数值表示逻辑“ 1”。“显性”和“隐性”同时发送 时,最后总线数值将显示为“显性” 。在“隐性”状态下, VCAN H 和VCAN L 被固定于平均 电压电平, Vdiff 近似为 0。在总线空闲或“隐性”位期间,发送“隐性”状态。 “显性” 状态改写“隐性”状态并发送。总线位的数值表示如图 2.3 所示。 (差动传输方式 )臠龍讹驄 桠业變墊罗蘄。2.2.4.2 报文传输及其帧结构SOF仲裁场11 位标示符RTR 位控制场图 2.4 数据帧标准格式中的仲裁场结构CAN总线的数据传输由以下 4 个不同的帧类型所表示和控制,它们分别是 7 : 数据帧:数据帧将数据从发送器传送到接收器。 远
41、程帧:总线单元发出远程帧,请求发送具有相同标识符的数据帧。 错误帧:任何单元检测到总线错误就发出错误帧。 超载帧:超载帧用以在相邻的数据帧或远程帧之间提供附加的延时。 数据帧和远程帧用一个帧空间与前面的帧分开。以下将逐一对各帧的结构做详细介绍。CAN技术规范 2.0B 中有两种不同的帧格式,标准帧和扩展帧。不同之处在于每帧的标识符的长 度不同:标准帧的标识符长度为 11 位,而扩展帧的长度则为 29 位。 鰻順褛悦漚縫冁屜鸭骞。标准格式和扩展格式的仲裁场格式不同。在标准格式中,仲裁场由11 位标识符 ID 和远程发送请求位 RTR组成。 11位标识符为 ID.28 ID.18 ,如图 2.4
42、所示。 穑釓虚绺滟鳗絲懷紓泺。数据帧由 7 个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。数据场的长度可为 0。数据帧的结构如表 2-3 所示。 隶誆荧鉴獫纲鴣攣駘賽。表 2-3 数据帧结构 帧起始 仲裁场 控制场 数据场CRC场 ACK场 帧结束 帧起始( SOF)标志数据帧和远程帧的起始,仅由一个显性位构成。只有在总线处于空闲状态时 才允许站开始发送。所有站都必须同步于首先开始发送的那个站的帧起始前沿。 浹繢腻叢着駕骠構砀湊。而在扩展格式中, 仲裁场由 29 位标识符、 SRR位、IDE 位和 RTR位组成, 标识符为 ID.28 ID.0 , 如图 2.5
43、 所示。 鈀燭罚櫝箋礱颼畢韫粝。SOF仲裁场控制场11 位标示符SRR IDE 18 位标示符RTR图 2.5 数据帧扩展格式中的仲裁场结构 控制场由 6 位组成。其结构如图 2.6 所示。仲裁场控制场数据场IDE/r1 r0DLC3 DLC2 DLC1 DLC0保留为数据长度代码缉蘿绅颀阳灣熗鍵。图 2.6 控制场结构标准格式的控制场结构和扩展格式的不同。 标准格式里的控制场包括数据长度码DLC,IDE 位及保留位 r0 ;扩展格式里的控制场包括 DLC和两个保留位 r1 和 r0 。保留位必须发送显性位。数据长 度码指出数据场的字节数目。数据长度码为4 位,在控制场中发送。数据字节的允许数
44、目为08。贞廈给鏌綞牵鎮獵鎦龐。远程帧由 6 个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。与数据帧相反,远程帧的 RTR位是隐性位。远程帧不存在数据场, DLC的数值没有意义,它可以是 0 8 中 的任何数值,这一数值为对应数据帧的DLC。嚌鲭级厨胀鑲铟礦毁蕲。错误帧由两个不同场组成, 第一个场由来自各站的错误标志叠加得到, 第二个场是出错界定符。 有两种形式的错误标志,一种是活动错误标志,另一种是认可错误标志。活动错误标志由 6 个连续 的显性位组成,认可错误标志由 6 个连续的隐性位组成。 薊镔竖牍熒浹醬籬铃騫。超载帧包括两个位场:超载标志和超载界定符。有三种超载条
45、件会导致超载标志的发送:一是 要求延迟下一个数据帧或远程帧的内部条件,二是在间歇场的第 1位和第 2 位检测到显性位,三是 如果 CAN节点在错误界定符或超载界定符的第8 位(最后一位)采样到一个显性位,节点会发送一个超载帧(不是错误帧) 。超载标志由 6 个显性位组成,所有形式对应于活动错误标志形式。超载界 定符由 8 个隐性位组成,与出错界定符具有相同的形式。 齡践砚语蜗铸转絹攤濼。2.2.4.3 报文滤波CAN总线通过报文滤波技术,可以实现点对点、一点对多点及全局广播等多种数据传送方式 报文滤波技术实际是通过屏蔽寄存器和滤波寄存器来实现。屏蔽寄存器设定需要校验的二进制位, 滤波寄存器存储
46、需比较的数值。对这一概念的理解有助于深刻了解CAN协议的原理及其硬件结构,为软件的实现打下基础。 绅薮疮颧訝标販繯轅赛。滤波寄存器和屏蔽寄存器决定是否将信息装入接收缓冲区。信息帧仲裁场的标识符与滤波寄存 器中的值比较,如果二者相等,则将信息装入相应的接收缓冲区。屏蔽寄存器的作用是决定标识符 的哪些位需要与滤波寄存器比较。如果屏蔽寄存器的每一位为1,那么这一位会自动接收,无须与滤波寄存器的相应位进行比较。 饪箩狞屬诺釙诬苧径凛。可见如果信息标识符的高字节为 11001101,屏蔽寄存器值为 00001111,若滤波寄存器的值为 11001101则将数据收入缓冲区。也就是说满足下列两等式之一,则报
47、文被接收。( ID.10 ID.3 )(AC.7 AC.0) 烴毙潜籬賢擔視蠶贲粵。(AM.7AM.0) 11111111屏蔽寄存器和滤波寄存器存放在CAN控制器中,其自动识别标识符的功能由硬件实现,但滤波寄存器和屏蔽寄存器的值需要软件设定。 鋝岂涛軌跃轮莳講嫗键。3 基于 CAN多点温度检测系统的总体设计3.1 系统总体方案设计 温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远 等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、 A/D 转换及相应 的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样, 由于各种因素会造成检测系统较大
48、的偏差;又因为检测环境复杂、测量点多、信号传输 距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降 。所以多点温度检测 系统的设计的关键在于两部分:温度传感器的选择和远程通信的设计。温度传感器应用 范围广泛、使用数量庞大,也高居各类传感器之首。系统采用针对传统温度测温系统测 温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于 大规模多点温度的检测报警系统。系统的主控模块与监控模块之间采用 CAN 总线进行 数据传输,从而成为总线上的监控节点。系统组成框图如下图 3.1 。撷伪氢鱧轍幂聹諛詼庞。图 3.1 系统组成框图3.2 系统设计的主要器件选择在粮库、仓库中温
49、度是主要的参数,本设计要求设计温度参数的自动检测系统,该系统由单片机或其它微型机来完成,并实现显示温度值,当测量到的温度超过用户界限 时报警。目前 CAN 总线已被公认为是最有前途的几种现场总线之一。因其高性能价格 比、实现简单等突出优点深得越来越多的研发人员的青睐, CAN 控制器有 82C250、 SJA1000及 Intel 82526/82527等;根据当前市场、开发工具和课题的实际需要,系统的 智能节点均选用 ATMEL8 位单片机 AT89S52 为微处理器,并选取 PhiliPs 公司的 SJA1000CAN 控制器以及 PCA82C250 总线收发 器,主要考虑到 SJA100
50、0 支 持 CAN2.0A/B 协议,而 82C250可以支持 110个 CAN 节点,并且国内市场上 PhiliPs 的产 品型号比较多,购买比较方便。 踪飯梦掺钓貞绫賁发蘄。3.2.1 微处理器AT89S51/52 系列单片机是美国 ATMEL 公司生产的一种低功耗、高性能的片内有 4K/8K 快闪可编程 /擦除只读存储器 (FPEROM)的 8位 COMS 微控制器。除与 8031引脚 和指令系统完全兼容外, 又增加了许多新的功能。 AT89S52 具有 8K 在系统可编程 Flash 存储器。使用高密度非易失性存储器技术制造, 与工业 80C51 产品指令和引脚完全兼容。 片上 Fla
51、sh 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧 的 8位 CPU和在系统可编程 Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵 活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节 Flash,256字节 RAM, 32位 I/O 口线,看门狗定时器, 2个数据指针,三个 16位定时器/计数器,一个 6向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52可降至 0Hz 静态 逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU停止工作,允许 RAM 、 定时器 /计数器、串口、中断继续工作。掉电保护方
52、式下, RAM 内容被保存,振荡器被 冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最新的89S 系列时钟频率支持到了 3MHz,包含看门狗定时器 WDT 、2 个数据指针等新功能,极大的增强了单 片机的性能,是目前取代 MCS-51 单片机的主流芯片之一。 故本系统选用 AT89S52单片 机作为微控制器。 婭鑠机职銦夾簣軒蚀骞。AT89S52单片机主要性能 : 与 MCS-51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作: 0Hz 33Hz 三级加密程序存储器 32个可编程 I/O 口线 三个 16 位定时器 / 计数器八个中断源
53、 全双工 UART 串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器双数据指针 掉电标识符3.2.2 SJA1000 控制器SJA1000是一个独立的 CAN 控制器, SJA1000是 PHILIPS 公司早期 CAN 控制器 PCA82C200 的替代品,功能更强,增加了一种新的工作模式 (PeliCAN) ,这种模式支持 CAN2.0B 协议912 。SJA1000主要负责把并行的数据转换成 CAN 的格式进行发送和接 收。它内部自带发送和接收缓冲,并有超强的错误报警和双重滤波处理。 SJA1000 具有 如下特点: 譽諶掺铒锭试监鄺儕泻。 完全兼容 PCA82C200 及
54、其工作模式,即 BASICCAN 模式; 具有扩展的接收缓冲器, 64字节的 FIFO 结构; 支持 CAN2.0B ; 支持 11 位和 29 位识别码; 位速率可达 1Mbit/s ; 支持 peliCAN 模式及其扩展功能; 24MHz 的时钟频率; 支持与不同微处理器的接口; 可编程的 CAN 输出驱动配置; 增强了温度范围( -40 +125)。SJA1000的硬件结构框图如图 3.2所示。图 3.2中,SJA1000由 CAN 核心模块、接 口管理逻辑、发送缓冲区、验收滤波器单元、接收 FIFO(先入先出 )等几部分组成。 俦聹执 償閏号燴鈿膽賾。图 3.2 SJA1000 的硬件
55、结构框图CAN 核心模块负责 CAN 信息帧的收发和 CAN 协议的实现。 接口管理逻辑负责同外部主控制器 的接口,该单元中的每一个寄存器都可由主控制器通过SJA1000的地址 /数据总线访问 13。发送缓冲区可存储一个完整的信息帧,长度为13 字节。主控制器可直接将标识符和数据送入发送缓冲区,然后置位命令寄存器 (CMR) 中的发送请求位 TR ,启动 CAN 核心模块读取发送缓冲区中的数据, 按 CAN 协议封装成一个完整的 CAN 信息帧,提供给收发器发往总线。 缜電怅淺靓蠐浅錒鵬凜。SJA1000 主要由接口管理逻辑 IML 、信息缓冲器 (含发送缓冲器 TXB 和接收缓冲器 RXFI
56、FO) 、 位流处理器 BSP、接收过滤器 ASP、位时序处理逻辑 BTL 、错误管理逻辑 EML 、内部振荡器及复位 电路等构成。 IML 接收来自 CPU 的命令,控制 CAN 寄存器的寻址并向主控器提供中断信息及状态 信息。 CPU 的控制经 IML 把要发送的数据写入 TXB ,TXB 中的数据由 BSP 处理后经 BTL 输出到 CAN 总线。 BTL 始终监视 CAN 总线,当检测到有效的信息头“隐性电平 -控制电平”的转换时启动 接收过程, 接收的信息首先要由位流处理器 BSP处理,并由 ASP 过滤。只有当接收的信息的识别码 与 ASP 检验相符时,接收信息才最终被写入 RXB 或 RXFIFO 中。 RXFIFO 最多可以缓存 64 字节的 数据,该数据可被 CPU 读取。 EML 负责传送层中调制器的错误管制,它接收BSP 的出错报告,促使 BSP 和 IML 进行错误统计 14。 骥擯帜褸饜兗椏長绛粤。验收滤波器单元完成接收信息的滤波,只有验收滤波器通过且无差错,才把接收的信息帧送入 接收 FIFO 缓冲区,且置位接收缓冲区状态标志 SR.0,表明接收缓冲区中己有成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026农业投资行业市场供需分析投资评估规划深度研究报告
- 2025中小学教师高级职称专业水平能力题库(含答案)
- 2025年AI情绪调节设备库存周转率提升策略
- 2025新证券从业资格考试考点速记题目及答案
- 2026届河北省石家庄市长安区重点达标名校毕业升学考试模拟卷历史卷含解析
- 陕西省合阳城关中学2026届中考英语最后一模试卷含答案
- 医院排队拥挤踩踏应急演练脚本
- 可回收物回收利用隐患排查评估整治技术指南(2025年版)
- 2026年国家电网招聘考试(电工类研究生)历年真题
- 公司“三重一大”制度执行情况报告
- 《新能源发电与控制技术 第4版》 课件 第1章 新能源发电与控制技术导论
- DL-T5418-2009火电厂烟气脱硫吸收塔施工及验收规程
- 河北嘉恒隆生物科技有限责任公司建设年产 10000 吨食品用明胶、5000 吨食用蛋白粉、5000 吨宠物饲料和 5000 吨油脂资源综合利用项目环境影响报告表
- 安全隐患排查及整改制度
- 人教版小学四年级信息技术上册知识点整理与归纳
- 饭店送餐合同协议书
- 《肿瘤分子生物学》课件
- 记账凭证封面直接打印模板
- 治安管理处罚法一本通
- 2023年湖南省长沙市中考物理试题(原卷)
- 头针疗法幻灯片
评论
0/150
提交评论