- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汽车CAN总线技术解析
一.什么是CAN总线 CAN 全称为Controller Area Network, 即控制器局域网,德国Bosch公司从20世纪初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,1993年11月国际标准化组织ISO正式颁布了关于CAN总线的ISO11898标准,目前CAN得到了Motorola、Intel、Philips、Siemens、NEC等公司的支持。除汽车以外,也广泛应用在现场控制领域 简单的CAN总线结构 复杂的CAN总线结构 比较 我们可以把CAN总线结构和简单的电力系统结构进行一个简单的比较 CAN节点组成框图 二.CAN总线的主要特点 ?? ★ 低成本 ?? ★极高的总线利用率 ?? ★很远的数据传输距离(长达10Km) ?? ★高速的数据传输速率(高达1Mbit/s) ?? ★可根据报文的ID决定接收或屏蔽该报文 ?? ★可靠的错误处理和检错机制 ?? ★发送的信息遭到破坏后,可自动重发 ?? ★节点在错误严重的情况下具有自动退出总线的功能 ?? ★报文不包含源地址或目标地址,仅用标志符来指示功能信息、优★先级信息 三.CAN总线的网络协议 ★ CAN总线也是建立在ISO参考模型基础上的,不过只采用了其中最关键的两层,即物理层和数据链路层 物理层 物理层的主要内容是规定通信介质的机械、电气、功能和规程特性 数据链路层 数据链路层的主要功能是将要发送的数据进行包装,即加上差错校验位、数据链路协议的控制信息、头尾标记等附加信息组成数据帧,从物理信道上发送出去,在接收道数据帧后,再把附加信息去掉,得到通信数据 CAN协议实现 CAN总线的物理层和数据链路层的功能在CAN控制器中实现,即由芯片完成处理。 所以,对于CAN总线开发人员无需深入学习CAN协议,只要了解一些基础概念即可完全掌握CAN总线的使用。 四.CAN总线基础概念 希望通过CAN总线基础概念的讲解,让大家对CAN总线有一个深入的了解。 报文(Messages) 总线上的信息以不同的固定报文格式发送。当总线空闲时任何连接的单元都可以开始发送新的报文。 信息路由(Information Routing) 在CAN 系统里,节点不使用任何关于系统配置的信息(比如,站地址)。 不需要改变任何节点的应用层及相关的软件或硬件,就可以在CAN 网络中直接添加节点。 识别符 报文的内容由识别符命名。识别符不指出报文的目的地,但解释数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做出反应。 标准格式CAN和扩展格式CAN 标准CAN的标志符长度是11位,而扩展格式CAN的标志符长度可达29位。CAN 协议的2.0A版本规定CAN控制器必须有一个11位的标志符。同时,在2.0B版本中规定,CAN控制器的标志符长度可以是11位或29位。遵循CAN2.0B协议的CAN控制器可以发送和接收11位标识符的标准格式报文或29位标识符的扩展格式报文。如果禁止CAN2.0B,则CAN 控制器只能发送和接收11位标识符的标准格式报文,而忽略扩展格式的报文结构,但不会出现错误。 ?广播方式传播 由于引入了报文滤波的概念,任何数目的节点都可以接收报文,并同时对此报文做出反应 在CAN 网络内,可以确保报文同时被所有的节点接收(或同时不被接收)。因此,系统的数据连贯性是通过多播和错误处理的原理实现的。 位速率(Bit rate) 不同的系统,CAN 的速度不同。可是,在一给定的系统里,位速率是唯一的,并且是固定的 优先权(Priorities) 在总线访问期间,识别符定义一静态的报文优先权。 远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符(IDENTIFIER)命名的。 多主机(Multimaster) 总线空闲时,任何单元都可以开始传送报文。具有较高优先权报文的单元可以获得总线访问权。 仲裁(Arbitration) 只要总线空闲,任何单元都可以开始发送报文。如果2 个或2 个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用识别符的位形式仲裁可以解决这个冲突。仲裁的机制确保信息和时间均不会损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监控视到一“显性”电平(见总线值),那么该单元就失去了仲裁,必须退出发送状态。 错
文档评论(0)