目录

通信协议

汽车网络如何进行数据的传输以及节点的通信?

高速CAN差分电压示意图

低速CAN差分电压示意图

通信协议的基本规则

通讯帧格式

数据帧结构/帧起始​编辑/仲裁场​编辑/控制场/数据场/CRC校验场

应答场/帧结束/拓展帧​/远程帧/错误帧结构/过载帧结构

位仲裁

位填充

错误检测


通信协议

汽车网络如何进行数据的传输以及节点的通信?

序号  汽车网络        协议or标准 备注
1 CAN CAN2.0A、CAN2.0B、ISO11898
2 LIN LIN2.0、LIN2.1
3 诊断 ISO14229、ISO14230、ISO15765 信号传输仍参考CAN协议

高速CAN差分电压示意图

特点:

1、在CAN_H和CAN_L线两端有120Ω终端电阻

2、当CAN_H和CAN_L线间

差分电压为0时,状态为逻辑1,网络为隐形状态;

差分电压为3V时,状态为逻辑0,网络为显性状态;

  • 差分电压:是一种输入信号的方式,主要是提高信号精度,去掉共有的误差干扰
  • 差分输入的是将两个输入端的差值作为信号,这样可以免去一些误差
    比如你输入一个1V的信号电源有偏差,比实际输入要大0.1.就可以用差分输入1V和2V一减就把两端共有的那0.1误差剪掉了。
    单端输入无法去除这类误差。
    一个差分信号是用一个数值来表示两个物理量之间的差异。
    从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。
    在某些系统里,系统'地'被用作电压基准点。当'地'当作电压测量基准时,这种信号规划被称之为单端的。我们使用该术语是因为信号是用单个导体上的电压来表示的。

3、当出现线路短路或断路情况时,高速CAN无法正常通讯

低速CAN差分电压示意图

特点:

1、在每个模块的CAN_H和CAN_L线上都有终端电阻

2、当CAN_H电压为4V,CAN_L电压为1V时,状态为逻辑0,网络为显性状态

当CAN_H电压为0V,CAN_L电压为5V时,状态为逻辑1,网络为隐形状态

3、低速CAN可以在单根线断路或短路的情况下正常通信

通信协议的基本规则

1、总线访问:CAN是共享媒体的总线,采用载波监听多路访问的方式。CAN控制器只能在总线空闲时开始发送。所谓总线空闲,就是网络上至少存在3个空闲位(隐性位)时网络的状态。

2、仲裁:总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。如果有两个或两个以上的节点同时发送,就会产生总线冲突。CAN网络采用标识符仲裁的形式进行判定信号的优先级。

3、编码/解码:总线数据传递中使用位填充技术进行编码,在CAN总线中,每连续5个相同状态的电平插入一位与它相补的电平,在译码还原时每5个同状态的电平后的相补电平被删除,从而保证了数据的正确性。

4、错误检测:当检测到位错误、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个错误标志。

5、超载标注:在网络信号传输繁忙,CAN控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。


通讯帧格式

BOSCH在发布的CAN2.0协议中规定了CAN总线中的报文传输的数据帧类型及相关的格式,各种情况分别以下列4中不同的帧类型表示及控制:

1、数据帧:数据帧携带数据从发送器至接收器;

2、远程帧:总线单元发出远程帧,请求发送相应的数据帧;

3、过载帧:过载帧用在先行的和后续数据帧之间提供一个附加的延时;

4、错误帧:总线上任何节点检测到总线错误时就发出错误帧;


数据帧结构

数据帧包括帧起始、仲裁场、控制场、数据场、CRC校验场、应答场和帧结尾部分


帧起始

帧起始(SOF)占用1bit

1、标志数据帧、远程帧的起始;

2、只有在总线空闲时才能发送;

3、同步所有的节点;

4、网络仲裁开始;


仲裁场

仲裁场占用12bit;包括识别符和RTR位;其中识别符的长度为11位,为数据帧和远程帧的识别ID,7个最高位必须不能全是”隐形“;

RTR位为区分数据帧和远程帧的标志之一,在数据帧中RTR位为显性,在远程帧中RTR位为隐性


控制场

控制场占用6bit;其中保罗识别符扩展位IDE、保留位r0及数据长度代码

