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触发器。