第4章 控制器局域网-CAN

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
4.2.1 CAN的分层结构
数据链路层(DLL) 逻辑链路控制(LLC) 接收过滤 超载通告 恢复管理 媒体访问控制(MAC) 数据打包/拆包 帧编码(填充,去填充) 媒体访问管理 错误检测 出错标示 应答 串行-并行转换 物理层 位编码/解码 位定时 同步 驱动器/接收器特性 监视器
故障界定
总线失效管理
12
(5)CRC域
数据域或控制域 CRC域 应答域
CRC序列
CRC界定符
CRC域包括CRC序列和随后的CRC界定符 生成多项式(15阶):X15 + X14 + X10 + X8 + X7 + X4 + X3 + 1 CRC 序列之后是CRC 界定符,它由一个“隐性”位组成。
13
(6)应答域 应答域长度为2位,包括应答间隙和应答界 定符。
1
4.1 CAN主要特性


CAN总线的特点: 多主工作方式。 非破坏性的总线仲裁技术。报文标识符(Identifier) /帧号越小优先权越高(11/29位) (线与) CAN节点通过对报文标识符的滤波即可实现点对点、 一点对多点、全局广播等几种方式传送、接受数据。 远程数据请求。 总线配置灵活。 节点数取决于总线驱动器.(110节点),报文标识符可达 2032种(CAN2.0A),扩展标准(CAN2.0B)的报文 标识符几乎不受限制。 高效的短帧结构(8个有效字节),传输时间短,实时 性好。 高可靠性。 节点在通信错误严重的情况下自动关闭,脱离总线。
11
(3)控制域 控制域由保留位和数据长度码共6位组成,标准格式 和扩展格的控制域由保留位和数据长度码共6位组成, 标准格式和扩展格的控制域结构相同但位置不同。
仲裁域 IDE/r1 r0 控制域 标准格式和扩展格式 DLC3 DLC2 DLC1 DLC0 数据域或CRC域
保留位
数据长度码
数据长度码标明了数据域里的字节数。数据长度码宽 4位,数据字节数只允许为0~8,不能使用其它数值。 (4)数据域 数据域由数据帧中要发送的数据组成。它可以包括 0~8字节,每字节8位,高位(MSB)在先。
2)远程帧
远程帧由6部分组成:帧起始、仲裁域、控制域、CRC 域、应答域和帧结束。
帧间间隔 远程帧 帧间间隔或超载帧
帧起始
仲裁域
控制域
CRC域
应答域
帧结束
远程帧的RTR位是隐性的,数据长度码可以赋值 为0~8内的任一数值,但没有数据域,可用于表示所 请求数据帧的数据长度。
15
3)出错帧
出错帧由两个部分组成。第一个部分由来自不同 节点的出错标志叠加而成,随后的第二部分是出错界 定符。
非错误消极节点帧间间隔
18
(1)间歇域
帧 帧间间隔 帧
间歇域
暂停发送域
பைடு நூலகம்
总线空闲
间歇域包括3个隐性位。间歇域期间,所有节点均不允 许发送数据帧或远程帧,它唯一的作用是标示一个超 载条件。注意,如果一个正准备发送报文的CAN节点 在间歇域的第三位检测到一个显性位,它将认为这是 一个帧起始,并且在下一位时间,从报文的标识符的 第一位开始发送报文,而不再发送一个帧起始位,同 时也不会成为报文接收器。
2
CAN总线的位数值表示与CAN总线通讯距离:







CAN总线上用显性(Dominant)和隐性(Recessive)两个互 补的逻辑表示0和1(主导和退让)。 当总线上同时出现显性和隐性位时,竞争的结果总线数值为显性 (相当于线与),与硬件结构有关。 隐性状态(相当于1),此时CAN-H和CAN-L被固定在平均电压 电平附近,差分电压几乎为0,输出处于关断状态。如果此时总 线有显性位的话,把总线的控制权交给显性位。 显性状态(相当于0),差分电压很大,输出管中有一个处于导 通状态,负载上流过电流,形成电压。 最大传输距离与位速率有关,最高速率为1Mbps,但与之对应的 距离仅为40m;最大距离可以达到1.2Km,但与之对应的速率 仅为5Kbps。 以RS-485为物理层的Profibus的最高速率为12Mbps,因为是 主从结构,没有冲突,也无须检测冲突。 如果使用中继器,传输的距离还能提高。 上面所指的距离指用双绞线,如果使用光纤,传输距离可进一步 扩大到10Km。
3
4.2 CAN2.0(A&B)规范

