lcytms 发表于 2017-8-16 09:45:56

1023
        一个帧,是串行通信的基础单元。
        帧上通常会给出一个帧头。
        还有帧尾。
        帧头和帧尾之间当然是加载的信息。

lcytms 发表于 2017-8-16 09:47:19

1024
        通常在组织帧结构的时候,像我们看的蓝牙,IEEE的协议里面,它很多的部分是定义帧结构。

lcytms 发表于 2017-8-16 09:48:18

1025
        信息在这个地方,我们要解决信息的边界。
        信息有可能是字节,字节组成字,字组成帧。
        如果一个帧的结构是确定的,像蓝牙,像WiFi,像移动通信。
        这个帧是已经被协议规定的。
        我只要找到帧头的这个位置,我们又知道这个帧结构,所以说,字边界,字节边界,帧边界。
        只要找到了帧边界,字节边界和字边界就迎刃而解了。
        说到底就是组成一个帧结构。
        这是串行通信的又一大特点,它有对齐的问题。
        要把信息还原,就必须要有一个帧结构。

zhangyukun 发表于 2017-8-17 08:40:04

感谢楼主分享

lcytms 发表于 2017-8-17 09:14:58

1026
        这个帧结构是事先约定的,是一种标准,是一种协议。
        无论是蓝牙,还是串行通信,一定会有一个帧结构的定义。
        如果有一个确定的帧头,在解决了我们刚才说的这五种时钟对齐的方案以后,帧边界得到解决。
        我们要检测帧头,检测帧头有很多方法。
        只要把这个帧头找到,后面的问题都迎刃而解了。
        因为帧结构是确定的,这就意味着这个帧头,我们可以定义一个特定的码字,比方说8位的55AA,或者说16位的。
        在接收器会顺序地过滤帧头的码字。

lcytms 发表于 2017-8-17 09:15:28

1027
        在接收器这一端,要找到帧边界,这就有两种方法。
        一种是帧头的编码不可能在数据区出现。
        这种方案就成为乐观的帧同步结构。

lcytms 发表于 2017-8-17 09:16:27

1028
        永远不会出现,我们就称为乐观的,或者是积极的。

lcytms 发表于 2017-8-18 09:17:44

1029
        这个时候帧同步的检测就可以一直开着。
        时时刻刻来检测是否有同步。

lcytms 发表于 2017-8-18 09:18:52

1030
        8个比特做帧头检测。
        做成移位寄存器。
        低位优先。
        然后做一个比较器。

lcytms 发表于 2017-8-18 09:21:42

1031
        比较器会输出一个帧同步的信号。
        找到比特流的帧边界。
        比特已经对齐了,接收端恢复出比特流,找出比特流的帧边界,根据帧结构就能够把所有的字边界、字节边界找到。
        这是一种乐观、积极的解决方案。
页: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18
查看完整版本: 跟李凡老师学FPGA扩频通信D01:串行通信基础(20170418课堂笔记)