一、标准的2.0A帧格式


各字段解释:
SOF
帧开始标志比特是一个显性比特(0),由一个或多个准备发送帧的节点传输。SOF标志着帧的开始(或仲裁发送帧的权利),并用于“硬同步”总线上的设备。只有在开始发送前总线上至少有11个处于隐性状态的连续比特时,发送方才能开始发送帧。

仲裁字段
仲裁字段包含12比特,前11比特被称为仲裁ID。该字段的主要功能是实现CAN的媒体接入控制机制,仲裁字段的第12比特标记为远程传输请求(RTR),现在基本不用。CAN-FD作为最新的CAN帧格式已经没有RTR字段。

控制字段
标准11比特帧的控制字段包含一个显性的IDE标记,在扩展帧(29比特ID字段)中该标记为隐性状态,还有一个保留比特和一个4比特的数据字段。数据字段决定了帧中数据或净荷部分的数据长度。ISO11898-1规定,数据字段可以是任何4比特值,但大于或等于8表示数据净荷长度是8。在CAN-FD规范中,数据字段大于8表示净荷大于8,但净荷最大为64字节(大于8时有对应关系)。

CRC
ISO11898标准帧的CRC字段长度是16比特,由15比特的CRC值和一个隐性CRC定界符比特组成。当CRC校验失败时,ACK产生作用

ACK
确认字段是总线上的所有接收方用来向发送方发送信号确认CRC值匹配且正确接收到了整个帧。如果任何节点正确的收到了帧且不存在任何错误,发送方会将该比特设置成显性比特,代表它已正确发送了报文。如果接收方检测到问题,将用一个错误帧覆盖ACK比特,用以通知给所有问题相关方。
帧结束标识符
连续7个隐性比特表示帧结束

媒体接入控制

CAN用一种巧妙的方法允许设备能够同时开始传输数据而不产生冲突,规定具有最高优先级的报文的设备能够持续传输,而较低优先级的报文组队不过退避。
该方法依赖于仲裁字段以及总线上的所有设备的数据传输都由总线控制这一事实。任何时候总线被检测到空闲时,设备找发送帧数据前会发送一个显性比特的帧起始标识符(SOF)。该显性比特供总线上所有设备来同步时钟。因此,如果多台设备检测到总线空闲并试图发送SOF时,他们能检测到其它设备的比特,并根据从总线收到的第一个SOF进行同步。
一旦“硬同步”完成, 任何希望在该帧时间内发送帧的设备将开始以每次发送1比特的方法发送11比特的仲裁ID。总线配置成“逻辑与”操作,即使只有一台设备发送了一个显性比特(0),总线也会变成0值。在此种情况下,发送显性比特的设备继续仲裁,而发送隐性比特的设备将“退出”并准备随后发送帧。所以ID较小者,仲裁时会优先胜出,每次竞争时高优先级的报文能够优先发送。
CAN仲裁机制被称为非破坏性的机制,因为总会有一个报文会胜出将帧发送出去。但是,这一点也要求设备能够同步并几乎同时将仲裁ID的比特发送出去才能发生。所以总线要求长度较短且传输速度较慢。(500K/s的总线布线最大长度40M,支节点0.3M,最多30个节点)

二、LIN帧格式

LIN的物理层使用基于汽车电源工作的单线,通常12V。允许在7V至18V的范围内波动。LIN采用主从架构的总线拓扑。所有LIN节点共享同一物理媒介,其中一个节点指定为主机,而其他最多16个节点作为从节点。最大网络长度40M。


Break
LIN 数据帧开始发送前,主机会发送13个显性比特,用于通知其它节点即将有数据发送

SYNC
SYNC符号由主节点发送,比特序0,1,0,1,0,1,0,1(0x55)组成。使从节点与主机同步并准备好开始接收ID

ID
ID字节由6比特的ID值以及末端用于错误检测的2个校验比特组成。所以唯一ID的数量限制在了64个

净荷
爆头始终由主节点发送,而净荷部分由数据的预期源节点根据帧DI发送。

校验和
简单的8比特校验和用于检测错误

媒体接入控制

LIN依赖与由主节点控制的定时触发的报文系统。只有主机才能发起帧在总线上的传输,因此不会产生冲突。

