CAN协议完全讲解.pdf
《CAN协议完全讲解.pdf》由会员分享,可在线阅读,更多相关《CAN协议完全讲解.pdf(49页珍藏版)》请在三一文库上搜索。
1、Rev.1.00 发行:2006 年 2 月 20 日 CAN 入门书 Guide RCJ05B0027-0100 瑞萨科技 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 1 of 48 CAN 入门书 1. 概要 本资料是面向 CAN 总线初学者的 CAN 入门书。对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、 CAN 的概要及 CAN 的协议进行了说明。 2. 使用注意事项 本资料对博世(BOSCH)公司所提出的 CAN 概要及协议进行了归纳,可作为实际应用中的参考资料。对于 具有 CAN 功能的产品不承担任何责任。 目录 1. 概要
2、.1 2. 使用注意事项.1 3. CAN 是什么?.2 3.1 CAN 的应用示例.3 3.2 总线拓扑图 .4 4. CAN 的特点.5 5. 错误 .6 5.1 错误状态的种类 .6 5.2 错误计数值 .8 6. CAN 协议的基本概念.9 7. CAN 协议及标准规格.12 7.1 ISO 标准化的 CAN 协议 .12 7.2 ISO11898 和 ISO11519-2 的不同点.13 7.3 CAN 和标准规格.17 8. CAN 协议.18 8.1 帧的种类.18 8.2 数据帧.21 8.3 遥控帧.28 8.4 错误帧.30 8.5 过载帧.31 8.6 帧间隔.32 8.
3、7 优先级的决定.33 8.8 位填充.36 8.9 错误的种类 .37 8.10 错误帧的输出.39 8.11 位时序.40 8.12 取得同步的方法 .42 8.13 硬件同步.43 8.14 再同步.44 8.15 调整同步的规则 .45 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 2 of 48 3. CAN 是什么? CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被
4、开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很 多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需 要,1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后,CAN 通过 ISO11898 及 ISO11519 进 行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。 图 1 是车载网络的构想示意图。CAN 等通信协议的开发,使多种 LAN 通过网关进行数据交换得以实现。 CAN 12
5、5 kbps CAN 125kbps CAN 500kbps 马达 马达 空调子网 LIN 2.4 19.2kbps 仪表板仪表板 遥控门 锁 遥控门 锁 车身部 信息部 MOST 1394 引爆管 传感器安全部 子网 Safe-by-Wire (150kbps) 车门车门 制动 子网 FlexRay*2 (5Mbps) 胎压 故障诊断部 CAN(规格)诊断工具 网关 开关开关 转向 发动机 传动部 自动变 速箱 CAN 500kbps 前大灯 窗电动 组合灯 自适应 前灯 自适应 前灯 音视频 MD/CD 碟盒 底盘部 白线检测 雷达 ITS部 发动机 交通信 息导航 马达 电子防 盗系统
6、气囊控制 乘客检测 自适应 巡航 图 1. 车载网络构想 【注】 *1 ISO: International Organization for Standardization (国际标准化组织) *2 FlexRayTM为戴姆勒克莱斯勒公司注册商标。 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 3 of 48 3.1 CAN 的应用示例 图 2 为 CAN 的应用示例 Climate Control Cluster Engine Seat Door Roof ? Motor control ? Center unit ? Cluster control
7、 ? Wiper control ? Winker control ? Car audio ? Light control ? Column switch ? Automobile phone ? Sensor ? Motor control ? Passenger detection ? Switch control ? Side mirror ? Door lock ? Power window ? Door switch ? Rain sensor ? Sunroof : CAN bus: 500kbps : CAN bus: 125kbps : LIN bus: 19.2kbps/9.
8、6kbps : CAN unit / LIN master units : CAN unit / LIN master units : LIN slave unit 图 2. CAN 的应用示例 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 4 of 48 3.2 总线拓扑图 CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发 送方通过使总线电平发生变化,将消息发送给接收方。 图 3 是 CAN 的连接示意图 收发器收发器 收发器收发器 CAN H CAN L RxD TxD RxD TxD CAN H C
9、AN L ABS SAS CAN Controller CPU ETM ECM DDM PDM RxD TxD CAN 125kbps CAN 500kbps 图 3. CAN 连接图 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 5 of 48 4. CAN 的特点 CAN 协议具有以下特点。 (1) 多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。 最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。 多个单元同时开始发送时,发送高优先级 ID 消息的单元可获得发送权。 (2) 消息的发送 在 CAN 协议中,所有的消息都以固
10、定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新 消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不 是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消 息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的 单元则立刻停止发送而进行接收工作。 (3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬 件及应用层都不需要改变。 (4) 通信速度 根据整个网络的规模,可设定适
11、合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元 也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。 (5) 远程数据请求 可通过发送“遥控帧” 请求其他单元发送数据。 (6) 错误检测功能错误通知功能错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误, 会强制结束当前的发送。 强制结束发送的单元会不断反复地重新发送 此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线
12、上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部 故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上 隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元 数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接 的单元数减少。 【注】 *1 CSMA/CA: Carrier Sense Multiple Access / Collision Avoidance 应用手册 RCJ05B0027-0100/Rev.1.00 2006
13、.02 Page 6 of 48 5. 错误 5.1 错误状态的种类 单元始终处于 3 种状态之一。 (1) 主动错误状态 主动错误状态是可以正常参加总线通信的状态。 处于主动错误状态的单元检测出错误时,输出主动错误标志。 (2) 被动错误状态 被动错误状态是易引起错误的状态。 处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。 处于被动错误状态的单元即使检测出错误, 而其它处于主动错误状态的单元如果没发现错误, 整个总线也被 认为是没有错误的。 处于被动错误状态的单元检测出错误时,输出被动错误标志。 另外,处于被动错误状态的单元在发送结束后不能马上
14、再次开始发送。在开始下次发送前,在间隔帧期间内 必须插入“延迟传送”(8 个位的隐性位)。 (3) 总线关闭态 总线关闭态是不能参加总线上通信的状态。 信息的接收和发送均被禁止。 这些状态依靠发送错误计数和接收错误计数来管理, 根据计数值决定进入何种状态。 错误状态和计数值的关 系如表 1 及图 4 所示。 表 1. 错误状态和计数值 单元错误状态 发送错误计数值(TEC) 接收错误计数值(REC) 主动错误状态 0127 且 0127 被动错误状态 128255 或 128255 总线关闭态 256 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 7 o
15、f 48 初始状态 主动错误状态 总线关闭态 被动错误状态 在总线上检测到128次连 续的11个位的隐性位 TEC127 且 REC127 TEC127 或 REC127 TEC : 发送错误计数值 REC : 接收错误计数值 TEC255 图 4. 单元的错误状态 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 8 of 48 5.2 错误计数值 发送错误计数值和接收错误计数值根据一定的条件发生变化。 错误计数值的变动条件如表 2 所示。 一次数据的接收和发送可能同时满足多个条件。 错误计数器在错误标志的第一个位出现的时间点上开始计数。 表 2. 错误计
16、数值的变动条件 接受和发送错误计数值的变动条件 发送错误计数值 (TEC) 接收错误计数值 (REC) 1 接收单元检测出错误时。 例外:接收单元在发送错误标志或过载标志中检测出“位 错误”时,接收错误计数值不增加。 +1 2 接收单元在发送完错误标志后检测到的第一个位为显性电 平时。 +8 3 发送单元在输出错误标志时。 +8 4 发送单元在发送主动错误标志或过载标志时,检测出位错 误。 +8 5 接收单元在发送主动错误标志或过载标志时,检测出位错 误。 +8 6 各单元从主动错误标志、过载标志的最开始检测出连续 14 个位的显性位时。 之后,每检测出连续的 8 个位的显性位时。 发送时 +
17、8 接收时 +8 7 检测出在被动错误标志后追加的连续 8 个位的显性位时。发送时 +8 接收时 +8 8 发送单元正常发送数据结束时 (返回 ACK 且到帧结束也未 检测出错误时)。 1 TEC=0 时0 9 接收单元正常接收数据结束时 (到 CRC 未检测出错误且正 常返回 ACK 时)。 1REC127 时-1 REC=0 时0 REC127 时 设 REC=127 10 处于总线关闭态的单元,检测到 128 次连续 11 个位的隐 性位。 TEC=0 REC=0 应用手册 RCJ05B0027-0100/Rev.1.00 2006.02 Page 9 of 48 6. CAN 协议的基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 协议 完全 讲解
链接地址:https://www.31doc.com/p-8599352.html