精华内容
下载资源
问答
  • 每个以太之间都要有间隙(Interframe Gap),即每发完一个后要等待一段时间才能再发 另外一个,以便让接收者对接收的作必要的处理(如调整缓存的指针、更新计数、通知对 报文进行处理等等)。  在...

            每个以太帧之间都要有帧间隙(Interframe Gap),即每发完一个帧后要等待一段时间才能再发
    另外一个帧,以便让帧接收者对接收的帧作必要的处理(如调整缓存的指针、更新计数、通知对
    报文进行处理等等)。
               在以太网标准中规定最小帧间隙是12个字节,其数据为全1。对于个别的接口,可减少到64(GE)
    或40比特(10GE),其他的接口都不应该小于12字节。
    以太网标准中规定前导码为10101010 10101010 10101010 10101010 10101010 10101010 10101010
    (二进制),共7字节;帧开始定界符为10101011,共1字节。
            那么,如果PIC卡实际收到的帧间隙、前导码、帧开始界定符,如果跟协议规定的不一样,是不
    是这个数据帧也会被丢弃?答案是,PIC卡在处理帧间隙时,帧间隙一般可以容忍跟协议规定的
    不一样(比如不是全1);但前导码、帧开始界定符必须符合协议规定的值,否则当做帧间隙处
    理,也就是帧被丢弃了。

    展开全文
  • 同步,同步是什么意思

    千次阅读 2019-04-08 12:57:45
    同步,同步是什么意思 在数字通信时,一般总是以一定数目的码元组成一个个的“字”或“句”,即组成一个个的“群”进行传输的。因此,群同步信号的频率很容易由位同步信号经分频而得出。但是,每个群的开头和末尾...

    帧同步,帧同步是什么意思
    在数字通信时,一般总是以一定数目的码元组成一个个的“字”或“句”,即组成一个个的“群”进行传输的。因此,群同步信号的频率很容易由位同步信号经分频而得出。但是,每个群的开头和末尾时刻却无法由分频器的输出决定。群同步的任务就是在位同步信息的基础上,识别出数字信息群(“字”或“句”)的起止时刻,或者说给出每个群的“开头”和“末尾”时刻。
    群同步有时也称为帧同步。为了实现群同步,可以在数字信息流中插入一些特殊码字作为每个群的头尾标记,这些特殊的码字应该在信息码元序列中不会出现,或者是偶然可能出现,但不会重复出现,此时只要将这个特殊码字连发几次,收端就能识别出来,接收端根据这些特殊码字的位置就可以实现群同步。本节将主要讲述插入特殊码字实现群同步的方法。
    插入特殊码字实现群同步的方法有两种,即连贯式插入法和间隔式插入法。在介绍这两种方法以前,先简单介绍一种在电传机中广泛使用的起止式群同步法。
    起止同步法
    目前在电传机中广泛使用的同步方法,就是起止式群同步法,下面就以电传机为例,简要地介绍一下这种群同步方法的工作原理。
    电传报文的一个字由7.5个码元组成,假设电传报文传送的数字序列为10010,则其码元结构如图1所示。从图中可以看到,在每个字开头,先发一个码元的起脉冲(负值),中间5个码元是信息,字的末尾是1.5码元宽度的止脉冲(正值),收端根据正电平第一次转到负电平这一特殊规律,确定一个字的起始位置,因而就实现了群同步。由于这种同步方式中的止脉冲宽度与码元宽度不一致,就会给同步数字传输带来不便。另外,在这种同步方式中,7.5个码元中只有5个码元用于传递信息,因此编码效率较低。但起止同步的优点是结构简单,易于实现,它特别适合于异步低速数字传输方式。

    连贯式插入法
    连贯式插入法就是在每群的开头集中插入群同步码字的同步方法。作群同步码字用的特殊码字首先应该具有尖锐单峰特性的局部自相关特性,其次这个特殊码字在信息码元序列中不易出现以便识别,最后群同步识别器需要尽量简单。目前已经找到的最常用的群同步码字,就是“巴克”码。
    1.巴克码
    巴克码是一种具有特殊规律的二进制码字。它的特殊规律是:若一个n位的巴克码{X1,X2,X3,…Xn},每个码元 只可能取值+1或-1,则它必然满足条件
    式(1)中,R(j)称为局部自相关函数。从巴克码计算的局部自相关函数可以看到,它满足作为群同步码字的第一条特性,也就是说巴克码的局部自相关函数具有尖锐单峰特性,从后面的分析同样可以看出,它的识别器结构非常简单。目前人们已找到了多个巴克码字,具体情况如表1所示。表中+表示+1,–表示–1。
    以n = 7的巴克码为例,它的局部自相关函数计算结果如下

    同样可以求出j = 3、4、5、6、7,以及j = -1、-2、-3、-4、-5、-6、-7时R(j)的值为

    根据式(2)计算出来的这些值,可以作出7位巴克码关于R(j)与j的关系曲线,如图2。由图2可以看出,自相关函数在j=0时具有尖锐的单峰特性。局部自相关函数具有尖锐的单峰特性正是连贯式插入群同步码字的主要要求之一。

    2.巴克码识别器
    巴克码识别器是比较容易实现的,这里以七位巴克码为例,用7级移位寄存器、相加器和判决器就可以组成一识别器,具体结构如图7-16所示。7级移位寄存器的1、0端输出按照1110010的顺序连接到相加器输入,接法与巴克码的规律一致。当输入数据的“1”存入移位寄存器时,“1”端的输出电平为+1,而“0”端的输出电平为-1;反之,存入数据“0”时,“0”端的输出电平为+1,“1”端的电平为-1。
    当发送端送来的码元自右向左进入时,首先考虑一个简单的情况:假设只计算巴克码(1110010)进入的几个移位寄存器的输出,此时将有巴克码进入一位,二位……七位全部进入,第一位移出尚留六位……前六位移出只留一位等13种情况。经过计算可得相加器的输出就是自相关函数,设码元进入移位寄存器数目为a,码元尚留在移位寄存器的数目是b,这是就可以得到a、b和j之间的关系式

    根据上述关系可以得到表2,它反映了相加器输出与a、b之间的关系。

    实际上述群同步码的前后都是有信息码的,具体情况如图4(a)所示,在这种情况下巴克码识别器的输出波形如图4(b)所示。

    当七位巴克码在图4中的t1时刻,正好已全部进入了7级移位寄存器,这时7个移位寄存器输出端都输出+1,相加后得最大输出+7,如图4(b)所示,而判决器输出的两个脉冲之间的数据,称为一群数据或称为一帧数据。
    当然,对于信息而言,由于其具有的随机特性,可以考察一种最不利的情况:即当巴克码只有部分码在移位寄存器时,信息码占有的其它移位寄存器的输出全部是+1,在这样一种对于群同步最不利的情况下,相加器的输出将如表3所示。由此可得到相加器的输出波形如图5所示。图中横坐标用a表示,由a、b和j之间的关系可知,a=14-b。

    由图5可以看出,如果判决电平选择为6,就可以根据a=7时相加器输出的7,大于判决电平6而判定巴克码全部进入移位寄存器的位置。此时识别器输出一个群同步脉冲,表示群的开头。一般情况下,信息码不会正好都使移位寄存器的输出均为+1,因此实际上更容易判定巴克码全部进入移位寄存器的位置。后面还要讲到如果巴克码中有误码时,只要错一个码,当a=7时相加器输出将由7变为5,低于判决器的判决电平。因此,为了提高群同步的抗干扰性能,防止漏同步,判决电平可以改为4。但改为4以后容易发生假同步,这些问题在性能分析时要进一步讨论。
    间歇式插入法
    在某些情况下,群同步码字不再是集中插入在信息码流中,而是将它分散地插入,即每隔一定数量的信息码元,插入一个群同步码字。这种群同步码字的插入方式被称为间歇式插入法。
    当然集中式插入法和间歇式插入法在实际系统当中都有应用,例如在32路数字电话PCM系统中,实际上只有30路通电话,另外两路中的一路专门作为群同步码传输,而另一路作为其它标志信号用,这就是连贯式插入法的一个应用实例。而在24路PCM系统中,群同步则采用间歇式插入法。在这个系统中,一个抽样值用8位码表示,此时24路电话都抽样一次共有24个抽样值,192(24×8=192)个信息码元。192个信息码元作为一帧,在这一帧插入一个群同步码元,这样一帧共193个码元。24路PCM系统如图7-19所示:
    由于间歇式插入法,是将群同步码元分散的插入倒信息流中,因此,群同步码码型选择有一定的要求,其主要原则是:首先要便于收端识别,即要求群同步码具有特定的规律性,这种码型可以是全“1”码、“1”“0”交替码等;其次,要使群同步码的码型尽量和信息码相区别。例如在某些PCM多路数字电话系统中,用全“0”码代表“振铃”,用全“1”码代表“不振铃”,这时,为了使群同步码字与振铃相区别,群同步码就不能使用全“1”或全“0”。
    收端要确定群同步码的位置,就必须对接收的码进行搜索检测。一种常用检测方法为逐码移位法,它是一种串行的检测方法;另一种方法是RAM帧码检测法,它是利用RAM构成帧码提取电路的一种并行检测方法。这里将介绍逐码移位法的基本原理和实现同步的过程。

    逐码移位法的基本原理就是,由位同步脉冲(位同步码)经过n次分频以后的本地群码(频率是正确的,但相位不确定)与接收到码元中间歇式插入的群同步码进行远码移位比较,使本地群码与发送来的群同步码同步。其原理结构框图如图7:

    图7中异或门、延迟一位电路和禁门是专门用来扣除位同步码元以调整本地群码相位的,具体过程可以通过图8看到。
    设接收信码(波形c)中的群同步码位于画斜线码元的位置,后面依次安排各路信息码1、2、3(为简单起见,只包含三路信息码)。如果系统已经实现了群同步,则位同步码(波形a)经四次分频后,就可以使得本地群码的相位与收信码中的群同步码的相位一致。现在假设开始时如波形d图所示,本地群码的位置与波形c收信码中的群码位置相差两个码元位。为了易于看出逐码移位法的工作过程,假设群码为全“1”码,其余的信息码均与群码不同,为“0”。在第一码元时间,波形c与d不一致,原理图中的异或门有输出(波形e),经延迟一码元后,得波形f加于禁门,扣掉位同步码的第2个码元(波形b的第2个码元位置用加一叉号表示),这样分频器的状态在第2码元期间没有变化,因而分频器本地群码的输出仍保持和第1码元时相同。这时,它的位置只与收信码中的群码位置相差一位了(见波形d1)。

    类似地在第2码元时间,c又和d1进行比较,产生码形e1和f1,又在第3码元位置上扣掉一个位同步码,使本地群码的位置又往后移一位(波形d2)。至此以后,收信码中的群码与本地群码的位置就完全一致了,因而就实现了群同步。同时,也就提供了各路的定时信号。
    从图8表示的群同步建立原理来看,如果信息码中所有的码都与群码不同,那么最多只要连续经过N次调整,经过NTb的时间就可以建立同步了。但实际上信息码中“l”、“0”码均会出现,当出现“1”码时,在上面群同步过程的例子中,第1个位同步码对应的时间内信息码为“1”,图7-21中异或门输出 e=0,f=0禁门不起作用,不扣除第2位同步码,因此本地群码不会向右移展宽,这一帧调整不起作用,一直要到下一帧才有可能调整。假如下一帧本地群码d还是与信码中“1”码相对应,则调整又不起作用。当信息码中1、0码等概出现时,即P(1)=P(0)=0.5时,经过计算,群同步平均建立的时间近似为 (5)
    群同步系统的性能指标
    对于群同步系统而言,希望其建立的时间要短、建立同步以后应该具有较强的抗干扰能力。因此,在通常情况下,用以下三个性能指标来表示群同步性能的好坏,它们是:(1)漏同步概率P1;(2)假同步概率P2;(3)群同步平均建立时间ts。
    不同形式的同步系统,性能自然也不同。在此将主要分析集中插入方式的群同步系统的性能。
    1.漏同步概率P1
    由于噪声和干扰的影响,会引起群同步码字中一些码元发生错误,从而使识别器漏识别已发出的群同步码字,出现这种情况的概率称为漏识概率,用符号 来表示。以7位巴克码识别器为例,设判决门限为6,此时7位巴克码中只要有一位码发生错误,当7位巴克码全部进入识别器时,相加器输出就由7变5,小于判决门限6,这时就出现了漏同步情况,因此,只有一位码也不错才不会发生漏同步。若在这种情况下,将判决门限电平降为4,识别器就不会漏识别,这时判决器容许7位同步码字中有一个错误码元。
    在信息码中也可能出现与所要识别的群同步码字相同的码字,这时识别器会把它误认为群同步码字而出现假同步。出现这种情况的概率就被称为假同步概率,用符号P2表示。
    因此,计算假同步概率P2计算信息码元中能被判为同步码字的组合数与所有可能的码字数之比。设二进制信息码中1和0码等概出现,也就是P(1)=P(0)=0.5,则由该二进制码元组成n位码字的所有可能的码字数为2n个,而其中能被判为同步码字的组合数也与m有关,这里m表示判决器容许群同步码字中最大错码数,若m=0时,只有 个码字能识别;若M=1,则有 个码字能识别。以此类推,就可求出信息码元中可以被判为同步码字的组合数,这个数可以表示为 ,由此可得假同步概率的表达式为

    从式(6)和式(7)可以看到,随着m的增大,也就是随着判决门限电平降低,P1减小,但P2将增大,所以这两项指标是相互矛盾的。所以,判决门限的选取要兼顾漏同步概率和假同步概率。
    3.群同步平均建立时间ts
    对于连贯式插入的群同步而言,设漏同步和假同步都不发生,也就是P1 = 0和P2 = 0。在最不利的情况下,实现群同步最多需要一群的时间。设每群的码元数为N(其中m位为群同步码),每码元时间为Tb,则一群码的时间为NTb。考虑到出现一次漏同步或一次假同步大致要多花费 的时间才能建立起群同步,故群同步的平均建立时间大致为:

    群同步的保护
    1.连贯式插入法中的群同步保护
    连贯式插入法中的群同步保护电路如图9。在群同步尚末建立时,系统处于捕捉态,状态触发器C的Q端为低电平,群同步码字识别器的判决门限电平较高,因而就减小了假同步概率P2。这时在保护电路中,由于把判决门限电平调高,假同步的概率已很小,故保护电路中的n分频器被置零,禁止位同步n分频后输出。这里的n表示一帧数据的长度,因此,在置零信号无效时,位同步n分频后可以输出一个与群同步同频的信号,但脉冲位置不能保证与群同步脉冲位置相同,而这个脉冲位置也正是需要捕捉态确定的。

    从图9可以看到,为了减小假同步的概率,必须连续 次接收的码元与本地群码相一致,才被认为是建立了同步,采用这种方法可使假同步的概率大大减小。
    状态触发器C在同步末建立时处于“捕捉态”(此时Q端为低电平)。本地群码和收码只有连续n1次一致时,n1计数电路才输出一个脉冲使状态触发器的Q端由低电平变为高电平,群同步系统就由捕捉态转为维持态,表示同步已经建立。这样收码就可通过与门1加至解调器。偶然的一致是不会使状态触发器改变状态的,因为 次中只要有一次不一致,就会使计数电路置“0”。
    同步建立以后,可以利用状态触发器C和n2计数电路,来防止漏同步以提高同步系统的抗干扰能力。一旦转为维持状态以后,触发器C的Q反端变为低电乎,将与门2封闭。这时即使由于某些干扰使e有输出,也不会调整本地群码的相位。如果是真正的失步,e就会不断地将输出加到n2计数电路,同时e的反也不断将 计数电路置“0”。这时n1计数电路也不会再有输出加到n2计数电路的置“0”端上,而当n2计数电路输入脉冲的累计数达到n2时,就输出一个脉冲使状态触发器由维持态转为捕捉态,C触发器的Q反端转为高电平。这样,一方面与门2打开,群同步系统又重新进行逐码移位,另一方面封闭与门1,使解调器暂停工作。由此可以看出,将逐码移位法群同步系统划分为捕捉态和维持态后,既提高了同步系统的可靠性,又增加了系统的抗干扰能力。

    展开全文
  • 以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议)。以太帧由一个32位冗余校验码结尾,它用于检验数据...

    a370fc4889aed539ffbe3100e33eb292.png

    以太网帧格式

    在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议)。以太帧由一个32位冗余校验码结尾,它用于检验数据传输是否出现损坏。

    结构

    来自线路的二进制数据包称作一个帧。从物理线路上看到的帧,除其他信息外,还可看到前导码和帧开始符。任何物理硬件都会需要这些信息。

    下面的表格显示了在以1500个八比特组为MTU传输(有些吉比特以太网甚至更高速以太网支持更大的帧,称作巨型帧)时的完整帧格式。一个八比特组是八个位组成的数据(也就是现代计算机的一个字节)。ethernet || 型 以太网帧结构前导码帧开始符MAC 目标地址MAC 源地址802.1Q标签 (可选)以太类型负载冗余校验帧间距

    10101010 7个octet10101011 1个octet6 octets6 octets(4 octets)2 octets46–1500 octets4 octets12 octets

    64–1522 octets

    72–1530 octets

    84–1542 octets

    前导码和帧开始符

    参见:Syncword

    一个帧以7个字节的前导码和1个字节的帧开始符作为帧的开始。快速以太网之前,在线路上帧的这部分的位模式是10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011。由于在传输一个字节时最低位最先传输(LSB),因此其相应的16进制表示为0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xD5。

    10/100M 网卡(MIIPHY)一次传输4位(一个半字)。因此前导符会成为7组0x5+0x5,而帧开始符成为0x5+0xD。1000M网卡(GMII)一次传输8位,而10Gbit/s(XGMII) PHY芯片一次传输32位。 注意当以octet描述时,先传输7个01010101然后传输11010101。由于8位数据的低4位先发送,所以先发送帧开始符的0101,之后发送1101。

    报头

    报头包含源地址和目标地址的MAC地址,以太类型字段和可选的用于说明VLAN成员关系和传输优先级的IEEE 802.1QVLAN 标签。

    帧校验码

    帧校验码是一个32位循环冗余校验码,以便验证帧数据是否被损坏。

    帧间距

    主条目:en:Interframe gap

    当一个帧发送出去之后,发送方在下次发送帧之前,需要再发送至少12个octet的空闲线路状态码。

    更多相关知识,请访问:PHP中文网!

    展开全文
  • 2.2 波特率 很多工程师一直都没彻底搞明白什么是波特率,我这里还是结合UART波特率来简述一下其含义。 在电子通信领域,波特(Baud)即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化...

    578c542c85f04af19cc31d8b679f35e9.png

    说明:

    本文原创作者『strongerHuang

    首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop

    标签:CAN、 CANOpen、 CanFestival

    一、写在前面

    上一篇文章讲述了CAN收发器的重要作用,也提及了一下CAN总线的优势主要在于CAN控制器。CAN控制器在CAN网络中所处的位置如下图:

    9bdc86d31f5a6e0f9f415c2b032d31ae.png

    本文讲述的CAN控制器实现的几个重要功能:CAN总线波特率、位时序、帧类型

    二、CAN总线波特率

    CAN总线属于异步通信,因此就有通信波特率,而这个波特率发生器就位于CAN控制器内部。我们不需要了解它是如何产生的,但需要了解它的含义。这章节针对初学者讲述以下两点内容。

    2.1 异步通信

    在串行通信中,主要分异步通信和同步通信

    同步通信:通信设备之间通过同步信号(CLK时钟)来实现数据传输的通信叫同步通信。如I2C、SPI这类通信中都具有一个时钟信号,其实在STM32中USART也具有同步功能,只是我们大多数人都只用了它的异步功能。

    异步通信:简单来说,就是通信设备之间通过约定一样的时间来收发数据。而这个时间就会决定本节说的波特率。

    2.2 波特率

    很多工程师一直都没彻底搞明白什么是波特率,我这里还是结合UART波特率来简述一下其含义。

    在电子通信领域,波特(Baud)即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号

    UART每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps

    从上面的描述可以总结:

    比特率:即单位时间内传送的二进制位数;

    波特率:即单位时间内传输的符号个数;

    只有在每个符号只代表一个比特信息的情况下,波特率与比特率才在数值上相等,但是它们的意义并不相同。

    三、位时序

    上一章节讲述了波特率,而决定波特率大小的就是本节说的位时序。在CAN标准中一个位可分为4段:

    ·同步段(SS)

    ·传播时间段(PTS)

    ·相位缓冲段1(PBS1)

    ·相位缓冲段2(PBS2)

    这些段又由可称为 Time Quantum(简称Tq)的最小时间单位构成。

    1位分为4个段,每个段又由若干个Tq构成,这称为位时序。

    而在STM32参考手册中,将位时序分为三段,但它将它传播段和位段1合并在一起了,如下图:

    377d7a138fc7920c29d535ecd9b3c5dc.png

    1位由多少个Tq构成、每个段又由多少个Tq构成等,可任意设定位时序。通过设定位时序,决定传输的波特率

    797a2cc3a15ca9518e0584eb6523cafb.png

    这几个参数会在以后编程中进行配置,从而决定通信的波特率。

    关于同步,还有硬件同步、再同步等操作。但初学者可以不必过多理解,掌握上面基础内容就行了。更多关于位时序的内容可以参看 ISO 11898 标准。

    四、帧类型及格式说明

    CAN总线是通过以下5种类型的帧进行通信:

    数据帧:用于发送单元向接收单元传送数据的帧。

    遥控帧:用于接收单元向具有相同 ID 的发送单元请求数据的帧。

    错误帧:用于当检测出错误时向其它单元通知错误的帧。

    过载帧:用于接收单元通知其尚未做好接收准备的帧。

    帧间隔:用于将数据帧及遥控帧与前面的帧分离开来的帧。

    数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11个位的标识符ID,扩展格式有29个位的ID。

    4.1 数据帧

    5aa71b35684c09f26764cfac9c809af1.png

    如上图,数据帧由7个段构成:

    (1) 帧起始

    表示数据帧开始的段。

    (2) 仲裁段

    表示该帧优先级的段。

    (3) 控制段

    表示数据的字节数及保留位的段。

    (4) 数据段

    数据的内容,可发送 0~8 个字节的数据。

    (5) CRC 段

    检查帧的传输错误的段。

    (6) ACK 段

    表示确认正常接收的段。

    (7) 帧结束

    表示数据帧结束的段。

    理解数据帧的含义,请从认真理解它的定义:用于发送单元向接收单元传送数据的帧。

    一般的CAN总线通信,总线上通信绝大部分时候都是数据帧。像在CANOpen协议中,用的最多的PDO过程数据对象就是通过数据帧进行的通信。

    初学者可以先理解数据帧,然后其他就容易理解了。下面再来讲述一下数据帧7段的详情

    4.1.1 帧起始

    标准和扩展格式相同。表示帧开始的段,1个位的显性位(如下图):

    b69ce77917d0676dc046ee0022674a5d.png

    关于显性和隐性电平,请参看我上一篇文章差分信号章节。

    总线上的电平有显性电平和隐性电平两种。 总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。

    “显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)

    4.1.2 仲裁段

    标准格式和扩展格式在此的构成有所不同。仲裁段表示该帧优先级的段,扩展格式多了18位ID(如下图):

    5946651c10126864a66db115b4f06a27.png

    RTR = 0代表数据帧,RTR = 1代表远程帧。

    为什么叫仲裁段,就是通过ID来判断总线上哪一个节点具有优先发送的权利。ID越小(0代表显性),优先级越高。

    4.1.3 控制段

    标准和扩展格式的构成有所不同。控制段由 6 个位构成(如下图):

    ed54c3a209b077af39c566c7aadaac6c.png

    它们除了都有4位表示数据段长度代码(DLC)外,标准帧有IDE(数值为0)位和r0保留位,扩展帧有r0和r1保留位。

    保留位必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平。

    4.1.4 数据段

    标准和扩展格式相同。数据段表示传输数据的内容,从 MSB(最高位)开始输出,可发送 0~8 个字节的数据,长度由前面控制段决定。

    4.1.5 CRC段

    标准和扩展格式相同。CRC段是检查帧传输错误的帧,由 15 个位的 CRC 顺序和 1 个位的 CRC 界定符(用于分隔的位)构成。

    3150163a8f779c0b3b4ac43889e8e767.png

    相比485这类通信,CAN控制器就已经把CRC校验做了,不需要你的程序再次去计算,从而节约了处理器资源。

    4.1.6 ACK段

    标准和扩展格式相同。ACK段用来确认是否正常接收。由 ACK 槽(ACK Slot)和 ACK 界定符 2 个位构成。

    b5171fc0ad1d0b7b84851a1b48e8541d.png

    A.发送单元在 ACK 段发送 2 个位的隐性位。 B.接收到正确消息的单元在 ACK 槽(ACK Slot)发送显性位, 通知发送单元正常接收结束。这称作“发送 ACK”或者“返回 ACK”。

    4.1.7 帧结束

    标准和扩展格式相同。帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。

    f6e2a6ff094e47fdda8769eb680dfaa2.png

    4.2 遥控帧

    7e33de8b8d2be6a0188190a10e338b66.png

    和数据帧相比,遥控帧是接收单元向发送单元请求发送数据所用的帧。所以,遥控帧没有数据段。因此,遥控帧由如下 6 个段组成:

    (1) 帧起始(SOF)

    表示帧开始的段。

    (2) 仲裁段

    表示该帧优先级的段。可请求具有相同 ID 的数据帧。

    (3) 控制段

    表示数据的字节数及保留位的段。

    (4) CRC 段

    检查帧的传输错误的段。

    (5) ACK 段

    表示确认正常接收的段。

    (6) 帧结束

    表示遥控帧结束的段。

    这6个段和上面数据帧的内容基本一样,这里就不一一讲述了。讲一下遥控帧和数据帧的区别:

    遥控帧的 RTR 位为隐性位,没有数据段。

    没有数据段的数据帧和遥控帧可通过 RTR 位区别开来。

    问题一:遥控帧没有数据段,数据长度码该如何表示? 遥控帧的数据长度码以所请求数据帧的数据长度码表示。

    问题二:没有数据段的数据帧有何用途? 例如,可用于各单元的定期连接确认/应答、或仲裁段本身带有实质性信息的情况下。

    4.3 错误帧

    3b13b9c14481b096c90071576549b366.png

    用于在接收和发送消息时检测出错误通知错误的帧。错误帧由错误标志和错误界定符构成。

    (1) 错误标志 错误标志包括主动错误标志和被动错误标志两种。 主动错误标志: 6 个位的显性位。 被动错误标志: 6 个位的隐性位。

    (2) 错误界定符 错误界定符由 8 个位的隐性位构成。

    4.4 过载帧

    679e430b12e29c54fb546479348f8bf2.png

    过载帧是用于接收单元通知其尚未完成接收准备的帧。过载帧由过载标志和过载界定符构成。 (1) 过载标志 6 个位的显性位。 过载标志的构成与主动错误标志的构成相同。

    (2) 过载界定符 8 个位的隐性位。 过载界定符的构成与错误界定符的构成相同。

    4.5 帧间隔

    0088a211e0806e0399f6cbe3aa37f548.png

    帧间隔是用于分隔数据帧和遥控帧的帧。数据帧和遥控帧可通过插入帧间隔将本帧与前面的任何帧(数据帧、遥控帧、错误帧、过载帧)分开。

    过载帧和错误帧前不能插入帧间隔。

    (1) 间隔

    3 个位的隐性位。

    (2) 总线空闲

    隐性电平,无长度限制(0 亦可)。 本状态下,可视为总线空闲,要发送的单元可开始访问总线。

    (3) 延迟传送(发送暂时停止)

    8 个位的隐性位。 只在处于被动错误状态的单元刚发送一个消息后的帧间隔中包含的段。

    五、说明

    1.该文档仅供个人学习使用,版权所有,禁止商用。

    2.本文由我一个人编辑并整理,难免存在一些错误。

    3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号『嵌入式专栏』,关注微信公众号回复【CANOpen系列教程】即可查看全系列教程。

    六、最后

    我的博客:http://www.strongerhuang.com

    我的GitHub:https://github.com/EmbeddedDevelop

    我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus...等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号『strongerHuang』。

    展开全文
  • 关于一个帧开始和结束的判断

    万次阅读 2011-08-22 09:21:07
    串行通信怎么判断一数据发送完毕?设置一个时间间隔?过了这个时间间隔还没有数据来就可以判断一数据发送完成? 弄个结束字符也不保险啊!万一那个结束字符铥了怎么办?或者接收接收字符出错了怎么办? 判断...
  • 以太网最小长为什么是64字节

    万次阅读 2011-09-08 10:05:13
       以太网最小长为什么是64字节 最近由于要做一个关于以太网环境中网络设备时延方面的测试,在RFC2544 上面规定了一些测试时数据包的长度分别为64, 128, 2
  • 最近在研究CAN总线的驱动,需要详细了解数据/标准/扩展/远程/错误这几种的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅
  • 什么以太网最小为64字节

    千次阅读 2018-12-16 22:26:34
    以太网中的最小长的设定: 1,假设公共总线媒体长度为S,在媒体上的传播速度为0.7C(光速),网络的传输率为R(bps),长为L(bps),tPHY为某站的物理层时延;则有: 碰撞槽时间=2S/0.7C+2tPHY 因为Lmin/R=...
  • 最大长和最小长详解

    万次阅读 多人点赞 2018-04-01 16:02:52
    文章出处:https://blog.csdn.net/ixidof/article/details/7799891 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?... 帧起始定界:1字节0xD5( 10101011 ),表示一帧开始; 3. DA ( 目...
  • 什么帧结构 以太网的随着历史的发展有 Ethernet I 不做介绍 EhernetII 一、6个字节的目的MAC地址 二、6个字节的源MAC地址 三、2个字节的类型字段 四、46-1500的数据位 五、4个字节的校验 IEEE802.3 ...
  • 以太

    千次阅读 2011-05-08 22:49:00
    以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议)。以太帧由一个32位冗余校验码结尾。它用于检验...
  • 数据包最大字节和最小字节

    千次阅读 2016-01-13 09:56:12
     根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界,具体就是:7字节前导同步码 + 1字节帧开始定界...
  • 以太网最大和最小、MTU

    千次阅读 2016-07-23 14:32:38
    根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界,具体就是:7字节前导同步码 + 1字节帧开始定界 + ...
  • 2、帧起始定界:1字节0xD5(10101011),表示一帧开始 3、DA(目的MAC):6字节 4、SA(源MAC):6字节 5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF) 6
  • 格式

    2019-04-07 21:12:00
    接收端等待,当收到10111定界,就是一开始 如何定义一的结束? 通过编码进行,明白是电频跳变进行数据传输的,当电频没有变化的时候就是一的结束 转载于:...
  • 什么以太网最小是64字节

    千次阅读 2017-03-20 19:35:34
    当数据帧到达网卡时,在物理层上网卡要先去掉前导同步码和帧开始定界,然后对帧进行 CRC 检验,如果帧校验和错,就丢弃此帧。如果校验和正确,就判断帧的目的硬件地址是否符合自己的接收条件(目的地址是自己的...
  • I和IDR

    千次阅读 2015-05-26 10:28:25
    DR(Instantaneous Decoding Refresh)--即时解码刷新。  I和IDR帧都是使用帧内预测的。...IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是
  • 封装成

    2021-04-24 18:11:24
    在MAC帧中,并没有标志位来做帧定界,而是在数据链路层中封装好帧后,物理层给封装好的帧添加8字节的前导码,前七个字节是同步码,作用是使对方的时钟同步,第八个字节是帧开始的定界,表明其后面紧跟着的是MAC帧 ...
  • 以太网

    千次阅读 2016-08-30 18:06:51
    每种格式的以太网开始处都有64比特(8字节)的前导字符,其中前7个字节称为前同步码(Preamble),内容是16进制数 0xAA,最后1字节为起始标志0xAB,它标识着以太网开始。前导字符的作用是使接收节点进行...
  • 什么802.3MAC最小是64字节?

    千次阅读 2016-02-22 10:37:17
    开始发送一,则这个在t+τ时刻到达B,若B在t+τ-ε时刻开始发送一,则B在t+τ时就 会检测到冲突,并发出阻塞信号。 (2)阻塞信号将在t+2τ时到达A。所以A必须在t+2τ时仍在发送才可以检测到冲突,...
  • 上一篇讲解端点描述的时候提到了和微的概念,可能很多人会晕,这节课先做下补充,避免大家放弃学习。 1.概念 (1)USB2.0和微属于物理层时间基准的概念,低速和全速下每个时长为1ms,高速下每个又...
  • 同步

    2015-11-04 23:13:00
    同步指的是接收方应当能从接收到的二进制比特...在HDLC通信规程中的标识位F(01111110),就是用它来标识开始和结束。通信开通时,当检测到标识F,即认为是开始,然后在数据传输过程中一旦检测到...
  • 位同步(比特同步)和同步的区别是什么?2009-03-09 07:30在数据通信中最基本的同步方式就是“位同步”(bit synchronization)或比特同步。比特是数据传输的最小单位。位同步(比特同步)是指接收端时钟已经调整到...
  • 网络编程 Ethernet帧结构解析,为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节 在帧的前面插入的 8 字节中的第一个字段共 7 个字节,是前...第二个字段是帧开始定界,表示后面信息就是MAC 帧。
  • usb2.0 和微

    千次阅读 2020-04-27 22:46:23
    usb主机和设备控制器同步后,每个微起始点开始传输数据,在一个微时间里,usb host轮训各个device 一个微传输时间里,可以进行 控制传输,中断传输,批量传输,同步传输。 通常微起始时间到来时,host 控制...
  • 在传统以太网中,为什么要有...2、帧起始定界:1字节0xD5(10101011),表示一帧开始 3、DA(目的MAC):6字节 4、SA(源MAC):6字节 5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x06...
  • 在传统以太网中,为什么要有最小帧长度和...2、帧起始定界:1字节0xD5(10101011),表示一帧开始 3、DA(目的MAC):6字节 4、SA(源MAC):6字节 5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,545
精华内容 25,018
关键字:

帧开始符是什么