识别符扩展位IDE为显性时代表为标准帧,为隐性时代表为拓展帧

数据长度代码为4个位,代表数据场中的数据字节数,数据最小为0字节,最大为8字节;


数据场

数据场中包含着CAN信号的数据字节,其中最多为8个字节;

数据发送时线发送高有效位,再发送低有效位;


CRC校验场

CRC校验场占用16bit;包括CRC序列和CRC界定符两部分

CRC序列:为进行CRC计算,被除的多项式系数由帧起始、仲裁场、控制场、数据场(假如有)组成,而15个最低位的系数是0。将此多项式被下面的多项式发生器除(其系数以2为模):

CRC界定符:CRC界定符为单独的一个隐性位


应答场

应答场占用2bit,包含应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)

在应答场里,发送站发送两个”隐性“位。当接收器正确地接收到有效的报文,接收器就会在应答间

隙(ACK SLOT)期间向发送器发送一”显性“的位以实例应答


帧结束

每一个数据帧和远程帧均由一标志序列界定;这个标志序列由7个”隐性“位组成

在总线传输过程中,每个数据帧、远程帧之间有三个隐性位数据来表示帧间隔。在此阶段,不允许发送任何数据帧及远程帧(不包括过载帧)


拓展帧

拓展帧与标准的区别有哪些:

1、SRR位,为一隐性位

2、IDE位,拓展帧中为隐性位,标准帧中为显性位


远程帧


        


错误帧结构

错误帧由两个不同的场组成;

第一个场作为不同站提供的错误标志(ERROR FLAG)的叠加;

第二个场是错误界定符;

错误标志分为主动错误标志和被动错误标志,主动错误标志由6个连续的”显性“位组成。被动错

误标志由6个连续的”隐性“的位组成;

错误界定符由8个”隐性“的位组成


过载帧结构

过载帧由过载错误标志的叠加和过载界定符组成

过载标志由6个”显性“的位组成

过载界定符包括8个”隐性“的位


位仲裁

在CAN网络数据的传输过程中,时常会出现两帧或多帧数据同时发送的情况,在此时就许哟啊指定一种规则来判定那帧数据先发送,哪帧数据需要等待。此规则我们成为位仲裁。

通常来说,ID数值越小,此ID的仲裁优先权就越高

节点2发送的数据帧获得了总线的优先发送权


位填充

在CAN网络数据的传输过程中,通多测试设备监控的网络数据和通过示波器采集到的网络数据是不一致的;

位填充:在网络上不允许出现连续6个相同的位数据,当网络上出现连续5个相同的位数据时,第6位数据必须是相反的位数据


错误检测

在CAN网络中共有一下5种不同的错误类型:

  • 位错误
    节点单元在发送位的同时也对总线进行监视,如果所发送的位值与所监视的位值不相符合,则在此位时间里检测到一个位错位(BIT ERROR);但是在仲裁场(ARBITRATION FIELD)的填充位流期间或(ACK)间隙(ACK SLOT)发送一“隐性”位的情况是例外的——此时,当监视到一“显性”位时,不会发出位错误(BIT ERROR);当发送器发送一个被动错误标志但检测到“显性”位时,也不视为位错误。
  • 填充错误
    如果在使用位填充法进行编码的信息中,出现了6个连续相同的位电平时,将检测到一个填充错误
  • CRC错误
    CRC序列包括发送器的CRC计算结果,接收器计算CRC的方法与发送器相同;如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC错误
  • 形式错误
    当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误
  • 应答错误
    只要在ACK间隙(ACK SLOT)期间所监视的位不为“显性”,则发送器会检测到一个应答错误