CAN规范V2.0包括A和B两部分。CAN规范V2.0ACAN 规范V2.0B里称为报文的“标准格式”,与之对应的是 报文的“扩展格式”,这是CAN规范V2.0B与先前发布 版本的最大区别。 除了给出报文的扩展格式定义外,CAN规范V2.0B 还在CAN协议分层结构、串行通信中某些位的解释上 进行了修订 制定CAN技术规范的目的是使任意两个应用CAN 总线的设备都能兼容。兼容性包括很多方面,CAN规 范主要对数据链路层和物理层中位编码、位解码、位 定时等进行了描述,而未定义物理层中的驱动器/接收 器特性,这为网络物理层的选择留有很大的灵活性。 但是,在同一网络内的所有节点必须具有相同的物理 层。应用CAN总线的设备既可与2.0A规范兼容,也可 与2.0B规范兼容。可以说,CAN 2.0B规范包含CAN 2.0A规范,所以,下面将主要针对2.0B介绍CAN规范。
10
(2)仲裁域
远程请求位 标识符扩展
标准格式
仲裁域 11位标识符 RTR IDE r0
控制域 数据长度码
数据域
帧起始
扩展格式
替代远程请求
仲裁域 11位标识符 SRR IDE 18位标识符 RTR r1 控制域 r0 数据长度码 数据域
帧起始
CAN2.0A帧格式
帧间间隔 帧起始 仲裁域 11位标识符 RTR位 r1 控制域 r0
在应答域中,发送器发出两个隐性位。当接收器 正确地接收到有效的报文,该接收器就会在应答隙期 间发送显性位(即发送“应答”)来通知发送器。应 答界定符是应答域的第二位,必须为隐性。
CRC域 应答域 帧结束
应答隙
应答界定符
(7)帧结束 帧结束由7个隐性位的标志序列组成,每个数据 帧 14 和远程帧都由帧结束界定。
8
在2.0B规范中,具有11位标识符的帧称为标准帧,而具有 29 位标识符的帧则称为扩展帧。数据帧和远程帧都可以使用标 准帧格式或者扩展帧格式。 为了允许相对简单的控制器的设计,并不要求支持完全的扩展 格式。也就是说必须能够接收扩展格式的报文,发送标准格式的 报文。
1)数据帧
数据帧由7 个不同的部分组成:帧起始、仲裁域、控制域、数 据域、CRC 域、应答域和帧结束。数据域的长度可以为0。
帧间间隔
数据帧
帧间间隔 或超载帧
帧起始
仲裁域
控制域
数据域
CRC域
应答域 帧结束
9
数据帧中各个域含义介绍
帧间间隔
数据帧
帧间间隔 或超载帧
帧起始
仲裁域
控制域
数据域
CRC域 应答域 帧结束
(1)帧起始 帧起始标志着数据帧和远程帧的起始,由一 个“显性”位组成。一个CAN节点只在总线空闲 时才允许开始发送数据。所有节点必须同步于帧起 始的前沿。
5
4.2.2 CAN的一些基本概念



报文(Messages) 信息路由(Information Routing) 比特率(Bit rate) 优先权(Priorities) 远程数据请求(Remote Data Request) 多主站(Multimaster) 仲裁(Arbitration) 安全性(Safety) 出错标示和恢复时间(Error Signalling and Recovery Time)
20
4.2.4 报文确认、编码
对于发送器,如果直到帧结束的结尾都没有出错,则报文 得到确认。对于接收器,如果直到帧结束的倒数第二位都没有出 错,则报文得到确认。 CAN总线必须解决通信中发送器和接收器间的同步问题。 总线值从隐性到显性的跳变提供了同步信息。如果连续多个相同 的总线值出现(显性或隐性),这将影响到同步信息的提取。为 此,CAN采用了“位填充”规则,这就是,在一帧中的帧起始、 仲裁域、控制域、数据域和CRC域部分,当发送器在即将发送的 比特流中检测到5个具有相同数值的连续位时,将自动地在实际 发送的比特流中插入1个反码位。 报文中的比特流采用非归零(NonReturntoZero) 码编码。这就是说在完整的位时间里,位电平要么是显性,要么 是隐性。
6
4.2.2 CAN的一些基本概念(续)




