【车载开发系列】CAN通信总线再理解(中篇)

【车载开发系列】CAN通信总线再理解(中篇)

    • 九. CAN总线标准
    • 十. CAN物理层
    • 十一. CAN数据链路层
      • 1)CAN的通信帧类型
      • 2)CAN的标准帧格式
        • 1. CAN ID
        • 2. 数据场
      • 3)CAN总线仲裁
    • 十二. CAN应用层
      • 1)CANopen
      • 2)J1939
      • 3)DeviceNet

九. CAN总线标准

  • CAN总线标准有两个,即ISO11898和ISO11519,两者差分电平特性不同。
  1. ISO11898高低电平幅度低(高电压3.5V,低电压1.5V),对应的传输速度快,所以适用于高速CAN;
  2. ISO11519高低电平幅度大(高电压4.0V,低电压1.0V),对应的传输速度慢些,所以适用于低速CAN;

十. CAN物理层

  1. 多个节点连接,只要有一个为低电平,总线就为低电平,只有所有节点输出高电平时,才为高电平。所谓"线与"。
  2. CAN总线有5个连续相同位后,就插入一个相反位,产生跳变沿,用于同步。从而消除累积误差。
  3. CAN的传输速度与距离成反比。
  4. CAN总线上的终端电阻是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线

十一. CAN数据链路层

1)CAN的通信帧类型

  • CAN总线传输的是CAN帧,CAN的通信帧分成五种,分别为数据帧、远程帧、错误帧、过载帧和帧间隔。
帧类型英文帧作用
数据帧Data Frame用于发送单元向接收单元传送数据的帧,使用最多的帧类型
遥控帧Remote Frame用于接收单元向具有相同ID的发送单元请求数据的帧
错误帧Error Frame用于当检测出错时向其他单元通知用的错误的帧
过载帧Overload Frame用于接收单元告诉发送单元,通知其尚未做好接收准备的帧
间隔帧Inter Frame Space用于将数据帧及遥控帧与前面的帧分离开来的帧

2)CAN的标准帧格式

位名位名位数说明
SOF起始位1位是一个显性电平逻辑0
Identifier(ID)仲裁段(识别码)11/29位用来确定数据信息发送给那个设备,每一个设备都有一个属于自己的识别码,11 位标识符的帧称为标准格式,而具有29位标识符的帧为扩展格式
RTR仲裁段(RTR位)1位用来区分数据帧(0)或者远程请求帧(1)
SRR※仲裁段(SRR位)1位只用在扩展格式,替代RTR;不是扩展模式不需要这个
IDE控制段(IDE位)1位用来区分标准帧(0)还是拓展帧(1)
R0控制段(空闲位)1位保留位
DLC控制段(DLC)4位用来控制数据长度
Data Field数据段8-64位数据的内容。DLC为1时数据码8位(标准CAN),为8时数据码64位(CAN FD)
CRC15CRC码15位15位CRC位+1位CRC界定符,循环冗余校验码,检测到错误时会自动重传
DELCRC界定位1位1位CRC界定符,为了把后面信息隔开
ACK应答位(ACK码)1位接收站使用应答位来表示是否已正确接收报文
DEL应答位(ACK界定位)1位一个隐性的位,为了把后面信息隔开
EOF结束位7位表示数据帧传输结束,7个隐形信号

在这里插入图片描述

1. CAN ID

CAN帧中包含ID,在数据链路层只起到优先级判断的作用。ID的数值越小,CAN帧的优先级越高,会获得总线控制权。多节点同时开始发送数据时,按照电路设计,ID按每一bit传输时,ID小的数据会覆盖ID大的值,即0&1=0,此时只要判断到自己发出的bit1实际是收到bit0,就停止发送后续的bit,稍后重试。
CAN ID值的业务意义由应用层决定。一种典型用法是,部分bit代表消息类型,部分bit代表发送者设备,即ID和设备绑定。只要ID的前几bit代表设备号,后几bit代表业务值,就能兼顾优先级判断的规范。

2. 数据场

数据场是放高层业务数据的地方。
数据链路层协议只规定了一帧的格式,数据跨越多帧的情况由应用层协议实现拆包和重组。
经典CAN,数据场最多8bytes;CAN FD最多64bytes;CAN XL最多2048bytes,即一帧可以有更多业务数据。当一帧的业务数据量>8且
003C64时,用CAN FD就不需要在业务层把数据拆成多帧和重组了,这也提升了性能。

