2.3 TI Precision Labs - CAN/LIN/SBC: CAN and CAN

+荐课 提问/讨论 评论 收藏 分享
大家好,感谢观看本次有关CAN 协议和 CAN FD 的 TI 高精度实验室视频。 本实验将讨论如何在采用 ISO 11898 标准的 CAN 总线上的器件之间对信息 进行编码和传递,包括仲裁、 帧结构和位填充。 我们还将介绍具有灵活数据 速率的 CAN,并讨论其在应用中的优势。 这是 ISO 标准中所述的 CAN 数据帧的结构。 在传输帧之前,总线在隐性 电压下保持空闲。 驱动器首先传输到总线上的 是指示传输开始的显性位。 这称为帧起始位。 在该位之后,驱动器 开始传输消息标识符, 紧接着传输远程传输请求位。 这些字段用于消息仲裁。 远程传输请求位决定 该帧是传输数据的数据帧 还是向其他器件请求 数据的请求帧。 控制字段指定要在 该消息中传输的数据的长度。 对于数据帧,数据紧随控制 字段传输。 发送数据后,传输循环冗余 校验序列,该序列用于检查传输中 是否存在错误。 发送 CRC 后,驱动器保持隐性状态,接收器 可以传输一个称为 ACK 或确认位的 显性位,以指示成功接收消息。 该 ACK 位在两侧由定界符位界定。 接收器确认传输后,驱动器 发送一条 7位帧结束消息, 然后是 7 位帧间间隔,这是可以 传输另一个帧之前经过的 最短时间。 在帧内的消息标识符中为 消息分配优先级是 CAN 和 CAN FD 的 一项功能,这使其特别 适合在实时控制环境中使用。 二进制消息标识符编号的值越小, 其优先级越高。 完全由零构成的标识符 是完全显性的标识符,它是 网络上可能的最高优先级消息。 在该示例中,我们有两个 节点开始同时传输消息。 这些消息中的每条消息都有唯一的 11 位 二进制消息标识符。 请记住,具有较低值的标识符具有 较高的优先级。 在这里,节点 A 的标识符的值为 1,199,而节点 B 的标识符的值为 1,530。 这意味着节点 A 在这两条消息之间具有 更高的优先级,它应赢得仲裁。 收发器必须知道循环时间 和传播延迟,以确保适当的消息仲裁。 请观看我们标题为CAN 物理层和硬件的 TI 高精度实验室视频,以了解有关延迟的更多信息。 让我们看看CAN 或 CAN FD 总线上仲裁的简化示例。 想象我们有三个节点访问同一条 CAN 总线,并且每个节点同时开始发送 一条消息,消息标识符在这里显示为灰色。 在第一个位期间,这三个节点都 传输一个隐性信号,因为其消息 标识符的第一位数字都是 1。 这意味着 CAN总线是隐形的。 接下来,这三个特定的节点都 传输一个表示各自标识符 第二位数字的显性位。 该 CAN 总线是显性的。 到目前为止,由于三个节点 都传输了相同的信号,因此没有信号破坏。 不过,在第三个位期间,节点 B 传输一个隐性信号。 但是,由于网络上至少有一个器件 正在传输显性信号, 因此总线承载了一个显性信号。 此时,由于总线上的另一条消息具有 更高的优先级,因此节点 B 已输掉仲裁。 CAN 收发器在驱动时监视总线, 并将其状态与其正在驱动的状态进行比较。 如果收发器传输逻辑一,但读取 逻辑零,这里的节点 B 正是这种 情况,则会立即停止传输。 目前为止,节点 A 和节点 C尚未经历过这种情况。 因此,这两个节点继续各自的传输, 直到其中一个节点在传输 隐性信号时接收到显性信号。 在该示例中,节点 C在第七个位经历该情况。 此时,节点 C输掉仲裁。 它还立即停止传输。 作为唯一继续传输的器件, 节点 A 将完成其 11位消息标识符传输。 由于节点 A 在整个消息标识符中看到了一条匹配的 总线,因此它可以继续传输 其消息的剩余部分,因为它已经以最低的 二进制标识符值赢得了仲裁。 节点 B 和 C 将在下一个帧间间隔之后 重新尝试发送其优先级较低的消息, 该间隔将在节点A 的传输结束时发生。 让我们来从头到尾看一个 样例 CAN 帧。 当没有器件在传输时,总线保持空闲状态。 当器件开始传输时,它将 发送一个显性位,以指示 它将开始传输。 该位称为帧起始位或 SOF 位。 该帧起始位始终是显性的, 表示逻辑零。 空闲后,该位用于同步 总线上的节点。 紧随帧起始位之后的是消息 标识符字段或 ID 字段。 标准的 11 位标识符决定 消息的优先级,并且可以指示消息的目标。 此时会发生仲裁。 如前所述,二进制值越低, 消息优先级越高。 该消息的二进制值为 210。 紧随标识符之后的位是 远程传输请求位或 RTR 位, 它指示该消息是传输数据包 还是向另一个器件请求 数据。 如此处所示,显性零指示这是一个 数据传输帧。 或者,隐性消息将指示此消息 是对另一个器件的数据 请求,也称为远程 帧或远程传输请求。 接下来的六个位称为控制字段, 因为它们提供有关所传输 消息的信息。 第一个位是标识符扩展位或 IDE 位, 它指示消息中使用的标识符的 长度。 如此处所示,显性信号表示 该消息包含我们先前显示的 11 位 标识符,而不是 29 位扩展 CAN 标识符,后者在 IDE 之后具有 18 个附加的标识符位。 在该示例中,情况并非如此。 因此,下一个位只是一个保留位, 保留以供将来的CAN 标准使用。 控制字段的最后四个位 是数据长度代码或 DLC, 它指示将在该消息中传输 多少字节的数据。 该特定的 DLC指示将传输 两个字节的数据。 对于传统的 CAN,DLC 中指示的数字 必须处于0 和 8 之间, 因为在一个帧中可以传输的最大字节数 是 8 个字节。 远程传输请求不会有任何数据, 因此该字段将为零。 数据的第一个字节紧随数据 长度代码之后传输。 请记住,通过CAN 传输的字节 首先传输最高有效位。 后续数据字段将按顺序传输。 在该示例传输的前面部分,我们 指示将总共传输两个 字节的数据。 正确传输完所有数据之后, 将发送 15 位的循环冗余校验 或 CRC,以用作错误检测方法。 到目前为止,CRC 是使用消息中传输的 所有位进行计算的。 如果接收器接收到的 CRC 与其计算出的CRC 不匹配,则 表明存在错误情况。 隐性 CRC 定界符位处于 15 位 CRC 之后。 发送器完成发送数据和 冗余检查后,接收器必须 指示它已正确接收到 发送器的消息。 这在紧随 CRC定界符之后的 ACK 间隙位置发生,该间隙 是确认间隙。 在这里,传输节点发送一个隐形信号。 如果接收器正确地接收到该消息, 它将使用显性信号覆盖该间隙。 如果接收节点检测到错误 并使该位处于隐性状态,它将丢弃该消息,并且 发送节点在重新仲裁之后重复发送该消息。 该间隙之后紧跟一个 隐性定界符。 通过使用该重要的间隙, 每个接收节点都确认其数据的完整性。 确认之后,发送器发送 帧结束字段或EOF 字段,该字段 标记 CAN 消息的结束。 这是一个具有七个连续隐性位的字段。 在 EOF 之后,总线将变为空闲状态, 并且在七位帧间间隔后可以发送 另一条消息。 在该帧间间隔内没有节点进行传输。 CAN 和 CAN FD 的一项新增功能是位填充。 在消息传输期间,如果 传输了五个具有相同极性的 连续位,则紧随这些位之后 插入一个具有相反极性的位。 例如,该字符串至少包含五个 连续的隐性位。 因此,发送器会在第五个 连续隐性位之后插入一个显性位。 在该字符串中,至少有五个 连续的显性位。 在这里,发送器会在第五个 连续的显性位之后插入一个隐性位。 该第三个示例显示了一种特殊的情况。 请注意,它以五个连续的显性位开始。 按照位填充协议,发送器 紧随这些显性位之后 填充一个隐性位。 不过,该填充的隐性位导致了 五个连续的隐性位,因为 填充的位计入该五位限制。 因此,发送器还会在这五个 连续的隐性位之后填充一个 显性位。 接收器自动取消填充已填充的数据。 让我们来看看刚刚 在先前的简化示例中传输的 数据,看看是否存在 传输五个连续相同位的区域。 事实证明,这是从消息 标识符的最后一位开始的, 总共传输了六个连续的显性位。 在实际传输该数据时,我们的 发送器会在第五个连续的显性位之后 插入一个极性相反的位,在 本例中为隐性位。 您可能会注意到 在消息末尾还有许多连续的隐性位。 在 15 位 CRC 的最后一位之后 停用位填充。 因此,ACK 间隙、其周围的定界符 以及帧结束字段具有 固定的大小,不受位填充的影响。 由于接收器自动删除 填充的位,因此填充的 数据包含的信息与原始 显示的数据完全相同。 在 CRC 定界符之前的任何位置, 六个连续的相同位将 构成错误条件。 有四种类型的CAN 和 CAN FD 帧。 让我们使用该七节点示例网络来介绍 这些类型的交互。 最常见的帧类型是数据帧, 数据帧用于在总线上传输多达 八个字节的信息。 这是我们先前的示例 CAN 消息中 显示的帧类型。 器件可以使用也称为 远程传输请求的远程帧向其他器件 请求数据。 该类型的帧由消息标识符后面的隐性 RTR 位明确标记。 它不包含任何数据。 请求帧的目标节点可以使用数据帧进行响应。 如果消息的传输或接收中存在错误, 或者某个节点发生任何其他错误情况, 那么该节点将传输一个错误帧。 错误帧是一种特殊的消息, 它故意发送至少六个连续的显性位, 从而违反 CAN消息的格式 规则,这将覆盖总线上的所有信号。 由于这本身被视为错误, 因此总线上的所有其他节点也会发送一个错误帧。 然后,原始发送器将自动重新传输 原始消息。 CAN 控制器中精心设计的错误计数器 系统可确保节点无法通过重复发送错误帧 来占用总线。 最后一种帧类型是重载帧。 该帧类似于错误帧,但它 在帧之间或在帧间间隔期间发送, 而不在帧期间发送。 这是由变得太忙的节点传输的,并且 它通过确保在清除过载条件之前使总线 一直保持占用,在消息之间提供 额外的延迟。 具有灵活数据速率的 CAN 称为 CAN FD,它是对传统CAN 协议的增强。 CAN FD 支持高达每秒 5 兆位的可用带宽。 这是如何实现的? 顾名思义,该协议在 单条消息中实现可变数据速率。 例如,使用此方法,该协议可使您在原始 时间的一半时间内发送等量的数据。 或者,您可以在相同的原始时间内 发送两倍的数据量。 这是可以实现的,因为能够以更高的 数据速率传输数据字段和 CRC 位, 而其余字段遵循传统的 CAN 速度。 这些速度是不同的,从而导致在同一条消息中实现 不同的数据速率。 CAN FD 的优势包括整体带宽更高。 CAN FD 不仅允许更快的数据速率, 而且允许在单条消息中传输多达 64 个字节的数据,而不是 最初由传统 CAN施加的八字节 限制。 与实施 Flexray 或以太网等主要 网络更改相比,CAN FD 还具有较低的相对成本和复杂性, 只需增加少量成本即可增加带宽并 降低复杂性。 CAN FD 还允许对模块和 ECU 进行快速下线闪存编程,从而 降低制造成本。 必须注意的是,CAN FD 向后兼容 传统 CAN。 但是,原有 CAN控制器 不会向前兼容 CAN FD。 哪些系统组件受 CAN FD 的影响? 微控制器中的CAN 控制器就是其中之一。 硬件更改可能仅限于微控制器中的 CAN 控制器,并假设从未使用过 高于 1 兆位/秒的数据速率。 微控制器中的CAN 控制器或 协议引擎必须也根据新的 CAN FD 标准进行更新。 请记住,CAN FD控制器向后兼容, 但传统的 CAN控制器不向前兼容。 符合 1 兆位/秒的CAN 要求的 原始 CAN 收发器、电缆、连接器和 保护电路都能够以高达 1 兆位/秒的数据速率用于 CAN FD。 与传统 CAN 类似,CAN FD 的最大 数据速率会由于较大的 电缆长度、较多的节点数、隔离或 类似的负载而降低。 当以大于 1 兆位/秒的数据速率实现 CAN FD 时,物理层和硬件设计 可能需要更改。 MCU 上用于新 CAN 控制器的低级驱动器必须 根据新的寄存器映射和更长的有效 负载选项进行更新。 应用软件必须做出调整,以处理更长的数据 有效负载。 要查找更多 CAN和 CAN FD 技术资源 以及搜索 CAN 和 CAN FD产品,请访问 ti.com/CAN。 此外,务必观看我们其他有关 CAN、LIN 和 SBC 的 TI 高精度实验室视频。
课程介绍 共计4课时,41分8秒

