1、 引言

数字通信时,一般以一定数目的码元组成一个个“字”或“句”,即组成一个个“帧”进行传输,因此帧同步信号的频率很容易由位同步信号经分频得出,但每个帧的开头和末尾时刻却无法由分频器的输出决定。为此,帧同步的任务就是要给出这个“开头”和“末尾”的时刻。通常提取帧同步信号有两种方法:一类是在信息流中插入一些特殊的码组作为每帧的头尾标记。另一类则不需要加入码组,而是利用数据码组本身之间彼此不同的特性实现同步。这里采取第一种方法——连贯式插人法实现帧同步。所谓连贯式插入法就是在每帧开头插入帧同步码。所用的帧同步码为巴克码,巴克码是一种具有特殊规律的非周期序列,其局部自相关函数具有尖锐的单峰特性,这些特性正是连贯式插入帧同步码组的主要要求之一。因此,这里提出帧同步系统的 FPGA 设计与实现。


2 、帧同步系统的工作原理

实现帧同步的关键是把同步码从一帧帧数据流中提取出来。本设计的一帧信码由 39 位码元组成。其中的巴克码为 1110010 七位码,数据码由 32 位码元组成。只有当接收端收到一帧信号时,才会输出同步信号。帧同步系统的设计框图如图 1 所示。

 

 

帧同步系统工作状态分捕捉态和维持态。同步未建立时系统处于捕捉状态,状态触发器 Q 端为低电平,一旦识别器输出脉冲,由于 Q 端为高电平,经或门使与门 1 输出”1”,同时经或门使与门 3 输出也为”1”,对分频计数器模块清零。与门 1 一路输出至触发器的 S 端,Q 端变为高电平,与门 4 打开,帧同步输出脉冲。系统由捕捉态转为维持态,帧同步建立。

 

当帧同步建立后,系统处于维持态。假如此时分频器输出帧同步脉冲,而识别器却没有输出,这可能是系统真的失去同步,也可能是偶然干扰引起的,因此在电路中加入一个保护电路。该保护电路也是一个分频计数器,只有在连续若干次接收不到帧同步信号时,系统才会认为同步状态丢失,由于丢失同步的概率很小,因此这里系统设置分频计数器值为 5,也就是说连续 5 帧接收不到帧同步信号,系统才认为丢失同步状态。当然分频值可设置其他值,但该值越大,同步维持态下漏识别概率也越大。与门 1 的一路输出置 5 分频器的使能端,使之开始计数,当计数满时会输出一个脉冲使状态触发器置零,从而无帧同步信号输出,同步电路又进入捕捉态。

 

3 、帧同步电路功能模块的建模与实现

3.1 巴克码识别模块

该模块的功能主要是把帧同步码巴克码从数据流中识别出来。识别器模块如图 2 所示。

 

 

图 2 中第 1 部分模块 ZCB 主要完成串并转换和移位功能,由 7 个 D 触发器和 3 个非门实现。第 2 部分模块 AND7 作用:只有当巴克码 1110010 准确输人时,识别器的输出才会为”1”。因为输出的巴克码识别信号将直接影响后续同步保护电路,因此准确地输出巴克码,才能避免产生假同步现象。AND7 可简洁准确识别巴克码。图 3 为巴克码识别模块仿真图,其中,bakeshibie 为识别器的输出;fenpin39 为 39 分频计数器的输出端;zin 为输入的数据;zclk 为时钟信号。

 

 

3.2 分频计数器模块

本设计采用 2 个带清零的分频计数器,分别为 39 分频计数器和 5 分频计数器。其中,39 分频计数器可满足 7 位巴克码+4 字节数据的要求。当 39 分频器输出一个脉冲时,识别器也应输出一个脉冲,只要其相位对应输出,就能提取出帧同步信号。

 

39 分频计数器的仿真图如图 4 所示,其中 clk 为时钟信号端;clr 为时钟清零端;output 为输出端。

 

 

3.3 同步保护模块

系统进入维持态时就需要同步保护电路保护帧同步信号。这部分电路由时钟控制模块、基本 RS 触发器模块和 5 分频计数器组成,其中,时钟控制模块和基本 RS 触发器模块的主要功能是状态转换和控制输出帧同步脉冲。对于 RS 触发器值得注意的是:如果 R=0 和 S=“0 后同时发生由 0 至 1 的变化”,则输出端 Q 和 Q 都要由 1 向 0 转换,Q 和 Q 端输出就会为任意态,这就是冒险竞争现象。当产生冒险竞争后,由于触发器的输出为任意态,就会导致整个系统的输出为任意态。解决方法是在系统中加入时钟控制模块控制触发器的复位端,确保不出现任意状态,使系统工作状态稳定。5 分频器在识别器模块无输出时,这可能是系统真正失步也可能是偶尔干扰所致,只有连续 5 次这种情况系统才会真正认为失步。保护模块仿真图如图 5 所示,其中, zhengout 为帧同步输出信号;clk 为时钟信号;data 为输入的信码;q 为 RS 触发器的 Q 端;fenpin39 为 39 分频计数器的输出端。

 

 

4、 帧同步系统顶层文件设计

所谓顶层文件设计就是把所涉及到的各个模块放在一起,形成一个便于阅读的图形方式,在编译各个模块时,如果设计没有错误。系统就会创建一个代表该模块的符号文件,可以被高层设计所调用。本设计中各模块通过 VHDL 语言进行设计,在 QuartusⅡ开发软件下编译通过。采用 Altera 公司 Cvclone 系列的 EP1C12Q240C8 器件,并且帧同步电路仅用到该器件不到 1%的逻辑单元。顶层设计图形如图 6 所示。图 6 中,ZCB 和 AND7(七输入与门)为巴克码识别器;CLKCONTR 为时钟控制器;FENPIN5 为 5 分频器计数器;FENPIN39 为 39 分频器计数器;RS_CLK 为 RS 触发器。

 

 

实验结果分析:在 Quartus II 环境下,时钟 clk 的周期为 200μs,当时钟周期设定的值很小时,比如纳秒级别,系统则极易出现冒险竞争现象,因此要将时钟周期的值设定的大一些。 data 为输入的数据流,为了便于仿真,只在数据流中加入 3 组巴克码。bakeshibie 为巴克码识别器的输出,当巴克码出现后,触发器的 Q 端变为高电平,系统进入维持态,此时 5 分频计数器开始计数,若在未计满 5 次时再次出现巴克码,则 5 分频计数器重新开始计数,若计满 5 次仍未出现巴克码,则系统彻底丢失同步状态,Q 端变为低电平,系统进入捕捉态。总体设计时序仿真图如图 7 所示。由于此帧同步系统要应用在 DPSK 解调中,所以帧同步系统仿真的时钟频率要与 DPSK 解调的时钟频率一致。仿真时要注意码元的传输方向即巴克码是高位先发送还是低位先发送,这将影响到仿真质量。

 

 

5、 结论

详细阐述各模块功能,实现方法及仿真图形,系统对帧同步码(巴克码)作出严格限制,即系统只有在严格收到帧同步码后才会有帧同步信号输出,提高系统的可靠性。保护电路设计有效降低漏同步和假同步的概率,时钟控制的 RS 触发器保证了同步系统状态的正确转换。同步系统各项技术指标均符合要求,工作正确可靠,有较高使用价值。