can总线协议完全解析

CAN总线协议解析李玉丽(吉林建筑工程学院电气与电子信息工程学院,吉林长春,130021)摘要:现场总线的发展与应用引起了传统控制系统结构的改变。控制局域网(CAN)总线因其自身的特点被广泛应用于自动控制领域。本文对CAN总线协议作了详尽解析。关键词:CAN总线;隐性位;显性位;节点中图分类号:TU85文献标识码:ACAN(ControllerAreaNetwork)是分布式实时控制系统的串行通信局域网,称谓CAN总线。在数据实时传输中,设计独特、低成本,具有高可靠性,得到广泛应用。本文着重解析CAN技术规范2.0B版的CAN的分层结构规范和CAN报文结构规范。重点在于充分理解CAN总线协议精髓,有助于CAN总线的局网设计、软件编程、局网维护。一、CAN的分层结构CAN遵从OSI(OpenSystemInterconnectionReferenceModel)模型,其分层结构由高到低如图1所示。图1CAN的分层结构对应OSI模型为两层,实际为三层,即LLC、MAC、PLS。由此而知,对应于CAN总线系统每个节点都是三层结构。数据发送节点数据流为LLC→MAC→PLS,然后将数据发送到总线上;而对于挂在总线上的所有节点(包括发送节点)的接收的数据流为PLS→MAC→LLC。这种分层结构的规范保证了CAN总线的多主方式工作模式,即不分主从,非破坏性的仲裁工作模式。而LLC层的报文滤波功能可实现点到点、一点对多点、全局广播、多点对一点,多点对多点等数据传递方式。各分层主要功能如下:LLC层:接收滤波、超载通知、恢复管理;MAC层:控制帧结构、执行仲裁、错误检测、出错标定、故障界定。该层是CAN的核心;PLS层:位编码/解码、位定时。二、CAN总线的报文规范CAN报文的传送有4种不同类型的帧结构,数据帧、远程帧、出错帧、超载帧。CAB2.0B有4种帧格式。(一)数据帧---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---数据帧携带由发送节点到接收节点(或发送器到接收器),由7个不同的位场组成:帧起始位、仲裁场、控制场、数据场、CRC场、应答场、帧结束。如图2所示。图2数据帧结构CAN2.0B中存在两种不同的帧格式。主要区别在于标识符的长度。具有11位标识符的帧称为标准帧,具有29位标识符的帧称为扩展帧。本文只对第3卷第3期2008年9月长春理工大学学报(高教版)JournalofChangchunUniversityofScienceandTechnology(HigherEducationEdition)Vol.3No.3Sep.2008*收稿日期:20080514作者简介:李玉丽(1973),女,本科,实验师,研究方向为智能建筑电气设备远程监控。标准帧进行解析。1.帧起始标志位(SOF)由一个显性位构成,表明某个节点开始发送信息,所有其它节点必须与此同步(硬同步),但只有在总线空闲时才允许起始位的发送。2.仲裁场(1)仲裁场的组成仲裁场如图3所示。图3仲裁场的组成标识符为11位,远程发送请求RTR为一个显性位。(2)仲裁与优先级CAN总线的通讯模式为:载波监测、多主掌控/冲突(CSMA/CA)。这就使得总线上任一个节点向总线发送信息的机会是均等的。只要总线空闲,谁都可以发送。但如果在同一时刻有两上或两个以上节点同时发送信息,这就发生冲突,这就需要仲裁,而且获得仲裁的信息不受破坏。CAN是按位进行仲裁。当节点向总线发送信息同时,也在读取总线的电平。如果发送的电平与读取的电平相同,则继续发送下一位,若不同则停止发送,退出竞争。余下的节点继续重复上述过程,直到总线上只剩下一个节点发送的电平。而在冲突中被仲裁下的节点,待下一个总线空闲期再次尝试发送。这种总裁技术明显可以看出,在仲裁帧中,标识符的二进制数值小者有较高优先级。换句话在诸多竞争节点中,如果报文标识符的值最小,则此报文的---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---优先级最高。3.控制场控制场如图4所示。图4控制场组成IDE:在CAN2.0B标准格式IDE应为显性(隐性用r表示)。r0:保留位。DLC3~DLC0:数据长度,最大数值为rddd(即隐显显显)。通常“显性”表示传输0,“隐性”表示传输1,则最大数据为1000H,即8。4.数据场数据场即为被发送的数据,长度为0~8个字节,取决于控制场中数据长度DL3~DL0。首先发送的最高有效位。5.CRC场CRC场结构如图5...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?