精华内容
下载资源
问答
  • 详细的描述帧的组成,以及帧的收发控制,帧接收后的CRC校验 以后编写帧方面的程序提供了方便
  • 最近在研究CAN总线的驱动,需要详细了解数据帧/标准帧/扩展帧/远程帧/错误帧这几种帧的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅

    最近在研究CAN总线的驱动,需要详细了解数据帧/标准帧/扩展帧/远程帧/错误帧这几种帧的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅。

    1、数据帧-标准帧

    CAN 标准数据帧如下图所示。与其他所有帧一样,帧以起始帧 (SOF)位开始, SOF 为显性状态,允许所有节点的硬同步。

    SOF之后是仲裁字段,由12个位组成,分别为11个标识位和一个远程发送请求(Remote Transmission
    Request, RTR)位。 RTR 位用于区分报文是数据帧(RTR 位为显性状态)还是远程帧 (RTR 位为隐性状态)。

    仲裁字段之后是控制字段,由 6 个位组成。控制字段的第一位为标识扩展(Identifier Extension,IDE)位,该位应是显性状态来指定标准帧。标识扩展位的下一位为零保留位(RB0),CAN 协议将其定义为显性位。控制字段的其余 4 位为数据长度码 (Data Length Code,DLC),用来指定报文中包含的数据字节数 (0 到 8 字节)。

    控制字段之后为数据字段,包含要发送的任何数据字节。数据字段长度由上述 DLC 定义 (0 到 8 字节)。数据字段之后为循环冗余校验(CRC)字段,用来检测报文传输错误。CRC 字段包含一个 15 位的 CRC 序列,之后是隐性的 CRC 定界位。

    最后一个字段是确认字段 (ACK),由 2 个位组成。在确认时隙(ACK Slot)位执行期间,发送节点发出一个隐性位。任何收到无错误帧的节点会发回一个显性位(无论该节点是否配置为接受该报文与否)来确认帧收到无误。确认字段以隐性确认定界符结束,该定界符可能不允许被改写为显性位。
    在这里插入图片描述

    2、数据帧-扩展帧

    在扩展 CAN 数据帧中(如下图所示),紧随 SOF 位的是 32 位的仲裁字段。仲裁字段的前 11 位为 29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) 。紧随这 11 位的是替代远程请求(Substitute Remote Request, SRR)位,定义为隐性状态。 SRR位之后是 lDE 位,该位为隐性状态时表示这是扩展的CAN 帧。

    应该注意的是,如果发送完扩展帧标识符的前 11 位后,总线仲裁无果,而此时其中一个等待仲裁的节点发出标准 CAN 数据帧 (11 位标识符),那么,由于节点发出了显性 lDE 位而使标准 CAN 帧赢得总线仲裁。另外,扩展 CAN 帧的 SRR 位应为隐性,以允许正在发送标准CAN 远程帧的节点发出显性 RTR 位。

    SRR和lDE位之后是标识符的其余18位(扩展lD)及一个远程发送请求位。

    为使标准帧和扩展帧都能在共享网络上发送,应将29位扩展报文标识符拆成高 11 位和低 18 位两部分。拆分后可确保 lDE 位在标准数据帧和扩展数据帧中的位置保持一致。

    仲裁字段之后是 6 位控制字段。控制字段前两位为保留位,必须定义为显性位。其余 4 位为 DLC,用来指定报文中包含的数据字节数。

    扩展数据帧的其他部分 (数据字段、 CRC 字段、确认字段、帧结尾和间断)与标准数据帧的结构相同。
    在这里插入图片描述

    3、远程帧

    通常,数据传输是由数据源节点(例如,传感器发出数据帧)自主完成的。但也可能存在目标节点向源节点请求发送数据的情况。要做到这一点,目标节点需发送一个远程帧,其中的标识符应与所需数据帧的标识符相匹配。随后,相应的数据源节点会发送一个数据帧以响应远程帧请求。

    远程帧 与数据帧存在两点不同:

    1)远程帧的 RTR 位为隐性状态;
    2)远程帧没有数据字段。

    当带有相同标识符的数据帧和远程帧同时发出时,数据帧将赢得仲裁,因为其标识符后面的 RTR 位为显性。这样,可使发送远程帧的节点立即收到所需数据。
    在这里插入图片描述

    4、主动错误帧

    当错误主动节点检测到一个总线错误时,这个节点将产生一个主动错误标志来中断当前的报文发送。主动错误标志由 6 个连续的显性位构成。这种位序列主动打破了位填充规则。所有其他节点在识别到所生成的位填充错误后,会自行产生错误帧,称为错误反射标志。

    错误标志字段因此包含 6 到 12 个连续显性位 (由 1 个或多个节点产生)。错误定界字段 (8 个隐性位)为错误帧划上句号。在错误帧发送完毕后,总线主动恢复正常状态,被中断的节点会尝试重新发送被中止的报文。
    在这里插入图片描述

    5、过载帧

    过载帧与主动错误帧具有相同的格式。

    但是,过载帧只能在帧间间隔产生,因此可通过这种方式区分过载帧和错误帧 (错误帧是在帧传输时发出
    的)。过载帧由两个字段组成,即过载标志和随后的过载定界符。过载标志由 6 个显性位和紧随其后的其他节点产生的过载标志构成 (而主动错误标志最多包含 12个显性位)。过载定界符包含 8 个隐性位。节点在两种情况下会产生过载帧:

    1)节点在帧间间隔检测到非法显性位。在 IFS 的第三位期间检测到显性位除外。这种情况下,接收器会把它看作一个 SOF 信号。
    2)由于内部原因,节点尚无法开始接收下一条报文。节点最多可产生两条连续的过载帧来延迟下一条报文的发送。
    在这里插入图片描述

    展开全文
  • 2015/5/7 帧的组成

    2015-05-07 16:55:00
    帧的组成 在网络中,计算机通信传输的是由“0”和“1”构成的二进制数据,二进制数据组成“帧”(Frame),帧是网络传输的最小单位。实际传输中,在铜缆(指双绞线等铜质电缆)网线中传递的是脉冲电流;在光纤网络...
    帧的组成

     在网络中,计算机通信传输的是由“0”和“1”构成的二进制数据,二进制数据组成“帧”(Frame),帧是网络传输的最小单位。实际传输中,在铜缆(指双绞线等铜质电缆)网线中传递的是脉冲电流;在光纤网络和无线网络中传递的是光和电磁波(当然光也是一种电磁波)。

     针对高速脉冲电流而言,我们人为地用低电平的脉冲代表“0”、用高电平的脉冲代表“1”。这些虚拟的“0”或“1”就是“位”(Bit)。在计算机网络中一般8个位组成了一个“字节”(Byte)。学过计算机的人都知道字节(Byte)是计算机的数据储存单位。网络技术的初学者大都会把“Bit”(位)与“Byte”(字节)相混淆,谈到100Mbps以太网,就会以为它是每秒钟能传100MB数据的网络,实际上只是25MB(理论值)。

     如果把脉冲电流看成是轨道,那么帧就是运行在轨道上的火车。火车有机车和尾车,帧也有一个起点,我们称之为“帧头”,而且帧也有一个终点,我们称之为“帧尾”。帧头和帧尾之间的部分是这个帧负载的数据(相当于火车车头和车尾之间的车厢)。

     帧的传输

     在网络中,网络设备将“位”组成一个个的字节,然后这些字节“封装”成帧,在网络上传输。为什么要把数据“封装”成帧呢?因为用户数据一般都比较大,有的可以达到MB字节,一下子发送出去十分困难,于是就需要把数据分成许多小份,再按照一定的次序发送出去。

     以太网的帧值总是在一定范围内浮动,最大的帧值是1518字节,最小的帧值是64字节。在实际应用中,帧的大小是由设备的MTU(最大传输单位)即设备每次能够传输的最大字节数自动来确定的。

     帧是当计算机发送数据时产生的,确切地说,是由计算机中安装的网卡产生的。帧只对于能够识别它的设备才有意义。对于集线器来说,帧是没有意义的,因为它是物理层设备,只认识脉冲电流。有许多人对帧不理解,所以不能很好地理解交换机与集线器的区别。

     看了以上这么多,也许你还是不明白,其实,二进制并不是网管员要打交道的东西,而帧才是网管员真正要注意的东西,所以在Windows 2000的“网络监视器”中,“帧”才是被监视的对象。但我们究竟怎样监视帧呢?


    转载于:https://my.oschina.net/u/2002769/blog/411893

    展开全文
  • 秦岭以北最南边城市-西安,俨然已经进入了冬天,今天回家看望老妈随便喂了一下我家大肥猫“冒冒”,它确实也冒犯我了,居然膨胀连猫粮都不吃了。拍了一张晚上9点照片如下,老家夜晚-寂静如此彻底,除了...

    各位同学们,大家好!

    秦岭以北的最南边城市-西安,俨然已经进入了冬天,今天回家看望老妈随便喂了一下我家的大肥猫“冒冒”,它确实也冒犯我了,居然膨胀的连猫粮都不吃了。拍了一张晚上9点的照片如下,老家的夜晚-寂静的如此彻底,除了月光看不到一点明亮,但是让人感觉很舒服,似乎冬天就该是这个样子。

    a6778ad0e523ad97966ddac0cea336ce.png

    想了又想,决定今天晚上先跟大家聊一下LIN总线,相对于CAN总线使用的范围,LIN总线显得有些跟不上节奏,但是它却是不可或缺的,LIN总线一直作为CAN总线的辅助功能,广泛应用于对时间和带宽要求不高的场合,在某些新能源车企的整车网络拓扑中LIN节点数量已经达到了30到40个。所以今天和大家主要说一下LIN总线概述、LIN总线通信方式、LIN报文帧的组成三个部分内容。

    一、LIN总线概述

    对于设计或者测试人员需要了解LIN协议主要来源于三个不同的组织:LIN联盟、CiA和SAE。

    1、国内的主机厂一般都是按LIN联盟的LIN协议内容开发控制器。

    2、CiA组织把LIN进行了ISO标准化。

    3、SAE是美国汽车工程师学会,其中SAEJ2602就是这个协会的LIN标准,所以通用汽车的LIN协议就是按照SAE来的。SAEJ2602建立在LIN2.0的基础之上,但是降低了LIN2.0规范的一些软件单元复杂度,用以减少嵌入式代码的长度。如下图简述LIN总线标准的发展历史:

    版本

    时间

    标准

    LIN 1.0

    1999年

    由LIN联盟(宝马、大众、奥迪、沃尔沃、梅赛德斯奔驰、瑞典的火山汽车以及摩托罗拉)发布

    LIN 1.1

    LIN 1.2

    2000年

    /

    LIN 1.3

    2002年

    主要是修改了物理层

    LIN 2.0

    2003年

    全新一代,也被广泛使用

    LIN 2.1

    2006年

    /

    LIN 2.2A

    2010年

    现在广泛采用的版本

    SAE J2602

    2010-2012年

    基于LIN 2.0,SAE将LIN标准化

    ISO 17987

    2016年

    CAN in Automation(CiA)也将LIN标准化了

    目前各大主机厂常用的LIN协议版本是LIN1.3和LIN2.1。所以咱们说一下这两者的区别如下,从下表中大家可以基本了解LIN1.3和LIN2.1共有4点不同的内容:

    版本

    区别

    LIN 1.3

    1、所有LIN报文的校验方式都为经典型校验(会在下文介绍)

    LIN 2.1

    1、同时具备经典型校验和增强型校验(会在下文介绍)

    2、重新配置功能

    3、自动波特率检测功能

    4、Response_error位状态监控功能

    二、LIN总线通信方式

    模式->单主多从

    目标->低成本

    应用->现有汽车网络(如:CAN总线)提供辅助功能

    最大速率->20kbps

    最多节点->16个

    最大长度->40m

    LIN总线的物理连接方式只有一根通信线,使用的时候需要接一根通信线和一根地线。通信的模式是单主多从,即一个主节点和多个从节点通信的方式,如下:

    70e6b51d20eba310a70b6658629b8de9.png

    一般情况下:LIN节点都不会单独存在,而是和CAN节点相互配合使用,即主干网络中有一个CAN节点,同时这个CAN节点也是LIN总线的主节点,下面再连接多个LIN的从节点。

    二、LIN报文帧组成

    LIN报文帧的组成如下,由报头部分和响应部分组成:

    3d28741355c51570631176cde280fbf0.png

    我们分开来讲,下面的彩图看起来比较清晰,是参考“虹科汽车电子”的文章截图:

    1、帧组成->间隔场(break field)

    312d56c4247a38cf96161ee81abd5c94.png

    间隔场由显性间隔和间隔定界符组成。显性间隔长度包含至少13个位时间。间隔间隔定界符为隐性电平,长度包含至少1个位时间。

    2、帧组成->同步场(Sync Break Field)

    50a8dae35fe3671f8c6d3c104cccb115.png

    同步场在10个位序列中,共包含5个下降沿。从节点接收并测量四个下降沿所用的时间除以8,得到接收一个位的时间长度,从节点应用程序根据计算结果调整计时器,从而达到与主节点时钟的同步,同步场是由主节点发送0x55数据实现

    3、帧组成->标识符场(Identifier Field)

    93112220bc3c908c27498d947c7fc6ec.png

    标识符场由6个标识符位ID0ID5和两个ID奇偶校验位P0P1组成。6个标识符位定义了64个标识符,其中标志符0~0x3B用于信号帧传输,标识符0x3C0x3D用于配置和诊断等,标志符0x3E0x3F保留为协议扩展

    4帧组成->数据场(Data Field)

    0c18f5e0e3dfebeeb87152a9d410b398.png

    数据场由多个字节组成,且每个字节LSB最先发送,MSB最后发送。每个字节的数据需要10个位序,因为在数据前有起始位,数据后有停止位。起始位Startbit0(显性位),停止位Stopbit1(隐性位)

    5、帧组成-> 校验和场(Checksum Field)

    fb26fa271f2db6ed0439797b20357041.png

    校验和分为两种类型,经典型和增强型。

    经典校验:按照校验和计算方式对数据场的所有字节进行校验;

    增强型校验:按照校验和计算方式对标识符场和数据场的所有字节进行校验。

    需要注意的是:ID60(0x3C)~63(0x3F)的报文帧应使用经典校验,ID0(0x00)~59(0x3B)报文帧应使用增强型校验。

    最后来一张示波器抓取的真实LIN报文如下:

    ac223a10240a7fac4b113bde26ea015d.png

      综上了解,现在我们可以计算一下LIN报文的长度:报文以间隔场为起始,校验和场为结束。报文的标称长度是传输一帧报文所需要的最小时间,该时间不包含字节间隔与响应间隔。对整个报文的最大长度有要求,最大的帧长度是允许传输一帧的最大时间,报文的最大长度可以比标称长度40%。

    最小帧长度:

    1、THeader_normal=34*Tbit

    2、TResponse_normal=

    10*(Ndata+1)*Tbit  

    3、TFrame_normal=

    THeader_normal+TResponse_normal

    最大帧长度:

    1、THeader_MAX=

    1.4*THeader_normal

    2、TResponse_MAX=

    1.4*TResponse_normal

    3、TFrame_MAX=

    THeader_MAX+TResponse_MAX

    今天先说这么多,下一小节咱们一起探讨LIN总线的报文类型、LIN调度表设计和LIN的休眠唤醒策略以及常见的小问题,谢谢大家,各位同学,晚安!

    展开全文
  • 帧的结构组成

    2021-04-23 21:37:10
    2.帧的组成为:帧头+上三层+帧尾 如图: 帧头的大小为:14个字节 MTU大小为:1500个字节(中国地区) 帧尾大小为:4个字节 一个帧的大小位:1518个字节 1字节=8位 帧头内的内容包括:目标MAC,源MAC,类型 类型的...
    • 数据链路层
      1.传输的数据单位为:帧
      2.帧的组成为:帧头+上三层+帧尾
      如图:在这里插入图片描述
      帧头的大小为:14个字节
      MTU大小为:1500个字节(中国地区)
      帧尾大小为:4个字节
      一个帧的大小位:1518个字节
      1字节=8位
      帧头内的内容包括:目标MAC,源MAC,类型
      类型的作用:识别上层协议(IP或ARP)
      0x0800:上层为IP协议
      0x0806:上层为ARP协议
      0x代表16进制

    图片源于网络

    展开全文
  • yuv格式的视频,可能是由于拍摄设备的问题,发现其中相邻两帧完全一样,为了进行后续的处理,必须将冗余去除,即要得到偶数或奇数序列... //此处的1382400是我提前计算好的每帧的大小 int main() {  int nFrame,size;
  • 图解CAN总线数据的组成格式

    千次阅读 2020-05-18 19:20:26
    CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、...下面就大致介绍一下CAN总线数据的组成以及格式的具体内容。
  •  我们已经提到,MPEG是基于DCT、运动补偿和Huffman编码算法,由此,MPEG在压缩中使用了内压缩和间压缩两种方式。为了在编码中实现最大压缩比,MPEG使用三种类型图像,即I,P和B。 <br /...
  • 最近在做以太网通信方向项目,由于自己是一个在计算机网络方面小白,在网上查找资料,整理了相关整个以太网数据格式传输方式,分析理解了整体以太网格式,对于后期做项目有很大助益,适合计算机网络...
  • atheros无线驱动之:管理:认证

    千次阅读 2013-12-30 20:10:24
    1:认证帧的组成 看看80211协议上面对帧的组成的说明如下: 先看看在认证模式为:open时,认证帧的格式:认证请求和认证响应。 响应帧 有上面的俩个帧的格式可以看出:使用的认证算法为:0,seqNum分别为:1和2.
  • 2018-06-02 16:02:02
    ,是数据在网络上传输基本单元。,通过本机网络驱动程序成型,...“”数据由两部分组成头和数据。一般,头包括接收方主机物理地址定位以及其它网络信息。互联网使用通讯协议简称IP,即互联网协...
  • CAN通信数据和远程

    万次阅读 多人点赞 2018-07-04 08:50:37
    (先来一波操作,再放概念) ...(3)远程发送特定CAN ID,然后对应IDCAN节点收到远程之后,自动返回一个数据。 环回模式下(方便调试用),设置为发送远程: STM32端通过J-Link RT...
  • 信息元素(information element )是管理帧的组成元件,其长度不定。信息元素通常包含一个Element ID(元素识别码)位、一个 Length(长度)位以及一个长度不定的位,如图 1-31所示。Element ID 编号的标准值如表 1-...
  • LTE的帧结构

    2020-10-28 15:43:53
    一个TDD总共有10个子,20个时隙组成,且一个子1ms,一个时隙0.5ms,因为上下行共用一个子,所以上下行需要切换,当下行子切换到上行时,需要引入特殊子,里面包含了(DwPTS)下行导频时隙+(upPTS)上行...
  • 至此,有了MAC帧的组成结构,以及如何发送到PHY芯片(MII接口),UDP收发基于FPGA的实现理论知识已经具备了,剩下的便是verilog实现了,发现很多时候,前期的准备、设计时间是要远大于写代码时间勒。 ...
  • / 数据

    2018-08-31 09:17:56
    数据在网络上是以很小称为(Frame)单位传输由几部分组成,不同部分执行不同功能。通过特定称为网络驱动程序软件进行成型,然后通过网卡发送到网线上,通过网线到达它们目的机器,在目的...
  • 链路层数据成方法

    千次阅读 2018-02-27 23:07:16
    首先我们应该想想成帧所涉及的问题。...这些都是成帧机制应该考虑的,所以帧的格式设计成如下这样: 能看出来,帧的组成主要是标志和字段两个部分,标志主要是标识了帧的开始和结束,字段部分主要有地址字段...
  • 滑动拼图,由一以随机顺序编号正方形瓷砖组成,其中缺少一个瓷砖。 目的是将图块按升序移动,并在右下角显示空白图块。 怎么玩 将网格上图块按升序移动。 要移动磁贴,您可以单击它以将其推入空白区域或使用...
  • ——作用

    2011-05-24 10:26:47
    通过将组成帧的各个位的逻辑或数学摘要放入帧尾中来实现错误检测。 帧校验序列 帧校验序列 (FCS) 字段用于确定帧的传输和接收过程有无发生错误。之所以在数据链路层中添加错误检测,是因为数据是通过该层的...
  • SIMPLICI TI的帧结构如下所示,网络层结构主要由网络层头和负载组成。 网络层头结构由三个字节组成:包括端口信息,加密信息,接收类型,跳数,应答信息,计数器等组成。 第1个字节结构如下,FWD...
  • ​CAN总线问题是一类比较普遍的问题,为了方便CAN总线问题的排查,对CAN总线的错误处理机制进行总结。...图1 错误帧其中: 主动错误状态下错误帧的错误标志为6位连续的显性位,被动错误状态下错误帧的错误标志...
  • (或列表清单……我刚刚编辑过)是否存在用于转换此类结构现有python / pandas方法food2 = {}food2["apple"] = ["fruit","round"]food2["bananna"] = ["fruit","yellow","long"]food2["carrot"] = ["veg","orange",...
  • 802.11 格式及类型

    千次阅读 2019-03-09 17:48:58
    下面是802.11帧的组成结构,帧总寻此结构. 从上面的结构可以知道,前俩个字节为:帧控制字段。控制字段的前2bit节为:协议类型,目前此值为:0。 1)控制帧:用于竞争期间的握手通信和正向确认、结束非竞争期等.....
  • 无限 时隙

    2019-02-18 13:05:00
    无限帧 1.三个层次 无限帧->子帧->时隙 2.无限帧是LTE时间结构的最大单位,时长10ms ...2.一个子帧的时长就等于1个TTI(Transport Time Internal 传输时间间隔) 时隙 1.子帧并不是LTE时间结构基...
  • 先说明一下,这个步骤是适合有点PR基础人去观看,小白话可能看起来会有点懵逼 来了来了,直接输入干货 第一步:创建序列,不要直接拖入素材,序列要在设置-->...6.这里介绍一个概念:视频是由画面组成的,画
  •  数字通信时,一般以一定数目的码元组成一个个“字”或“句”,即组成一个个“帧”进行传输,因此帧同步信号的频率很容易由位同步信号经分频得出,但每个帧的开头和末尾时刻却无法由分频器的输出决定。为此,帧同步...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,003
精华内容 1,601
关键字:

帧的组成