FPGA的正码速调整的设计与实现_第1页
FPGA的正码速调整的设计与实现_第2页
FPGA的正码速调整的设计与实现_第3页
FPGA的正码速调整的设计与实现_第4页
FPGA的正码速调整的设计与实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【Word版本下载可任意编辑】FPGA的正码速调整的设计与实现1引言

在时分制数字通信系统中,为了扩大传输容量和提高传输效率,常常利用复接技术将若干个低速数字信号合并成一个高速数字信号流,以便在高速宽带信道中传输。数字复接器是把两个或两个以上的支路,按时分复用方式合并成一个单一的高次群数字信号设备,其中包含码速调整构造。

码速调整就是把速率不同的各支路信号,调整成与复接设备定时完全同步的数字信号,以便由复接单元把各个支路信号复接成一个数字流。码速调整可以分为正码速调整、正/负码速调整和正/零/负码速调整三种。本文通过改良了异步FIFO设计,基于FPGA提出了一种正码速调整的设计方案,通过正码速调整,使输入码率为1200bps,输出码率为1350bps。

2正码速调整的基本原理

2.1正码速调整的帧构造

根据设计方案,采用正码速调整的帧构造有32bit,分为四组,每组8bit。正码速调整的帧构造如图1所示。

图1正码速调整的帧构造

组8bit信息,第二、三、四组中的个比特C1、C2、C3为码速调整标志比特。第四组中第26bitV为码速调整插入比特,其作用是调整基群码速,使其瞬时码率保持一致并和复接器主时钟相适应。具体调整方法是:在组结束时刻开展是否需要调整判决,若需要开展调整,则在V位置插入调整比特;若不需要调整,则V位置传输信息比特。为了区分V位置是插入调整比特还是传输信息比特,用码速调整标志比特C1、C2、C3来标志。若V位置插入调整比特,则在C1、C2、C3位置插入3个“1”;若V位置传输信息比特,则在C1、C2、C3位置插入3个“0”。

2.2正码速调整系统的构成

在本方案设计中,采用格雷码对地址编码的异步FIFO设计,使其满足正码速调整需要,同时给出了适合格雷码的帧构造。正码速调整系统的构成如图2所示。

图2正码速调整系统的构成框图

正码速调整单元主要分为3个模块:“读时钟、调整、辅助信号发生器”、“异步FIFO模块”和“调整信号插入”。其中异步FIFO模块部分包含“地址发生器”、“相位比较器”和“双口RAM”。

首先将写时钟以及“整体信号控制器”产生的写时钟控制信号送入到“地址发生器”,“地址发生器”通过写时钟上升沿产生的写地址(格雷码)和写时钟一同送入到“双口RAM”,将写地址(自然码)送入到“相位比较器”。同时未经调整的数据流以及“整体信号控制器”产生的写使能信号也送入到“双口RAM”。为了准确的将数据写入到双口RAM中,以写时钟的下降沿将数据写入到RAM中。

然后当写时钟写到地址“101”时,“整体信号控制器”才将读时钟控制信号送入到“读时钟、调整、辅助信号发生器”,其结合送入的均匀时钟(1350HZ)产生扣除调整标志位的非均匀读时钟送入到“地址发生器”,同时将控制状态位的辅助信号送入到“相位比较器”,将调整信号送入到“调整信号插入”。扣除的读时钟通过“地址发生器”将读地址(自然码)送入到“相位比较器”,将读地址(格雷码)和扣除读时钟送入到“双口RAM”。此时RAM通过读时钟上升沿依次从地址“000”开始读取数据。原理图如图3所示。

随着时间的推移,读指针与写指针之间的距离逐渐变小,当相位比较器计算出读、写地址差值小于门限值“100”时,则在图3中第8个比特位置给出高电平的存储状态位告知系统缓存器即将取空,然后在第32个比特位置将存储状态位再次置“0”,等待下的状态判断。

,“调整信号插入”根据存储状态位的电平决定数据流中的调整位是插入3个“1”还是3个“0”。

3正码速调整的FPGA设计

3.1读时钟、调整、辅助信号发生器模块

该模块的主要作用在于根据存储状态来生成扣除调整位的缺口读时钟,同时产生调整信号以及相关辅助信号。

扣除前读时钟首先通过32位计数器,当读时钟控制开启时,计数器开始计数。在第9,17,25个比特位时置调整标志位高电平;在第26个比特位置调整位高电平;在第8个比特和第32个比特位上辅助信号分别显示“00111”和“11111”计数值。

当存储状态位为“1”时表示存储器即将取空,第26比特处的读时钟脉冲扣除,不传信码,其逻辑门的关系如下:r_clk<=(rclk_resetand(clk1350and(notsz_c))and((notempty)or(notsz_v)));其中,r_clk为扣除后读时钟,rclk_reset为读时钟控制,clk1350为读时钟1350HZ,sz_c为调整标志位,sz_v为调整位,empty为存储状态位。具体仿真波形见图4所示。

图4读时钟、调整、辅助信号发生器仿真图

3.2异步FIFO设计

此部分为本文的关键部分,FIFO设计的好坏直接影响系统性能。

(1)地址发生器模块

该模块主要功能在于根据读、写时钟以及时钟控制信号生成相应的读、写地址的自然码和格雷码。由于读地址要在写地址写到“101”时才开始从地址“000”读取数据,因此读时钟控制信号是由写时钟控制信号延迟5个写时钟周期产生的。

(2)相位比较器模块

根据由“读时钟、调整、辅助信号发生器模块”中产生的辅助信号在每帧的第8比特位置上判断存储状态是否为“空”,若为“空”则在第8比特位上置存储状态位高电平,然后再次根据辅助信号在第32比特位置上将状态辅助位置回初始状态―低电平。

判决器主要是在辅助信号值为“00111”时,判断差值是否小于设置的门限“100”,若小于“100”则存储状态置“1”,然后在辅助信号为“11111”时将存储状态置“0”;若大于“100”,存储状态维持初始状态“0”。

(3)双口RAM模块

RAM需要大量的存储空间,若直接用数组的形式来描述RAM时,资源利用率相当低。因此本文选取IP核来定制RAM,直接生成宽度为1,深度为8的带写使能的双口RAM,写时钟为下降沿有效,读时钟为上升沿有效,写使能为高电平有效。

3.3调整信号插入模块

该模块主要作用就是将扣除调整位后的数据流根据存储状态位在调整标志位插入“000”或“111”。若插入的是“000”,则在第26比特传信码,若插入的是“111”,则在第26比特传“1”。其逻辑关系为:

ifempty='1'then

dout<=(dinor(svorsc));

elsifempty='0'then

dout<=((notsc)anddin);

endif;

其中,din为扣除调整位后的数据,dout为正码速调整后的数据,由于插入后存在毛刺,于是在其后端加了个D触发器去除了毛刺。

4整体仿真结果

在MAXPLUSII开发平台上采用原理图输入方式,根据同步单元各个功能模块的划分,将各个功能模块连接起来,编译成功,其整体仿真如图5所示。

图5整体仿真图

其中dout_go表示扣除调整位置后的数据流,dout_in表插入调整信号后的数据流,dout_tz表示加了D触发器的调整数据流。由图可知,当wen为高电平时,开始写入数据“00100100”到写地址wadd,当写到地址“101”时,读时钟开始工作,依次从地址“000”开始从RAM中读取数据。当到第8比特位置时,由于地址差值为“101”未到达门限,因此存储状态位empty仍旧为“0”表示不需要调整,则在帧的调整标志位置上插入3个“0”,调整位继续传信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论