3)CAN总线仲裁

  1. CAN总线仲裁是通过优先级决定的。
  2. CAN总线处于空闲状态时,最先发送消息的单元获得发送权。
  3. 多个单元同时开始发送时,从仲裁段(报文ID)的第一位开始进行仲裁。连续输出显性电平最多的单元可继续发送,即首先出现隐形电平的单元失去对总线的占有权变为接收。
  4. 仲裁段(识别码Identifier)值越小,说明显性电平(逻辑0)越多,那么优先级越高。
  5. 仲裁失败的单元,会自动检测总线空闲,在第一时间再次尝试发送。
    在这里插入图片描述
  • 该仲裁机制是利用“如果总线上同时出现显性电平和隐形电平,总线的状态会被置为显性电平”这个特性进行仲裁。

十二. CAN应用层

狭义的CAN,指的是物理层和数据链路层。简单地以“CAN”作为关键字去搜索,都是这两层的知识,而广义的CAN,包括应用层协议,主流有以下3种。

1)CANopen

基于CAN2.0A定义的标准帧,由CiA提出和维护。最初是为工业自动化设计的,但很快应用在了其它领域

2)J1939

基于CAN2.0B定义的扩展帧,由SAE提出。多用于重型机械,如大巴、挖掘机、拖拉机、坦克、消防车等。

3)DeviceNet

基于CAN2.0A定义的标准帧,由美国的Allen-Bradley公司所开发。主要应用包括资讯交换、安全设备及大型控制系统,在美国的市场占有率较高。比起CANopen,对物理层的要求更严格,从而使得不同厂商的设备更通用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/727883.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

傅里叶级数在不连续点会怎么样???

文章目录 一、前言背景二、用狄利克雷核表达傅里叶级数三、狄利克雷核与狄拉克函数四、傅里叶级数在不连续点的表示五、吉伯斯现象的解释六、总结参考资料 一、前言背景 笔者最近在撸《信号与系统》,写下此博客用作记录和分享学习笔记。由于是笔者为电子爱好者&…

前端锚点 点击 滑动双向绑定

一. 页面样式 二. 代码 <div class"flexBox"><div class"mdDiv" v-for"(item,index) in tabList" :key"index" :class"nowChooseindex?choosed:" click"jumpMD(index, item.id)">{{item.name}}&l…

简单分析一下地产行业使用堡垒机的必要性-行云管家

地产行业&#xff0c;一个关系民生的行业&#xff0c;一个与大家生活密不可分的行业。随着信息技术的快速发展&#xff0c;以及数字化转型的要求&#xff0c;以及地产行业业务迅猛发展&#xff0c;如何保障数据安全以及网络安全至关重要。在这种背景下&#xff0c;使用堡垒机就…

VBA基础知识点总结

VBA教程 VBScript教程 数据类型 数字数据类型 非数字数据类型 变量&常量 可以通过Dim、Public或Private语句声明变量。 变量语法&#xff1a;Dim <<variable_name>> As <<variable_type>>&#xff08;需要在使用它们之前声明&#xff09; 常量语…

全球AI新闻速递6.20

1.国家药监局综合司&#xff1a;关于印发药品监管人工智能典型应用场景清单的通知。 2.Canalys&#xff1a;预计今年全球 AI 手机市场份额达 16%。 3.Adobe Acrobat 升级 AI 技能&#xff1a;文生图、梳理信息等。 4.中国科大人形机器人研究院揭牌。 5.华为官方预告&#x…

对30年国债利率破2.5%的复盘反思

短期看&#xff0c;以月为维度&#xff0c;长端和超长端利率依然具有较强的向下突破的惯性&#xff1b;中期看&#xff0c;以季为维度&#xff0c;长端依然面临向下赔率不足的约束&#xff0c;但调整需要多重利空共振的契机。 短期看多&#xff0c;逢高配置”的四点逻辑 逻辑一…

四川赤橙宏海商务信息咨询有限公司引领抖音电商潮流

在当今数字化浪潮下&#xff0c;电商行业蓬勃发展&#xff0c;抖音电商作为新兴力量&#xff0c;正以其独特的魅力吸引着越来越多的商家和消费者。四川赤橙宏海商务信息咨询有限公司&#xff0c;作为抖音电商服务领域的佼佼者&#xff0c;凭借其专业的团队和丰富的经验&#xf…

基于SpringBoot+Vue北部湾地区助农平台设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

系统学习PLC