[高精度实验室] 接口 : (2) CAN 总线 / LIN

TI CAN Precision Labs 总线 高精度实验室 TIPL

本课程介绍 CAN 总线,以及其中信息发送和接收的方式。特别介绍了 CAN 在汽车应用中的工作模式。

猜你喜欢 换一换

推荐帖子

MSP430制作的bad apple
bad apple在玩LCD的过程中好像特别出名,不知道是啥典故,现在来上传一个用luanchpad制作的bad apple工程。首先是物料:launchpad开发板nokia 5110 lcd模块1k-10k 电阻0.1uF or 0.22uF 电容mmc / sd卡(2M即可),以及卡槽面包板耳机插孔华丽丽的原理图:// MSP430F20x2/3 --...
wstt 微控制器 MCU
【注意】折腾一晚上,得出这样一个结论:IAR提供的标准库函数<math.h>有BUG?
请大家看看,两个功能相同的程序,最后的执行结果有很大误差! 恳请版主及各路大侠帮我分析一下,给个合理的解释。谢谢!! 程序设计目的:将1个以4字节(紧缩)BCD码格式连续存放的数组,转换为无符号长整数。 {0x10,0x32,0x54,0x76} ――&gt; 76543210 编译环境:IAR EW 3.10A 程序1: #include &lt;msp...
逍遥vs无聊 微控制器 MCU
无线电遥控发射头的接收电路设计
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OOK 调制尽管性能较差,然而其电路简单容易实现,工作稳定,因此得到了广泛的应用,在汽车、摩托车报警器,仓库大门,以及家庭保安系统中,几乎无一例外地使用了这样的电路。   早期的发射机较多使用LC 振荡器,频率漂移较为严重。声表器件的出现解决了这一问题,其频率稳定性与晶振大体相同,而其基频可达几百兆甚至上千兆赫兹。无需倍频...
Aguilera 无线连接
开关电源主滤波电解电容器屡爆原因及预防
开关电源主滤波电解电容器屡爆原因及预防 &nbsp; &nbsp; 开关电源主滤波电解电容器有时会莫名其妙地爆炸,即使该电容器尚未爆炸,也能发现其铝质外壳顶部发生严重变形而呈鼓拱状。 &nbsp; &nbsp; 对此往往将此归咎为电容器漏电,简单地一换了之,而并不深究其因,以致屡换屡爆。 &nbsp; &nbsp; 由于铝电解电容器的正极基体为高纯金属铝,负极是有一定黏度的电解液,电容器在...
木犯001号 模拟与混合信号

