基于FPGA的帧同步系统设计方案
来确定系统是否处于同步状态,即只需判断FramePosition是否连续在同步码组的位置出现低电平,如连续出现SyncNum 次低电平,则判断为失锁,否则继续维持同步状态。
图6 是同步模块的Modelsim 仿真波形。其中同步态校核帧数SyncNum=2,其他参数与校核态相同。从图中可以看出,当检测到check_over为高电平时,计数器Number 开始以周期为帧长LenFrame=16循环计数。当check_over 出现高电平时,其后连续4 组同步码为 "1011000(ErrorNum=0)","1001000(ErrorNum=1)","1001000(ErrorNum=1)","1001000(ErrorNum=1)"。 由于此时设置的容错门限ErrorNum=0,因此第一帧同步码校核通过,输出了同步脉冲FramePosition,此后出现连续3 个校核未通过的数据帧。同步状态信号State_Sync 高电平状态持续维持了2 帧数据的长度,而后停止同步状态,输出失步信号research_sync,用于启动搜索过程。
3 帧同步系统的FPGA实现及仿真
本实例的目标器件为XC3S200-4FT200,FPGA实现后,查找表资源(LUTs)占用了 484 个(12%),全局时钟资源(GCLKs)占用了1个(12%)。最高系统时钟频率(Maximum frequency)可达54.81 MHz.图7 是帧同步系统的Modelsim 仿真波形。其中,各模块的容错门限ErrorNum均为0,其他同步参数不变。
图7 实际上对帧同步系统的搜索、校核、校核未通过、失步、重新搜索、重新同步等过程进行了完整的仿真测试。
4 结语
本方案是基于模块化设计思想,采用VHDL语言对帧同步系统进行设计实现,有利于程序的移置及维 护。方案设计的关键在于理解各模块之间的信号接口关系及时序关系。在模块设计时,通过进一步合理划分模块内部的结构,可以更好地理清程序思路并提高设计方 案的效率。最后利用Modelsim 6.0软件进行了仿真测试。仿真结果表明,该方案中设计的同步系统工作稳定,满足性能要求。
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)
- 降低从中间总线电压直接为低电压处理器和FPGA供电的风险(10-12)
- FPGA和功能强大的DSP的运动控制卡设计(03-27)
- DE0-Nano-SoC 套件 / Atlas-SoC 套件(10-30)