1.OB组织块 程序循环 PC ob1执行一次 ob123也执行一次 是 statup是程序启动的是第一个周期先执行starup&#xff08;0b100&#xff09;然后在执行ob1和0b123.这二个循环&#xff0c;周期执行这二个循环。1000是1s 2.DB块 建立指定数据块可以直接建立自己喜欢的类型 3.FB与…

【维护服务器安全,如何应对恶意的威胁行为?】

随着互联网的迅猛发展&#xff0c;网络服务器成为现代社会中不可或缺的基础设施。然而&#xff0c;恶意攻击行为也日益猖獗&#xff0c;技术不断升级&#xff0c;给网络服务器的安全带来了严峻挑战。下面德迅云安全就分享一些常见的危害服务器安全的行为&#xff0c;和相应的应…

什么是嵌入式,单片机又是什么,两者有什么关联又有什么区别?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;从科普的角度&#xff0c;…

看完再买不后悔!希喂、小米、霍尼韦尔宠物空气净化器性价比比拼

在忙碌的工作之余&#xff0c;养一只猫真的能治愈一切的不快&#xff0c;让我们的心灵得到片刻的宁静。然而&#xff0c;这份宁静背后&#xff0c;却隐藏着一些不易察觉的烦恼——猫浮毛和异味。 猫浮毛&#xff0c;这个看似微不足道的小问题&#xff0c;实则给许多宠物主人带…

如何在MySql数据库中以经纬度进行查询

要在数据库中以经纬度进行查询&#xff0c;特别是针对MySQL数据库&#xff0c;你可以遵循以下步骤来实现基于地理位置的查询&#xff1a; 1. 数据表设计 首先&#xff0c;你需要设计一个数据表来存储地理位置信息。可以使用POINT类型来直接存储经纬度坐标&#xff0c;或者分别…

家用洗地机哪个品牌耐用?推荐这四款清洁力强的机型

近两年智能家庭清洁产品的快速崛起&#xff0c;典型代表就是家用洗地机。它集合吸尘、扫地、洗地、消杀等功能为一体&#xff0c;给人们生活带来了很多的便利&#xff0c;但随着洗地机的普及&#xff0c;市场上的机型也越来越多&#xff0c;让很多新手购机的朋友们无法快速下决…

视频监控平台功能:国外的硬盘录像机NVR通过ISUP协议(原ehome协议)接入AS-V1000视频平台

目录 一、背景说明 二、ISUP协议介绍 1、海康ISUP协议概述 2、ISUP协议支持主码流和子码流切换 &#xff08;1&#xff09;灵活配置和个性化 &#xff08;2&#xff09;适应不同网络带宽&#xff0c;提高使用体验 3、海康ehome相关文章 三、ISUP协议接入说明 1、平台侧…

使用 Python 进行测试(5)测试的类型

总结 和我一起唱&#xff01; 冒烟测试&#xff0c;让你快速失败&#xff1b; 回归测试&#xff0c;不打破过去&#xff1b; 健全性检查&#xff0c;保留所拥有&#xff1b; 集成测试&#xff0c;处理副作用&#xff1b; 端到端&#xff0c;永无尽头&#xff01; 回测&#xf…

C++基础知识——命名空间

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;Yan. yan. 文章目录 1、什么是命名空间2、命名空间的作用3、如何定义命名…

FastAPI 作为H5中流式输出的后端

FastAPI 作为H5中流式输出的后端 最近大家都在玩LLM&#xff0c;我也凑了热闹&#xff0c;简单实现了一个本地LLM应用&#xff0c;分享给大家&#xff0c;百分百可以用哦&#xff5e;^ - ^ 先介绍下我使用的三种工具&#xff1a; Ollama&#xff1a;一个免费的开源框架&…

微观时空结构和虚数单位的关系

回顾虚数单位的定义&#xff0c; 其中我们把称为周期&#xff08;的绝大部分&#xff09;&#xff0c;称为微分&#xff0c;0称为原点或者起点&#xff08;意味着新周期的开始&#xff09;&#xff0c;由此我们用序数的概念反过来构建了基数的概念。 周期和单位显然具有倍数关…

日本立法强制苹果开放第三方应用商店

近日&#xff0c;苹果生态系统最坚固的垄断围墙在亚洲首次被突破&#xff0c;日本议会通过了名为《促进特定智能手机软件竞争法》的新法案&#xff0c;要求苹果和谷歌公司允许第三方应用商店并允许第三方开发者使用iPhone的NFC芯片进行支付&#xff0c;如果不遵守规定&#xff…