连接(Connections): CAN 串行通讯链路是一条可 以连接众多单元的总线。实际上,单元总数受延迟时 间和总线电气负载的限制。 总线值(Bus values):总线有一对互补的逻辑值: “显性”或“隐性”。如果“显性”位和“隐性”位 同时传送,总线上的逻辑值将为“显性”。如果以“0” 表示“显性”电平,“1”表示“隐性”电平,总线逻 辑就符合“线与”关系。 应答(Acknowledgment):所有的接收器检查报文是 否符合规范,并且对符合规范描述的报文给以应答。 睡眠模式/唤醒(Sleep Mode / Wake-up):为了减 少系统的电源消耗,可以将CAN 器件设为睡眠模式以 停止任何内部活动和断开总线驱动器与总线的连接。
第四章 控制器局域网-CAN


CAN(Controller Area Network)即控制器局域网络,是一种高性 能、高可靠性、易开发和低成本的现场总线,在全球得到广泛应 用,也是最早在我国应用的现场总线之一。CAN总线最初由德国 BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。 由于CAN总线自身的特点,其应用领域已由汽车行业扩展到过程 工业、机械工业、机器人和楼宇自动化等领域,并且在众多总线 中最早成为国际标准。 CAN总线仅定义了物理层、数据链路层,基于CAN的两层协议又 开发出了新的总线协议:如DeviceNet、CANopen等。 Intel公司和Philips公司生产CAN芯片,甚至作为固定的组 件集成在8051和80196系列单片机中。其他公司也积极跟进, 如TI的2000系列 DSP也将CAN作为通用部件集成其中。 可以和任何8位单片机配合使用,不用专门的开发装置。价格低, 器件容易购买。 留给用户一定的创造空间,适合研究题目。
数据帧 出错标志 出错帧 帧间间隔或超载帧
出错标志叠加
出错界定符
出错标志有两种形式:积极出错标志和消极出错标志。 积极出错标志由6个连续的显性位组成,而消极出错标 志由6个连续的隐性位组成,除非被其他节点的显性位 覆盖。出错界定符8个连续的隐性位组成.
16
4)超载帧
超载帧包括两个域:超载标志和超载界定符。
19
(2)总线空闲
总线空闲的周期可为任意长度。在此期间,总线被认 为是空闲的,任何需要发送报文的节点都可以访问总 线。 一个因其它报文正在发送而被挂起的报文,将在 间歇域后的第一位开始发送。 (3)暂停发送域 暂停发送域是指错误消极节点发送一个报文 后,在开始发送下一报文或者认可总线处于空闲之前, 在间歇域后发出的8个隐性位。
帧结束或 出错界定符或 超载界定符 超载帧 超载标志 帧间间隔或超载帧
超载标志叠加
超载界定符
3种超载条件会引起超载帧的发送: 接收器要求延迟下一数据帧或远程帧的到达。 在帧间间隔间歇域的第一和第二位检测到显性位。 如果一个CAN节点在出错界定符或超载界定符的第8 位 (最后一位)采样到一个显性位,节点会发送一个超 载帧。错误计数器不会增加。
7
4.2.3 报文传送、帧类型和帧格式
一个发出报文的单元称为该报文的“发送器”,并且保 持该身份直至总线空闲或丢失仲裁。报文过滤是CAN总线 的一大特色。报文过滤是基于整个报文标识符的,屏蔽码寄 存器可以使标识符中的任意一位在报文过滤中成为“不相关” 的,因此可以用于标识符组的选择。 报文包括4种不同的帧类型: 数据帧 数据帧将数据从发送器传送到各个接收器。 远程帧 远程帧请求具有相同标识符的数据帧的发送。 出错帧 任何单元检测到总线错误就发出出错帧。 超载帧 用以在后续的数据帧或远程帧前之间提供一段附加 的延时。
17
5)帧间间隔
数据帧和远程帧通过帧间间隔与总线上存在的其它帧 区分开。所不同的是,超载帧和出错帧之前没有帧间 间隔,多个超载帧之间也不是通过帧间间隔分开的。 帧间间隔包括间歇域、总线空闲域以及可能的暂停发 送域。只有刚发送出前一报文的错误消极节点才需要 暂停发送域。
帧 帧间间隔 帧
间歇域
总线空闲
相关文档
最新文档