【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!
《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》
长期持续带来更多案例与技术文章分享;
【资料图】
原文链接:https://blog.csdn.net/w464960660/article/details/129127589
——————————————————————————————————
目录
0 引言
1 CAN是什么?
2 CAN的电气属性
3 CAN通信协议
3.1 数据帧
3.2 遥控帧
3.3 错误帧
3.4 过载帧
3.5 帧间隔
4 CAN通信速率
5 总结
CAN是一种应用广泛的现场总线,由于其高可靠性,多应用于工业自动化、船舶、汽车、医疗和工业设备等方面,如汽车上大量的传感器与模块都是通过CAN总线连接起来的。 本次博文根据瑞萨的《CAN入门书》,对CAN协议进行一个梳理总结,包括其概念、电气属性、协议、速率等,意在对CAN有一个基础性的认知,详细协议等可参见原书。
CAN,是Controller Area Network的英文缩写,也就是控制局域网络,其最早由德国BOSCH开发,目前已经是国际标准(ISO 11898),是当前应用最广泛的现场总线之一。BOSCH博世主要是做汽车电子的,因此CAN一开始主要是为汽车电子开发的,目前已经是汽车网络的标准协议。当然,经过几十年的发展,CAN协议的高性能和可靠性已经得到了业界的认可,目前除了汽车电子外,也广泛应用于工业自动化、医疗、工业和船舶等领域。
以汽车电子为例,汽车上的电子设备很多,空调、车门、发动机、大量传感器等,这些设备就是通过CAN总线连接形成一个网络,如下图所示:
图中的各个单元通过CAN总线连接,每个单元都是独立的节点,同一个CAN网络中单元的通信速度一致,不同网络间速度可以不同。
CAN的主要特点如下:
1)多主控制:总线空闲时,所有单元都可以发送消息,当两个以上单元同时开始发送消息时,根据标识符ID(并非发送的目的地址)决定优先级,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收。2)系统的柔软性:与总线相连的单元没有类似于“地址”的信息,因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。3)通信速度快,距离远:最高 1Mbps(距离<40M),最远达10KM(速率<5Kbps)。4)具有错误检测、错误通知和错误恢复功能:所有单元都可以检测错误,检测出错误的单元会立即通知其他所有单元。正在发送消息的单元一旦检测出错误,会强制结束当前的发送,然后不断反复地重新发送此消息直到成功为止。5)故障封闭功能:CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等),若为后者,可将引起此故障的单元从总线上隔离出去。6)连接节点多:CAN 总线是可同时连接多个单元的总线,可连接的单元总数理论上没有限制,但实际上受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,单元数减少。CAN总线使用两根线来连接各个单元:CAN_H、CAN_L,CAN控制器通过判断这两根线上的电位差来得到总线电平,分为显性电平和隐性电平两种。显性电平表示逻辑“0”,此时CAN_H电平比CAN_L 高,分别为 3.5V 和 1.5V,电位差为 2V。隐形电平表示逻辑“1”,此时 CAN_H 和 CAN_L 电压都为 2.5V 左右,电位差为 0V。 当CAN 总线上没有节点传输数据,即总线空闲时,总线电平一直处于隐性。
CAN 节点单元连接到CAN总线时, CAN_H 接CAN_H、CAN_L 接 CAN_L,CAN 总线两端要各接一个 120Ω的端接电阻,用于匹配总线阻抗,吸收信号反射及回拨,提高数据通信的抗干扰能力以及可靠性。CAN2.0传输速度可达 1Mbps/S,最新的 CAN-FD 最高速度可达 5Mbps/S,甚至更高,传输速度和总线距离有关,总线距离越短,传输速度越快。
通过CAN总线传输数据是需要按照一定协议进行,CAN 协议提供了 5 种帧格式来传输数据:数据帧、遥控帧、错误帧、过载帧和间隔帧,用途如下:
数据帧由7段组成:
1)帧起始:表示数据帧开始的段;2)仲裁段:表示该帧优先级的段;3)控制段:表示数据的字节数及保留位的段;4)数据段:数据的内容,一帧可发送 0~8 个字节的数据;5)CRC段:检查帧的传输错误的段;6)ACK 段:表示确认正常接收的段;7)帧结束:表示数据帧结束的段。以上是数据帧标准格式和扩展格式两种帧结构,图中 D 表示显性电平 0、 R 表示隐性电平 1, D/R 表示显性或隐性,也就是 0 或 1。
(1)帧起始
标准格式和扩展格式都是由一1位的显性电平 0 来表示帧起始。
(2)仲裁段
仲裁段表示帧优先级,标准格式和扩展格式的仲裁段不同,从上图可见,标准格式的 ID 为 11 位,发送顺序是从 ID10 到 ID0,最高 7 位 ID10~ID4 不能全为隐性(1),也就是禁止0X1111111XXXXX这样的 ID。扩展格式的 ID 为 29 位,基本 ID 从 ID28 到 ID18,扩展 ID 由 ID17 到 ID0,基本ID 与标准格式一样,禁止最高 7 位都为隐性。
(3)控制段
控制段由 6 个位构成,表示数据段的字节数,标准格式和扩展格式的控制段略有不同,r1 和 r0 为保留位,保留位必须以显性电平发送。 DLC 为数据长度,高位在前, DLC 段有效值范围为 0~8。
(4)数据段
数据段也就是帧的有效数据,标准格式和扩展格式相同,可以包含 0~8 个字节的数据,从最高位(MSB)开始发送。
(5)CRC段
CRC段保存CRC校准值,用于检查帧传输错误,标准格式和扩展格式相同。CRC 段由 15 位的 CRC 值与 1 位的 CRC 界定符组成。 CRC 值的计算范围包括:帧起始、仲裁段、控制段、数据段,接收方以同样的算法进行计算,然后用计算得到的 CRC 值与此CRC段进行比较,如果不一致的话就会报错。
(6)ACK段
ACK 段用来确认接收是否正常,标准格式和扩展格式相同,ACK 段由 ACK 槽(ACK Slot)和 ACK 界定符两部分组成。 发送单元的 ACK,发送 2 个隐性位,而接收到正确消息的单元在 ACK 槽(ACK Slot)发送显性位,通知发送单元正常接收结束,这个过程叫发送 ACK/返回 ACK。发送 ACK 的是所有接收单元中接收到正常消息的单元, 所谓正常消息是指不含填充错误、格式错误、 CRC 错误的消息,这些接收单元既不处于总线关闭态也不处于休眠态的所有接收单元中。
(7)帧结束
帧结束段,标准格式和扩展格式相同,帧结束段很简单,由 7 位隐性位构成。
接收单元向发送单元请求数据的时候用遥控帧,遥控帧由6个段组成:
1)帧起始:表示数据帧开始的段; 2)仲裁段:表示该帧优先级的段; 3)控制段:表示数据的字节数及保留位的段; 4)CRC段:检查帧的传输错误的段; 5)ACK 段:表示确认正常接收的段; 6)帧结束,表示数据帧结束的段。
遥控帧结构基本和数据帧一样,最主要的区别就是遥控帧没有数据段。遥控帧的 RTR 位为隐性的,数据帧的 RTR 位为显性,因此可以通过 RTR 位来区分遥控帧和没有数据的数据帧。遥控帧没有数据,因此 DLC 表示的是所请求的数据帧数据长度,遥控帧的其他段参考数据帧,不再赘述。
当接收或发送消息出错的时候使用错误帧来通知,错误帧由错误标志和错误界定符两部分组成:
错误标志有主动错误标志和被动错误标志两种,主动错误标志是 6 个显性位,被动错误标志是 6 个隐性位,错误界定符由 8 个隐性位组成。
接收单元尚未完成接收准备的话就会发送过载帧,过载帧由过载标志和过载界定符构成:
过载标志由 6 个显性位组成,与主动错误标志相同,过载界定符由 8 个隐性位组成,与错误帧中的错误界定符构成相同。
帧间隔用于分隔数据帧和遥控帧,数据帧和遥控帧可以通过插入帧间隔来将本帧与前面的任何帧隔开,过载帧和错误帧前不能插入帧间隔。
间隔由 3 个隐性位构成,总线空闲为隐性电平,长度没有限制,本状态下表示总线空闲,发送单元可以访问总线。延迟发送由 8 个隐性位构成,处于被动错误状态的单元发送一个消息后的帧间隔中才会有延迟发送。
CAN总线以帧的形式发送数据,到总线上的就是“0”和“1”这样的二进制数据,这里就涉及到了通信速率,即每秒钟发送多少位数据,CAN2.0 最高速度为1Mbps/S。对于CAN总线,一个位分为 4 段:
1)同步段(SS)2)传播时间段(PTS)3)相位缓冲段 1(PBS1)4)相位缓冲段 2(PBS2)这些段由 Tq(Time Quantum)组成,Tq 是 CAN 总线的最小时间单位。帧由位构成,一个位 由 4 个段构成,每个段又由若干个Tq 组成,这个就是位时序。 1 位由多少个 Tq 构成、每个段又由多少个 Tq 构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点。 各段的作用和 Tq 数:
1个位的构成示意图:
上图中,采样点是指读取总线电平,并将读到的电平作为位值的点。位置在 PBS1结束处。根据这个位时序,我们就可以计算 CAN 通信的波特率了。
前面提到的 CAN 协议具有仲裁功能,下面我们来看看是如何实现的。在总线空闲态,最先开始发送消息的单元获得发送权。当多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继续发送。实现过程:
单元 1 和单元 2 同时开始向总线发送数据,开始部分他们的数据格式是一样的,故无法区分优先级,直到 T 时刻,单元 1 输出隐性电平,而单元 2 输出显性电平,此时单元 1 仲裁失利,立刻转入接收状态工作,不再与单元 2 竞争,而单元 2 则顺利获得总线使用权,继续发送自己的数据。这就实现了仲裁,让连续发送显性电平多的单元获得总线使用权。
本次博文根据瑞萨的《CAN入门书》,对CAN协议进行一个梳理总结,包括其概念、电气属性、协议、速率等,意在对CAN有一个基础性的认知,详细协议等可参见原书。
作于202302211810,已归档
———————————————————————————————————
本文为博主原创文章,未经博主允许不得转载!
祝君升职加薪,鹏程万里!
速递!CAN现场总线基础知识总结,看这一篇就理清了(CAN是什么,电气属性,CAN通协议等)
原文链接:https: blog csdn net w464960660 article details 129127589
观热点:计算机平面设计主要学什么_关于计算机平面设计介绍
欢迎观看本篇文章,小升来为大家解答以上问题。计算机平面设计主要学什么,关于计算机平面设计介绍很多人还不知道,现在让我们一
何猷君何超莲矛盾惹怒姐姐?何超仪关注中不见家人
赌王何鸿燊于上月26日去世,享年98岁,将葬于摩星岭一号的昭远坟场。6月2日,赌王生前创办的葡京酒店大堂设悼念区,供员工和公众寄托哀思。6月
jpcap
1、jPCAP在JAVA中,并非一个真正去实现对数据链路层的控制,而是一个中间件。2、JPCAP调用winpcap
每日看点!导购搭讪7大技巧,让成交变的轻松自然。
成为会员▲畅学课程零售专家顾客进店,一言不发怎么办?总第1324篇文章顾客一进店铺,导购紧紧的跟着,顾客会觉得有压力,但是如果没有导购理
全球今日报丨衡阳市新型冠状病毒肺炎疫情:2月28日衡阳市疫情最新消息今天数据统计...
衡阳市新型冠状病毒肺炎疫情:2月28日衡阳市疫情最新消息今天数据统计情况通报,截至2月28日17时30分衡阳市疫情数据统
速递!CAN现场总线基础知识总结,看这一篇就理清了(CAN是什么,电气属性,CAN通协议等)
原文链接:https: blog csdn net w464960660 article details 129127589
全球资讯:德意志银行:理想汽车上季业绩稳健 今季销量展望强劲
德银发表研究报告指,理想汽车去年第四季业绩表现稳健,期内交付量达46,319辆,收入达到176 5亿元,略逊该行预期的180亿元,整体毛利率达20 2%
焦点讯息:英国股市收低;截至收盘Investing.com 英国 100下跌0.82%
Investing com–英国股市在星期二走低,其中化工制品、烟草和固话通讯等下跌的板块带领股
大宗商品交易员注意!印度2月刷新百年高温纪录 背后危机四伏
财联社3月1日讯(编辑史正丞)随着印度今年2月再度显现春季极端高温的景象,气候问题对于民生和商品市
全球热消息:ChatGPT爬上电脑桌面!微软把新必应按钮加进Windows 11搜索框
财联社3月1日讯(编辑史正丞)当地时间周二,微软首席产品官帕诺斯·帕奈发布更新公告称,在Windo
环球快播:加拿大股市收低;截至收盘加拿大多伦多S&P/TSX 综合指数下跌0.19%
Investing com–加拿大股市在星期二走低,其中能源、公用事业和工业等下跌的板块带领股指
观热点:计算机平面设计主要学什么_关于计算机平面设计介绍
欢迎观看本篇文章,小升来为大家解答以上问题。计算机平面设计主要学什么,关于计算机平面设计介绍很多人还不知道,现在让我们一
全球快资讯丨宁波住房公积金怎么提取_宁波住房公积金
1、可以登录宁波市住房公积金管理中心官网,查询个人公积金信息,具体步骤如下:工具:电脑、浏览器百度搜索【宁波公积金中心】
业绩盈喜,海底捞(06862)拐点已至?
受疫情的影响,海底捞(06862)的业绩持续承压了两年。不过,日前公司发布2022年业绩盈喜公告,大
何猷君何超莲矛盾惹怒姐姐?何超仪关注中不见家人
赌王何鸿燊于上月26日去世,享年98岁,将葬于摩星岭一号的昭远坟场。6月2日,赌王生前创办的葡京酒店大堂设悼念区,供员工和公众寄托哀思。6月
jehangir
1、jehangir,英语单词,主要用作名词,作名词时译为“贾汗季(印度皇帝名)”。2、。文章到此就分享结束,希望对
jpcap
1、jPCAP在JAVA中,并非一个真正去实现对数据链路层的控制,而是一个中间件。2、JPCAP调用winpcap
环球信息:天娱数科:公司是百度文心一言首批先行体验官
天娱数科2月28日在互动平台回答投资者提问时表示,公司是百度文心一言首批先行体验官,公司积极关注ChatGPT等模型的能力成长和生态演化,跟进
Argus:上调爱彼迎(ABNB.US)评级至“买入” 目标价144美元
Argus分析师JohnStaszak将爱彼迎(ABNB US)的评级由“持有”上调至“买入”,目标
塔吉特(TGT.US)Q4业绩好于预期 2023财年指引不及预期
周二,塔吉特(TGT US)公布了强劲的2022年第四季度业绩,但对2023年的财务预测较为谨慎,因
【天天报资讯】“国四”排放标准实施 农业机械迎购机潮 关键零部件需等货
财联社2月28日讯(记者滕飞)随着2022年底实施的非道路“国四”排放标准,农机购置补贴已经全面向新
大全新能源(DQ.US)Q4营收同比增119% 预计今年Q1多晶硅产量最高达3.2万吨
2月28日,大全新能源(DQ US)公布了2022年第四季度及全年财务业绩。数据显示,该公司Q4营收
每日看点!导购搭讪7大技巧,让成交变的轻松自然。
成为会员▲畅学课程零售专家顾客进店,一言不发怎么办?总第1324篇文章顾客一进店铺,导购紧紧的跟着,顾客会觉得有压力,但是如果没有导购理
高薪养医却成估值拖油瓶,瑞尔集团(06639)股价重返14港元后还能走多远?
1月11日,口腔种植体系统集中带量采购在四川开标。中选结果显示,拟中选产品平均中选价格降至900余元
乘联会:1月乘用车新四化指数为78.7 电动化指数为25.6
乘联会数据显示,2023年1月乘用车新四化指数为78 7。其中电动化指数为25 6;智能化指数为45
【报资讯】“一周七天都有展” 爆火展会成产业复苏“情报站”|传真
《传真》栏目,致力于传递一线真实讯息。本次关注强势复苏的展会行业现状。财联社2月28日讯(记者陆婷
环球热文:教育部:支持高校二级院系开展招聘活动,院系领导参与“访企拓岗”
中国青年报客户端北京2月28日电(中青报·中青网记者叶雨婷)今天记者从教育部获悉,教育部办公厅印发《关于开展2023届高校毕业生春季促...
世界快讯:中指研究院:1-2月TOP100房企销总额为9841.1亿元 同比下降4.8%
2月28日,中指研究发布2023年1-2月中国房地产企业销售业绩排行榜。数据显示,2023年1-2月
香港金管局:2023年1月新申请住宅按揭较2022年12月减少2.2%至7342宗
2月28日,香港金融管理局公布2023年1月份的住宅按揭统计调查结果。2023年1月份新申请贷款个案
当前观点:3月行情将至!复盘近十年数据,五大行业高胜率,轮动市或将结束,这些主...
今日(2月28日),市场尾盘发力,三大指数成功收红,A股的2月行情也成功收官。截至收盘,上证指数本月
当前热文:美股新股前瞻|由新三板转战纳斯达克,赛事运营商NeoTV掘金千亿电竞市场
2023年的2月,对于电竞圈而言,似乎是有着别样的意义。当李培楠在2023IEM卡托维兹站总决赛《星
热点!【数据看盘】北向资金连续3日卖出茅台 机构抢筹多只医药股
北向资金今日小幅净卖出,立讯精密净卖出居首,复旦微电净买入居首。板块主力资金方面,仅3个板块主力资金
全球今日报丨衡阳市新型冠状病毒肺炎疫情:2月28日衡阳市疫情最新消息今天数据统计...
衡阳市新型冠状病毒肺炎疫情:2月28日衡阳市疫情最新消息今天数据统计情况通报,截至2月28日17时30分衡阳市疫情数据统
天天快报!盛百颜“360CARE”精准化调理方针,打造更专业的中国
社会进步赋予女性更大的成长空间,也迫使她们在社会及家庭承受更多重任和压力。女性特殊的生理特征,随着不同时期的成长,所导致气血问...
焦点速看:高枫离世原因_高枫死因
1、歌手高枫的死因是肺炎晚期引起的呼吸衰竭2、2002年,春节的时候,高枫就经常感觉胸部不适,还伴有咳嗽、气喘等症状。年
俯卧交替腿具体该怎么做?俯卧交替肘碰膝怎么做?
俯卧交替腿具体该怎么做?动作要领1...
女生平板支撑多久才算合格?女生平板撑多少分钟才正常?
女生平板支撑多久才算合格?平板支...
跑步前一定要做热身运动吗?跑步前要做拉伸运动吗?
跑步前一定要做热身运动吗?跑步前...
fila具体是什么牌子?filafusion和fila的区别是什么?
fila具体是什么牌子?FILA (斐乐)...
62%受访者对新能源汽车基本了解 汽车“里程焦虑”较为突出
近日,重庆市万州区、开州区、城口...
聚焦!2022年全国“绿色产品认证与标识宣传周”正式启动
9月26日,由市场监管总局主办的202...
昆明市体育中心足球锦标赛落幕 组委会已经在为新赛季做准备
9月18日,全民健身·2021昆明市体...
中安街道种植了100亩万寿菊 每亩产值是种植包谷的两倍多
时下,正是万寿菊收获的季节。走进...