CAN网络基础知识_20220727相关推荐

  1. linux基础-网络基础知识篇

    一.网络基础知识概念 1.什么是网络? 网络即为实现通讯的技术. 2.网络的诞生六步曲 (1).早期的网络需要拥有两台通讯的主机,当主机之间有通讯需求是就构建网络进行通讯 (2).当主机网络需要通讯时 ...

  2. 收藏100个网络基础知识

    100 个网络基础知识普及,看完成半个网络高手! 1)什么是链接? 链接是指两个设备之间的连接.它包括用于一个设备能够与另一个设备通信的电缆类型和协议. 2)OSI 参考模型的层次是什么? 有 7 个 ...

  3. 第二十六期:100 个网络基础知识普及,看完成半个网络高手

    本篇文章是关于100个网络基础知识普及,看完成半个网络高手!下面,我们一起来看. 作者:佚名来源 本篇文章是关于100个网络基础知识普及,看完成半个网络高手!下面,我们一起来看. 1)什么是链接? 链 ...

  4. 网络基础知识 快速计算子网掩码的2种方法

    网络基础知识 快速计算子网掩码的2种方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office ...

  5. 计算机网络有哪些技能知识,网络基础知识及操作技能.ppt

    网络基础知识及操作技能 主讲人 李春报 一.计算机网络概述 1.计算机网络的概念 计算机网络是把分布在不同地理位置上的计算机.终端,用通信设备和通信线路连结起来,再配以相应的网络软件,从而使众多计算机 ...

  6. 华为HCNE专题一:网络基础知识

    华为HCNE专题一:网络基础知识 对应章节:第一章 重点:理解网络结构,掌握OSI参考模型的基本结构 难点:OSI各层次名字及其概念的理解 亮点/应用/重要性:网络入门的基础,重中之重. 主要内容:针 ...

  7. 电脑网络基础知识:ipconfig/all命令及nslookupDns查询命令

    电脑网络基础知识:ipconfig/all命令及nslookupDns查询命令 一.ipconfig/all的使用方法 在电脑中通过命令提示符执行命令ipconfig可以查询电脑ip.mac等配置信息 ...

  8. 全国计算机一级考试网络知识,全国计算机等级考试一级网络基础知识复习题及答案.doc...

    全国计算机等级考试一级网络基础知识复习题及答案 全国计算机等级考试一级网络基础知识复习题(20)关于电子邮件,下列说法中错误的是_________. A)发送电子邮件需要E-mail软件支持 B)发件 ...

  9. 网络基础知识汇总学习

    一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...

  10. 网络基础知识——交换机路由器

    网络基础知识--交换机&路由器 一:交换机简介 交换机是互联同一局域网的设备,进行简单的存储.转发,不对数据进行任何更改,属于数据链路层设备. 二:交换机的功能 1:数据帧的交换 2:终端用户 ...

最新文章

  1. MATLAB 2014a (8.3) Compiler Runtime (MCR)
  2. server sql 分组 去重 字符串拼接_SQL | 数据分析面试必备SQL语句+语法
  3. ssm访问html页面,SSM实现未登录无法访问页面
  4. python实现qq登录_在django中实现QQ登录
  5. CentOS 初体验十一:firewall防火墙的命令使用
  6. DCMTK:从ASCII转储创建DICOM FileFormat或DataSet
  7. idea 批量导入包
  8. mysql 不完全插入_MySql insert插入操作不完全指北_MySQL
  9. iPhone 12 Pro系列变贵的原因在这儿!
  10. Latex学习--参考文献排版(ieee access 模板)
  11. 穿越计算机的迷雾总结
  12. java实训计算器总结_java实训报告--计算器
  13. 【产品宣传广告片制作软件】Focusky教程 | 封面设计
  14. 基于OpenCV-python3实现证件照换背景
  15. onkeyup事件只能输入数字,字母,下划线等
  16. 函数 over() 的含义
  17. 【转载】java版打字练习软件
  18. IDEA导入插件依赖后Maven报错:java.lang.RuntimeException: Cannot reconnect.
  19. tomcat版本和支持的jdk版本匹配表
  20. 如何安装flash_如何安装

热门文章

  1. TMS320F280049C 学习笔记16 比较器子系统(CMPSS)
  2. 【Codecs系列】HEVC-SCC(四):SCC IBC句法
  3. Excel如何判断数据是否重复
  4. 【Keil 5】STM32F401CCU6 固件库配置(超详细教程)
  5. MyBatis实现一对一,一对多关联查询
  6. Java 拾遗补阙 ----- 深入了解父类引用指向子类对象
  7. 2020年31省市GDP数据可视化
  8. 数字图像处理(三)图像复原(噪声生成,噪声滤波器,逆滤波,维纳滤波,有约束最小二乘恢复)
  9. matlab iir滤波器系数,5.IIR数字滤波器
  10. 陀螺仪传感器的简单了解