CAN2.0A帧格式 与 LIN帧格式 简单说明的更多相关文章

  1. CAN2.0A 和CAN2.0B

    CAN2.0A 和CAN2.0B 原创 2015年08月03日 16:03:08 3969 CAN2.0A 是CAN协议的PART A部分,此部分定义了11bit的标识区 .CAN2.0B 是CAN协 ...

  2. CAN总线学习系列之三——CAN控制器的选择

    CAN总线学习系列之三——CAN控制器的选择 在进行CAN总线开发前,首先要选择好CAN总线控制器.下面就比较一些控制器的特点. 一些主要的CAN总线器件产品 制造商 产品型号 器件功能及特点 Int ...

  3. 设计模式(二)——Java简单工厂模式

    简单工厂模式 案例: 披萨的项目(要便于披萨种类的扩展,要便于维护) 1)披萨的种类很多(比如 GreekPizz.CheesePizz 等) 2)披萨的制作有 prepare,bake, cut, ...

  4. CAN学习方法(知乎)

    作者:心机之花链接:https://www.zhihu.com/question/26776219/answer/244433861来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  5. 嵌入:CAN

    说下我的学习过程.刚到公司的时候我根本不知道什么是CAN,甚至连以太网和串口通讯都不懂.领导把USBCAN分析仪拿给我,把铜线短接上,用软件在CAN1窗口点下发送,CAN2窗口马上接收到了发送出来的数 ...

  6. sja1000T can相关的知识

    开发环境:硬件环境arm9200 sja1000T,软件环境kernel version 2.6.21.驱动程序:字符驱动 can有两种基本的工作模式:basic can .pelican,pelic ...

  7. CAN总线通信:实现MIC-3680与F28335 CAN总线通信的设置

    博主原创: 实现MIC-3680与F28335 CAN总线通信的设置(MIC-3680CAN模块滤波使用单滤波模式): CAN2.0A协议: (使用11位标识符) <1>F28335发送, ...

  8. 超高性价比USB转CAN适配器,2500V工业级隔离,兼容ZLG软件

    淘宝链接: http://item.taobao.com/item.htm?spm=a230r.1.14.16.QGsAZg&id=20134109594&initiative_new ...

  9. CAN总线报文浅析

    CAN的报文格式 在总线中传送的报文,每帧由7部分组成.CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位. 在标准格式中,报文的起始位称为帧起始(S ...

随机推荐

  1. cenots7单机安装Kubernetes

    关于什么是Kubernetes请看另一篇内容:http://www.cnblogs.com/boshen-hzb/p/6482734.html 一.环境搭建 master安装的组件有: docker ...

  2. YII2 自动 created_at created_by updated_by updated_at

    use yii\behaviors\TimestampBehavior; use yii\behaviors\BlameableBehavior; use yii\db\Expression; /** ...

  3. 数据库工具链接阿里云MySQL数据库

    数据库工具:Toad for MySQL ssh工具:XShell 5 跳板机配置: 配置通道: 源主机:数据库工具链接的地址: 侦听接口:数据库工具侦听接口: 目标主机:数据库阿里云地址: 目标端口 ...

  4. HDU 6097 Mindis (计算几何)

    题意:给一个圆C和圆心O,P.Q是圆上或圆内到圆心距离相等的两个点,在圆上取一点D,求|PD| + |QD|的最小值 析:首先这个题是可以用三分过的,不过也太,.... 官方题解: 很不幸不总是中垂线 ...

  5. WCF服务编程 读书笔记——第1章 WCF基础(2)

    续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...

  6. 再次学习linux文件特殊权限:SUID、SGID、Sticy Bit

    以前对于文件管理的认识只限于UGO的管理,对于特殊权限的学习还是一知半解.重新学习了一遍,我自己理解的东东记录一下. 首先,列一下SUID.SGID.Sticy Bit所代表的权限数值.就好像rwx分 ...

  7. 第二章第一个项目——关于mime

    一句话就能解释清楚. MIME标注HTTP响应类型. 而后缀名标注文件类型. ---------分割线-------- http响应实质上只有数据,没有文件名. 举个例子吧. HTTP/1.1 200 ...

  8. 20145233《网络对抗》Exp7 DNS网络欺诈技术防范

    20145233<网络对抗>Exp7 DNS网络欺诈技术防范 实验问题思考 通常在什么场景下容易受到DNS spoof攻击 公共的无线局域网中,容易受到攻击者的攻击,因为这样就会连入局域网 ...

  9. [WIN7]Win7建立AccessPoint(SoftAP)

    要构建可以访问互联网的无线接入点,必须有台带无线网卡(正常安装完驱动)的并且能访问Internet的计算机. 1.检查环境 [网络共享中心] - > [网络适配器] 检查有线无线网络适配器是否都 ...

  10. VS2010下安装OpenCV2.4.3

    本文记录Windows 7 X86 SP1操作系统环境下,安装与配置OpenCV2.4.3的详细步骤.前置需求:已安装有VS2010. 下载并安装OpenCV 从http://www.opencv.o ...