版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 FPGA的帧同步系统设计方案 在Xilinx的FPGA器件XC3S200-4FT200上对方案中设计的帧同步系统开展了实现,利用Modelsim 6.0软件开展了仿真测试。仿真结果说明,本方案设计的同步系统工作稳定,满足性能要求。 0 引言 在数字通信系统中,发送端一般以一定数目的码元组成一个个“字”或“句”,即组成一个个数据帧开展传输,因此帧是数据传输的基本单位。不同的通信系统具有不同的帧构造。帧一般分为帧同步码和数据两部分,帧同步码用于标志帧的起始位置;数据则是需要传输的有效码元。帧同步码组的插入方法主要有两种:集中式插入法和间隔式插入法。集中式插入法就是在
2、每帧的开头集中插入帧同步码组的方法;间隔式插入法则是将帧同步码组分散插入到数据流中,即每隔一定数量的信息码元插入一个帧同步码元。本文主要提出一种集中式插入法帧同步的FPGA的设计方案。 一般来讲,帧同步在位同步之后才能开展。虽然信号的频率很容易由位同步信号经过分频得到,但是帧的起始和末尾时刻则无法由位同步信号分频确定。帧同步的主要任务就是要获取每个数据帧的起始及结束位置。随着可编程逻辑器件的发展,采用FPGA实现帧同步等数字系统具有速度快、使用方便、可编程配置各种参数等一系列优点,因而得到了越来越广泛的应用。 1 集中式插入法帧同步的原理及流程 1.1 集中式插入法帧总体构造 集中式插入法是指
3、在每帧数据的开始位置集中插入帧同步码序列的方法。在这种同步传输方式中,被传输的数据比特被编成帧,每帧包括多个数据,帧的首部加一个帧同步码组(也称为帧的标志字),记作U,其长度为M(单位:b),帧内的数据比特数为D.接收端对接收的比特流开展搜索,一旦检测到标志字U,就知道了一帧数据的开始,并据此对帧内的数据开展分组处理,以此建立起同步传输机制。集中式插入法的数据帧格式如图1所示。 显然,帧同步码组必须满足一定的条件:首先,同步码组要求尽量与所要传输的数据不同,以免将数据误认为是同步码组;其次要求帧同步码组具有锋利单峰的自相关特性,以便于接收端开展正确检测;第三个要求是长度不能太长,以免占用过多的
4、信道资源。目前常用的帧同步码组主要有广义巴克(Barker)码序列,一些系统也使用具有伪随机特性的m序列作为同步码组。 1.2 帧同步的几种状态 根据帧同步搜索的原理,在帧同步搜索过程中显然存在假锁的可能性(也称虚警概率),因为数据比特所构成的码序列,或部分的标志字与部分的数据比特所构成的长度为M 的码序列也有可能满足检测条件,而被误认为U.因此,为了提高帧同步系统的性能(减小假锁的概率,锁定后尽量增加同步的稳定性),工程上通常通过增加同步流程的复杂性来实现改善性能的目的。一般来讲,将帧同步的过程分为三个状态:搜索态、校核态和同步态,其状态转移图如图2所示。 搜索态:在数据接收的起始时刻,或帧
5、校核时出现未同步帧,或同步态时发现有多个连续帧未同步时转入搜索态。搜索态下,程序在数据流中持续搜索帧同步码,当从接收到的比特流中找到帧同步码时,说明已搜索到了一个同步帧头,此时输出一个脉冲信号,系统可进入校核态。 校核态:若连续经过N 帧同步码确认搜索态中找到的帧头正确,则系统可立即转入同步状态;否则说明存在假同步,需要返回搜索态重新对帧同步码开展搜索。由首次搜索到帧同步头到进入同步态的N 帧时间叫做后方保护时间。 同步态:帧同步系统处于同步状态时,若没有出现连续M 帧数据未同步,则保持在同步状态。考虑到接收的数据流中可能受外界干扰而存在误码,在同步状态中只有连续M 帧丢失同步码才进入失步状态
6、,并返回搜索态,这个M 帧的时间叫做前方保护时间。 2 帧同步系统的VHDL设计与仿真 2.1 总体构造设计 根据实例需求,帧同步码组长度(LenCode)、帧同步码组(FrameCode)、容错位数(ErrorNum)、帧长(Len-Frame)、校核态校核帧数(CheckNum)以及同步态校核帧数(SyncNum)均以常量的形式设置,便于VHDL程序中修改同步参数。系统数据速率及时钟频率为50 MHz. 根据图2所示的构造,很容易想到采用状态机的设计方法来实现同步系统。不管是采用状态机方式,或原理图方式开展VHDL程序设计,终均可以转换成VHDL代码的形式。显然,直接采用编写VHDL代码的
7、形式,更利于程序的修改及升级维护。因此,本文完全采用代码编写方式来开展程序设计。 图2是一个典型的状态转移图,可以将转移条件看作状态之间的信号接口。整个帧同步系统可以划分为搜索状态模块(Search)、校核状态模块(Check)及同步状态模块(Sync)。除了上电后启动搜索状态之外,当校核未通过(CheckNum 帧内有一个校核帧未同步)或同步态失锁(连续SyncNum 帧未同步)时也需启动搜索状态,因此搜索状态的启动信号有复位信号(rst)、校核态重搜索信号(Research_check)和同步态重搜索信号(Research_sync);校核态的启动信号仅来自于搜索态(search_over
8、),即只有当搜索到帧同步码后才能转入校核态,如果校核通过则送出校核完成信号(check_over),校核未通过则送出重新搜索信号(Research_check);同步态的启动信号仅来自于校核态(check_over),只有校核通过后才能进入同步状态。进入同步态后,持续对同步码组开展检测,当检测到重新失锁后送出Research_sync,重新启动搜索状态。图3为帧同步系统顶层VHDL程序文件采用Synplify Pro综合后的RTL原理图。 2.2 搜索模块的VHDL设计与仿真 搜索模块的对外接口如图3所示。其中,CLK_BitSync及Data_in分别为位同步时钟信号和输入数据;Data_o
9、ut为经2个时钟周期延时后的比特流数据。对输入数据的延时处理,是为了补偿产生search_over 时的处理时延,以便于脉冲信号search_over 与一位帧同步码对齐。 搜索输入比特流中的帧同步码组,首先需要将输入数据送入移位存放器(Regdin)中,而后将Regdin中的数据与帧同步码组相比即可。程序中将多路启动信号(rst、Research_check、Research_sync)取或后,作为异步复位信号,用于启动搜索过程。搜索过程中,采用for循环对存放器Regdin 与同步码组开展比较,通过逐位比较,每发现1 b不相同,则计数加1,计算出两者之间的汉明距离。计算完汉明距离后,判断是
10、否大于容错门限ErrorNum,如大于容错门限则继续搜索,否则输出同步脉冲search_over,并停止搜索。 图4为搜索模块的Modelsim仿真波形。其中,帧同步码长度LenCode=7, 帧同步码FrameCode=“1011000”,容错门限ErrorNum=1.可以看出,复位后首先搜索到帧同步码组;当Research_check为高电平,启动另搜索过程,比特流中搜索到“1001000(ErrorNum=1)”时,此时容错位数设置为1,因此输出同脉冲search_over,并停止搜索过程,即使后续比特流中出现了“1011001(ErrorNum=1)”,仍然不输出同步脉冲。 2.3 校
11、核模块的VHDL设计与仿真 为便于程序编写,校核模块主要由Check_Ce 进程和Checking 进程组成。Check_Ce 进程用于检测search_over信号,检测到信号出现高电平后,产生长度为CheckNum 帧数据的高电平允许信号CheckCe,并通过计数器Number 来标识每帧中数据及同步码组的位置。产生了CheckCe及Number信号后,Checking进程只需在CheckCe信号为高电平的范围内对同步码组开展校核即可。校核完成后,需要使check_over(连续CheckNum帧均同步)或research_check(CheckNum帧内有一帧未同步)信号产生一个高电平脉
12、冲。帧校核的方法与搜索同步码组的方法类似,即通过汉明距离来判断是否同步。将校核态分成Check_Ce进程和Checking进程来分别开展实现,则每个进程的功能划分更为简单,编程实现时也相对容易得多。 图5 是校核模块的Modelsim 仿真波形。其中,帧长度LenFrame=16,校核帧数CheckNum=2,容错门限ErrorNum=0,其余参数与搜索模块相同。从波形上很容易看出,当search_over次出现高电平时,其后连续两组同步码均为“1011000(ErrorNum=0)”;当search_over第二次出现高电平时,其后组同步码为“1001000(ErrorNum=1)”,第二组
13、同步码为“1011000(ErrorNum=0)”.因此次帧校核顺利通过,校核完成后check_over输出一个高电平脉冲,research_check保持为低电平;第二次校核未通过,校核完成后research_check输出一个高电平脉冲,check_over保持为低电平。 2.4 同步模块的VHDL设计与仿真 为了简化设计,将同步状态分为三个进程来完成,即计数器进程(Counter)、帧校验进程(FrameChecking)和同步校验进程(SyncChecking)。Counter 进程用于产生帧内数据位置的计数,当检测到check_over 信号为高电平时,重新开始以帧周期(LenFra
14、me)循环计数;FrameChecking 进程用于产生帧起始位置的同步脉冲,且高电平脉冲与同步码的1 b对齐,该进程首先需要对同步码组开展校核,如校核通过,则在同步码位置处产生一个高电平脉冲FramePosition,如果校验未通过,则在同步码位置不产生高电平脉冲;SyncChecking进程通过判断FramePosition 来确定系统是否处于同步状态,即只需判断FramePosition是否连续在同步码组的位置出现低电平,如连续出现SyncNum 次低电平,则判断为失锁,否则继续维持同步状态。 图6 是同步模块的Modelsim 仿真波形。其中同步态校核帧数SyncNum=2,其他参数与
15、校核态相同。从图中可以看出,当检测到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,其他同步
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年精河县安阜投资经营有限责任公司公开招聘备考题库及一套参考答案详解
- 2025年碑林区柏树林社区卫生服务中心招聘康复治疗师内科主治医师B超医师备考题库及完整答案详解一套
- 2025年事业编这家单位招聘3人备考题库参考答案详解
- 高三常用模考试卷及答案
- 安阳市新一中学招聘2026届部属公费师范生30人备考题库完整参考答案详解
- 浙商银行福州分行2025年招聘备考题库及完整答案详解一套
- 包钢(集团)公司2026年新员工招聘322人备考题库附答案详解
- 2025年赣州市石城县政务服务和大数据发展中心公开招聘派遣制工作人员5人备考题库完整参考答案详解
- 2025年中国农业科学院农产品加工研究所招聘果蔬加工智造与营养健康创新团队执行首席的备考题库带答案详解
- 2025年慈溪市上林人才服务有限公司公开招聘派遣制安全生产服务内勤人员备考题库及一套答案详解
- Axure RP9 网站与App原型设计实战案例教程PPT完整全套教学课件
- 《生于忧患死于安乐》文章结构
- 1+X测绘地理信息智能应用练习题(含参考答案)
- 译林版五年级英语上册全册课件
- 磷石膏基公路基层材料 技术规范 编制说明
- 电大专科《管理英语1》历年期末考试试题及答案汇编
- 《非政府组织管理》教学大纲
- GB/T 19809-2005塑料管材和管件聚乙烯(PE)管材/管材或管材/管件热熔对接组件的制备
- 无机及分析化学考试题(附答案)
- 体质中医基础理论课件
- 电力工程检验批质量验收记录【完整版】
评论
0/150
提交评论