zoukankan      html  css  js  c++  java
  • 帧同步

      帧同步指的是接收方应当能从接收到的二进制比特流中区分出帧的起始与终止。

      概念:两个工作站之间以报文分组为单位传输信息时,必须将线路上的数据流划分成报文分组或HDLC(高级数据链路控制)规程的帧,以帧的格式进行传送。在HDLC通信规程中的帧的帧标识位F(01111110),就是用它来标识帧的开始和结束。通信开通时,当检测到帧标识F,即认为是帧的开始,然后在数据传输过程中一旦检测到帧标识F即表示帧结束。数据链路层所以要把比特组合成以帧为单位传送,是为了在出错时,可只将有错的帧重发,而不必将全部数据重新发送,从而提高了效率。通常为每个帧计算校验和(Checksum)。当一帧到达目的地时,校验和再被计算一遍,若与原校验和不同,就可发现差错了。

      常用的帧同步方法有:使用字符填充的首尾定界符法、使用比特填充的首尾标志法、违法编码法和字节计数法。

      在数据通信中最基本的同步方式就是“位同步”(bit synchronization)或比特同步。比特是数据传输的最小单位。位同步(比特同步)是指接收端时钟已经调整到和发送端时钟完全一样,因此接收端收到比特流后,就能够在每一位的中间位置进行判决(如下图所示)。位同步(比特同步)的目的是为了将发送端发送的每一个比特都正确地接收下来。这就要在正确的时刻(通常就是在每一位的中间位置)对收到的电平根据事先已约定好的规则进行判决。例如,电平若超过一定数值则为1,否则为0。
    位同步(比特同步)和帧同步的区别是什么?

      但仅仅有位同步还不够。因为数据要以帧为单位进行发送。若某一个帧有差错,以后就重传这个出错的帧。因此一个帧应当有明确的界限,也就是说,要有帧定界符。接收端在收到比特流后,必须能够正确地找出帧定界符,以便知道哪些比特构成一个帧。接收端找到了帧定界符并确定帧的准确位置,就是完成了“帧同步”(frame synchronization)。

      在使用PCM的时分复用通信中(这种通信都采用同步通信方式),接收端仅仅能够正确接收比特流是不够的。接收端还必须准确地将一个个时分复用帧区分出来。因此要利用特殊的时隙(包含有一些特殊的比特组合),使接收端能够把每一个时分复用帧的位置确定出来。这也叫做帧同步。下图给出了这两种不同的帧同步的示意图。

      图中上面部分的同步通信方式在电信网中使用得非常广泛,其中的一个重要特点是在发送端连续不断地发送比特流中,即使有的时隙没有被用户使用,但用于同步的时隙也要保留在时分复用帧中的相应位置上。在同步通信中帧同步的任务就是使接收端能够从收到的连续比特流中确定出每一个时分复用帧的位置。

      图中下面部分的异步通信方式在计算机网络中使用得较多。我们可以注意到,数据帧在接收端出现的时间是不规则的。因此在接收端必须进行帧定界。但帧定界也常称为帧同步。因此,当我们看到“帧同步”时,应当弄清这是同步通信中的帧同步,还是异步通信中的帧定界。

      这里我们要强调一下,在异步通信时,接收端即使找到了数据帧的开始处,也还必须将数据帧中的所有比特逐个接收下来。因此,接收端必须和数据帧中的各个比特进行比特同步(这就是异步通信中的同步问题)。试想:如果接收端不知道每一个比特要持续多长时间,那怎样能将一个个比特接收下来呢?因此,不管是同步通信还是异步通信,要想接收比特块中的每一个比特,就必须和比特块中的比特进行位同步(比特同步)。然而在异步通信中,位同步(比特同步)的方法和同步通信时并不完全一样。

      在同步通信中,最精确的同步方法是使全网时钟精确同步。全网的主时钟的长期精度要求达到 ± 1.0 ´ 1011,因此必须采用原子钟(例如,铯原子钟),但这样的同步网络的价格很高(如SDH/SONET网络)。实际上,在同步通信中,也可以采用比较经济的方法实现同步。这种方法就是在接收端设法从收到的比特流中将位同步的时钟信息提取出来(发送端在发送比特流时,发送时钟的信息就已经在所发送的比特流之中了)。这种同步方式常称为准同步(plesiochronous)。曼彻斯特编码就能够使接收端很方便地从收到的比特流中将时钟信息提取出来,这样就能够很容易地实现位同步。在以帧为传送单位的异步通信中,接收端通常也是采用从收到的比特流中提取时钟信息的方法来实现位同步。

      在以字符为单位的异步通信中,由于每一个字符只有8个比特,因此只要收发双方的时钟频率相差不太大,在开始位的触发下,这8个比特的位同步很容易做到,因此不需要采取其他措施来实现位同步(但不等于说可以不要位同步)。
    位同步(比特同步)和帧同步的区别是什么?

    参考链接:帧同步,帧同步是什么意思

  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/4937775.html
Copyright © 2011-2022 走看看