




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011-10-121 基于FPGA的m序列产生电路m序列也称为最长线性反馈移位寄存器序列,属于伪随机序列的一种。m序列的产生比较简单,可以利用r级移位寄存器产生长度为2r-1的序列信号。m序列产生电路的结构主要分为两类,简单型码序列产生器(Simple Shift Register Generator,SSRG)和模块型码序列产生器(Modular Shift Register Generator,MSRG)。基于FPGA的电路实现时,两者的方法类似。简单型码序列产生器的m序列特征多项式如式(1)所示。fSSRG(x)= C0x0 + C1x1 + C2x2 + C3x3 + + Crxr(1)多项式中的系数C可以取“0”,或者“1”。简单型码序列产生器的结构图如图1所示。图1 简单型码序列产生器的结构图如果多项式中的系数取“0”,结构图中对应的反馈支路断开;系数取“1”,结构图中对应的反馈支路连通。特征多项式的系数决定m序列特征多项式,也就决定了一个m序列的输出波形。特征多项式的系数可以通过查表获得。系数与输出波形之间的关系不清楚。利用D触发器的级联可以实现结构图中的移位寄存器功能,即方框a的功能;使用异或门可以实现结构图中加法器的功能。图2为采用Quartus II开发软件的原理图输入方式完成式(2)多项式实现电路图1。fSSRG(x)= 1 + x2 + x5(2)图2 fSSRG(x)= 1 + x2 + x5简单型码序列产生器的电路图式(2)多项式的r为5,电路中使用了5级D触发器的级联;多项式中的C2和C5不为0,因此第2级D触发器和第5级D触发器的输出被反馈回到输入端;使用2输入异或门实现2输入加法器。图2所示的电路图,在加法器之后添加了1个反相器来避免输出全0状态。电路初始化时,5级D触发器被全清零,如果没有这个反相器将使得第1级D触发器的反馈输入也为0,从而使得电路输出为全0状态。图2所示电路的模拟输出波形如图3所示。图3 fSSRG(x)= 1 + x2 + x5简单型码序列产生器的模拟波形图模拟输出波形的时钟频率为10MHz,采用时间模拟模式。电路开始工作前需要输入清零信号(clrn),低电平有效,使所有的D触发器的状态清零。在使用EPF10K10LC84-4作为目标器件,采用速度优先的综合优化技术,实现图2所示电路需要的芯片资源如下。Total logic elements : 5 / 576 ( 1 % )Total pins : 3 / 59 ( 5 % )Total memory bits : 0 / 6,144 ( 0 % )时钟信号clk最高频率:125MHz。2011年全国大学生电子设计竞赛试题,简易数字信号传输性能分析仪(E题),要求产生式(3)多项式要求的m序列信号作为测试信号。fSSRG(x)= 1 + x2 + x3 + x4 + x8(3)要求产生式(4)多项式要求的m序列信号作为模拟噪声信号。fSSRG(x)= 1 + x + x4 + x5 + x12(4)式(3)多项式的实现电路图如图4所示。图4 fSSRG(x)= 1 + x2 + x3 + x4 + x8简单型码序列产生器的电路图在使用EPF10K10LC84-4作为目标器件,采用速度优先的综合优化技术,实现图4所示电路需要的芯片资源如下。Total logic elements : 8 / 576 ( 1 % )Total pins : 3 / 59 ( 5 % )Total memory bits : 0 / 6,144 ( 0 % )时钟信号clk最高频率:125MHz。图4所示电路的模拟输出波形如图5所示。图5 fSSRG(x)= 1 + x2 + x3 + x4 + x8简单型码序列产生器的模拟波形图式(4)多项式的实现电路图如图6所示。图6 fSSRG(x)= 1 + x + x4 + x5 + x12简单型码序列产生器的电路图在使用EPF10K10LC84-4作为目标器件,采用速度优先的综合优化技术,实现图6所示电路需要的芯片资源如下。Total logic elements : 12 / 576 ( 2 % )Total pins : 3 / 59 ( 5 % )Total memory bits : 0 / 6,144 ( 0 % )时钟信号clk最高频率:125MHz。图6所示电路的模拟输出波形如图7所示。图7 fSSRG(x)= 1 + x + x4 + x5 + x12简单型码序列产生器的模拟波形图无论使用具有与-或阵列的CPLD器件,还是采用查找表结构的FPGA器件,器件的逻辑单位都是实现组合电路的逻辑资源加上触发器。前面的电路图显示简单型码序列产生器的电路主要由D触发器组成,它对可编程逻辑器件的资源占用主要反映在对触发器的占用,这由芯片资源占用统计中显示的电路中有几个D触发器,就将占用几个逻辑单元(logic element,LE)。2 曼彻斯特编码曼彻斯特编码(Manchester Encoding),也称作为相位编码(PE),它的基本功能是将串行数据信号和时钟信号结合在一起。在曼彻斯特编码中,每一位数据中间有一个跳变,这个跳变在接收端可以被用来恢复时钟信号。事实中存在两种相反的数据表示约定。第一种约定是由G. E.Thomas等人在1949年提出的,它规定数据0由低到高的电平跳变来表示;数据1由高到低的电平跳变来表示。第二种约定是由IEEE 802.4(令牌总线)和低速版的IEEE 802.3(以太网),它规定数据0由高到低的电平跳变来表示;数据1由低到高的电平跳变来表示。由于每一位数据传送需要产生2种电平,因此数据传送速率只有系统时钟频率的一半。利用可编程逻辑器件实现曼彻斯特编码的方法之一为采用系统时钟频率为串行数据率的2倍,当时钟个数为奇数时直接输出数据信号;当时钟个数为偶数时数据信号取反后再输出2。由给定数据信号,产生曼彻斯特编码的VHDL代码结构体如下。这里产生数据信号源所需要的时钟信号。ARCHITECTURE encode OF encode IS-声明结构体SIGNAL state: INTEGER RANGE 0 TO 1;-声明状态信号BEGIN-开始结构体PROCESS(clk_sys)-状态产生进程BEGIN-开始状态产生进程IF (clk_sysEVENT AND clk_sys = 1) THEN-判断时钟前沿是否到来IF (state 1) THEN-判断是否产生足够的状态数state = state + 1;-状态调整ELSE state = 0;-状态清零END IF;-条件结束END IF;-条件结束END PROCESS;-进程结束PROCESS(clk_sys, state)-数据信号源时钟产生进程BEGIN-开始进程IF (clk_sysEVENT AND clk_sys = 1) THEN-判断时钟前沿是否到来IF (state = 0) THEN-判断状态clk_m = 0;-数据产生时钟为低电平ELSE clk_m = 1;-数据产生时钟为高电平END IF;-条件结束END IF;-条件结束END PROCESS;-进程结束PROCESS(clk_sys, state)-曼彻斯特编码产生进程BEGIN-开始进程IF (clk_sysEVENT AND clk_sys = 1) THEN-判断时钟前沿是否到来IF (state = 0) THEN-判断状态out_pe = in_m;-数据直接输出ELSE out_pe = NOT in_m;-数据取反后输出END IF;-条件结束END IF;-条件结束END PROCESS;-进程结束END encode;-结构体结束把一个m序列产生器的输出转换为曼彻斯特编码的原理图如图8所示。图8 曼彻斯特编码的原理图图中模块m_8_435为多项式为fSSRG(x)= 1 + x2 + x3 + x4 + x8的m序列信号产生模块。输入管脚clrn为D触发器的清零信号输入管脚。系统时钟clk_sys在曼彻斯特编码产生模块encode中2分频之后送入m序列信号产生模块作为该模块的时钟信号。曼彻斯特编码产生模块的输入串行数据信号来自m序列信号产生模块。由于每一位数据传送需要产生2种电平,因此曼彻斯特编码产生模块的系统时钟频率应为m序列信号产生模块时钟频率的2倍。为了对比,曼彻斯特编码产生模块在输出曼彻斯特编码的同时,也将输入的m序列信号输出来用于观察。图8所示的原理图输入文件的模拟输出波形如图9所示。图9 曼彻斯特编码的原理图的模拟波形图3 曼彻斯特编码的时钟恢复图10 曼彻斯特编码的时钟恢复电路图恢复曼彻斯特编码中时钟的如图10所示。图中模块m_8_435为多项式为fSSRG(x)= 1 + x2 + x3 + x4 + x8的m序列信号产生模块。模块encode为曼彻斯特编码产生模块。恢复曼彻斯特编码中时钟所需要的系统时钟需要高于产生曼彻斯特编码时的时钟频率,这里采用8倍的后者频率。恢复曼彻斯特编码中时钟信号利用74161实现8分频,作为产生曼彻斯特编码时的时钟。曼彻斯特编码和经过延时的曼彻斯特编码通过同或门产生74161的清零信号。当曼彻斯特编码的跳变到来时,由于加到同或门的2个输入管脚的电平不同,因而产生计数器清零信号。这个清零信号结束后,在计数器时钟信号的作用下,计数器工作,它的QC输出端输出与曼彻斯特编码产生模块时钟频率相同的时钟信号。图10 曼彻斯特编码的时钟恢复电路模拟波形图图10电路模拟输出波形如图11所示。图中clk1为m序列信号产生模块的时钟信号;m为m 序列信号产生模块的输出信号;pe为曼彻斯特编码产生模块的输出信号;clk11为恢复的m序列信号产生模块的时钟信号。clk11为对恢复的时钟进行2分频以后的时钟,直接恢复的时钟频率为它的2倍。xor_out为同或门输出的计数器清零信号。在m序列信号出现0到1,或者1到0,转换时,清零信号将产生丢失现象,因此直接使用它作为恢复的时钟信号也将出现丢失现象。采用1个使用高于曼彻斯特编码时的时钟频率驱动时钟恢复电路,并使用1个计数器对此时钟进行计数,可以获得完整的时钟信号。例如采用16倍曼彻斯特编码产生模块时钟频率,8倍m序列信号产生模块时钟频率,的时钟信号作为计数器的计数时钟信号,在m序列信号没有出现电平翻转的情况下,这样在16个时钟信号之内一定会有1个计数器清零信号,但是计数器又可以数到8以上,因此74161的QC输出端一定会输出1个脉冲信号;在m序列信号没有出现电平翻转的情况下,这时不会产生计数器清零信号,但是每16个时钟信号也可以使得QC输出端输出1个脉冲信号。这样可以获得2倍数据率的时钟信号,不存在丢失现象。注意,这时如果使用QD实现2分频将出现时钟脉冲丢失现象。再通过一个独立的2分频电路将获得m序列信号产生模块频率相同的时钟信号。4 总结参加2007年研究生电子制作竞赛预选时曾要求设计一个伪随机码产生电路,当时没有完成。今年在大学生电子设计竞赛选题时,由于参赛学生的坚持才选择简易数字信号传输性能分析仪(E题),这里涉及m序列也称为最长线性反馈移位寄存器序列,属于伪随机序列的一种。究其原因是平时过于强调对基本原理的理解,对题中涉及的问题当时并不了解。本次工作中,基于FPGA的m序列产生电路直接采用参考文献1中的电路;曼彻斯特编码产生电路的实现使用参考文献2中的想法;时钟恢复电路直接应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商砼企业销售合同3篇
- 2025年初创企业新媒体运营经理面试指南与预测题解答
- 2025年二级建造师建筑工程面试高频考题解析
- 单元房租赁协议与单元楼房屋租赁合同4篇
- 电大中医护理试题及答案
- 中央厨房毛巾管理办法
- Unit 1 Where did you go on vacation Section A Grammar focus 3a-3c-说课稿 2024-2025学年人教版英语八年级上册
- 护理考试题库答案及解析
- 专利建设资金管理办法
- 绘本馆机构管理办法
- 公司对公司走账合同范本
- 华为投资控股有限公司2025年半年度报告
- 核电站主要材料质量保证措施
- 2025年6月仓储管理员(初级)复习题与参考答案
- (2025年标准)挖桩孔协议书
- 消化内科课件模板
- 拍摄与剪辑基础知识培训课件
- 项目实施进程汇报
- 医学检验质量安全管理培训
- 医院副主任护师职称竞聘报告
- 2025年人教版新教材数学三年级上册教学计划(含进度表)
评论
0/150
提交评论