网站大量收购独家精品文档,联系QQ:2885784924

基于CAN总线的楼宇智能环境智能监测系统设计汇总.doc

基于CAN总线的楼宇智能环境智能监测系统设计汇总.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于CAN总线的楼宇智能环境智能监测系统设计汇总

基于CAN总线的楼宇智能环境智能监测系统设计 某楼宇有多个房间(如下图所示),其中一个房间可作为集中监控室,每个房间都安装温度和湿度传感器,并通过CAN总线监测到的温度、湿度信号发送到监控室中的上位机PC用于随时监控各房间的环境状况。 介绍CAN总线网络层次结构。 CAN总线与简单总线逻辑不同,CAN是一种复杂逻辑的总线结构。参照ISO/OSI标准模型,CAN分为数据链路层和物理层。而数据链路层又包括逻辑链路子层LLC(Logic Link Control)和媒体访问控制子层MAC(Medium Access Control)。CAN的通信参考模型如图一所示。 1. 物理层 在物理层中定义实际信号的传输方法,包括位的编码和解码、位的定时和同步等内容,作用是定义不同节点之间根据电气属性如何进行位的实际传输。 在物理连接上,CAN总线结构提供两个引脚--CANH和CANL,总线通过CANH和CANL之间的差分电压完成信号的位传输。 2. 逻辑链路子层LLC 逻辑链路子层LLC的主要功能是,对总线上传输的报文实行接收滤波,判断总线上传输的报文是否与本节点有关,哪些报文应该为本节点接收;对报文的接收予以确认;为数据传送和远程数据请求提供服务;当丢失仲裁或被出错干扰时,逻辑链路子层具有自动重发的恢复管理功能等。 3. 媒体访问控制子层MAC MAC子层是CAN协议的核心。它负责执行总线仲裁、报文成帧、出错检测、错误标定等传输控制规则。 数据链路层 逻辑链路子层LLC 接收滤波 超载通州 恢复管理 媒体访问控制层MAC 数据封装/拆装 帧编码(填充/解除填充) 媒体访问管理 错误检测 出错标定 应答 串行化/解除串行化 物理层 位编码/解码 位定时 同步 驱动器/接收器特性 连接器 图一 CAN的通信参考模型 介绍CAN总线通讯协议的报文格式。 根据CAN报文帧的不同用途,可以把CAN报文帧划分为以下4种类型,数据帧,远程帧,出错帧,超载帧。 1. 数据帧 数据帧携带数据从发送器至接收器。总线上传输的大多是这种帧,从标识符长度上,又可以把数据帧分为标准帧(11位标识符)和扩展帧(29位标识符)。 数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC 场、应答场、帧结束。其中,数据场的长度为0~8个字节。标识符位于仲裁场中,报文接收节点通过标识符进行报文滤波。数据帧结构如图二所示。 图二 数据帧结构 2. 远程帧 由总线上的节点发出,用于请求其他节点发送具有同一标识符的数据帧。当某个节点需要数据时,可以发送远程帧请求另一节点发送相应数据帧。与数据帧相比,远程帧没有数据场。远程帧结构如图三所示。 图三 远程帧结构 3. 出错帧 任何单元,一旦检测到总线错误就发出错误帧。错误帧由两个不同的场组成,第一个场是由不同站提供的错误标志的叠加(错误标志),第二个场是错误界定符。出错帧结构如图四所示。 图四 出错帧结构 4. 超载帧 超载帧用于在先行的和后续的数据帧(或远程帧)之间提供附加延时。超载帧包括两个场:超载标志和超载界定符。超载帧结构如图五所示。 图五 超载帧结构 在总线上传输的报文以帧结构进行传输,与CAN总线传输相关的关键技术术是什么?实现过程是什么? 答:在CAN系统中为保证报文传输的正确性,需要对通信过程进行差错控制。目前常用的方法是反馈重发,即一旦收到接收端发出的出错信息,发送端便自动重发,此时的差错控制只需要检错功能。常用的检错码有两类:奇偶校验码和循环冗余校验码。奇偶校验码是一种最常见的检错码,其实现方法简单,但检错能力较差;循环冗余校验码的编码也很简单且误判率低,所以在通信系统中获得了广泛的应用。下面介绍CAN网络中循环冗余校验码(即CRC码)的原理和实现方法。 CRC码检错的工作原理 CRC码检错是将被处理报文的比特序列当作一个二进制多项式A(×)的系数,该系数除以发送方和接收方预先约定好的生成多项式g(×)后,将求得的余数p(×)作为CRC校验码附加到原始的报文上,并一起发给接收方。接收方用同样的g(×)去除收到的报文B(×),如果余数等于p(×),则传输无误(此时A(×)和B(×)相同);否则传输过程中出错,由发送端重发,重新开始CRC校验,直到无误为止。 上述校验过程中有几点需注意:①在进行CRC计算时,采用二进制(模2)运算法,即加法不进位,减法不借位,其本质就是两个操作数进行逻辑异或运算;②在进行CRC计算前先将发送报文所表示的多项式A(×)乘以×n,其中n为生成多项式g(×)的最高幂值。对二进制乘法来讲,A(×)·×n就是将A(×)左移n位,用来存放余数(×),所以实际发送的报文就变为A(×)·×n+p(×);③生成多项式g(×)的首位和最后一位的系数必须为

您可能关注的文档

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档