推荐文章

助力新能源汽车更长续航,TI推出新款电芯产品 2023年01月20日
近两年,随着新能源汽车的热度不断攀升,消费者在选择电动汽车的首要考量标准就是里程续航能力,而先进的电池管理系统 (BMS) 有助于克服阻止电动汽车广泛普及的关键障碍。德州仪器电池管理系统事业部总经理王世斌表示:“TI一直以来持续关注新能源汽车,不断提供创新技术,希望能够帮助新能源汽车制造商在更大程度上延长其行驶里程,这就需要更高的电池监测精度。”,因此TI重点关注克服复杂的系统...
Haviv Ilan 将担任德州仪器下一任总裁及首席执行官,4 月 1 日起生效 2023年01月20日
德州仪器今日宣布,公司董事会已任命 Haviv Ilan 为下一任总裁及首席执行官,4 月 1 日起生效。Haviv Ilan 在德州仪器工作了 24 年,他将接替德州仪器现任总裁及首席执行官 Rich Templeton,后者将在未来的两个多月时间内卸任以上职位,但将继续担任公司董事长。该过渡是公司一项精心计划的继承,Haviv Ilan 于 2014 年被晋升为高级副总裁,...
TI 推出精度更高的电芯监测器和电池包监测器 2023年01月12日
TI 推出精度更高的电芯监测器和电池包监测器助力汽车制造商延长电动汽车续航里程符合 ASIL D 级标准的全新电芯监测器能以更高精度估算电动汽车续航里程中国上海(2023 年 1 月 12 日)– 德州仪器 (TI) 今日推出全新的汽车电芯监测器和电池包监测器。这些监测器提供更高精度的测量功能,可更大程度地增加电动汽车 (EV) 行驶时间并实现更安全的运行。随着电动汽车越来越受...
德州仪器推出最新BMS系列解决方案,支持磷酸铁锂 2023年01月09日
凭借市场上最精确的测量能力,德州仪器推出了新型汽车电池和电池组监视器,可延长电动汽车的行驶时间并提高操作安全性。随着电动汽车越来越受欢迎,现代电池管理系统正在消除电动汽车的重大障碍。TI 拥有广泛的 BMS 产品,可帮助汽车OEM制造更安全、更可靠的汽车,并通过简化系统设计来加快电动汽车的采用。电池管理系统BMS对于确保增加续航里程、安全性、可负担性和可靠性至关重要。据 TI...

pol666

CAN总线,学习ing。

2020年10月13日 11:34:15

大明58

[高精度实验室] 接口 : CAN 总线 / LIN

2020年07月17日 09:47:45

hawkier

学习了,总线知识

2020年04月09日 17:46:34

hellokt43

学习接口 : CAN 总线

2020年02月27日 08:54:21

bingdongshijian

学习了,非常不错的视屏

2020年02月13日 08:36:50

06010601

学习了,不错的视频~

2020年01月29日 15:15:45

dl265361

学习了,还不错!!!!

2020年01月22日 20:53:31

xiaozhuang

学习了,不错的视频~

2020年01月19日 18:20:59

54chenjq

Introducing the method that Controller Area Network (CAN) transceivers use to communicate across a CAN bus, particularly in automotive applications.

2020年01月17日 23:08:47

jpf

学习了,不错的视频~

2020年01月17日 21:12:44

分享到X
微博
QQ
QQ空间
微信

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved