首页 > 范文大全 > 正文

基于FPGA的简易m序列信号发生器

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于FPGA的简易m序列信号发生器范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】本系统基于fpga为控制核心,采用EXCD-XC3S500E开发板及模拟电路,完成了简易数字m序列信号发生器的设计,实现对数字m序列信号的生成与发送。

【关键词】FPGA;m序列信号;曼彻斯特编码

1.方案论证与比较

数字信号为m序列,m序列发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,反馈多项式为本原多项式。实现移位寄存器的长与反馈式的编程选择,即可实现对m序列的控制。m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度M=2n-1 。序列信号发生器一般有两种结构形式:一种是反馈移位型,另一种是计数型。

方案一:反馈移位型序列信号发生器

反馈移位型序列码发生器的结构框图如图1所示,它由移位寄存器和组合反馈网络组成,从移存器的某一输出端可以得到周期性的序列码。

方案二:计数型序列码发生器

计数型序列码发生器结构框图如图2所示。它由计数器和组合输出网络两部分组成,序列码从组合输出网络输出。

综合比较,本次设计时由于已知数字信号和伪随机信号各自的f(x)表达式,故采用方案一,采用VHDL硬件描述语言,在XILINX的开发板上编程实现产生所要求的数字信号。

2.系统设计

数字信号V为f(x)=1+x^2+x^3+

x^4+x^8的m序列,采用线性移位寄存器发生器产生数字信号和对应的时钟信号,要求数据率10~100kbps,步进值10kbps,其误差绝对值不大于1%,输出信号为TTL电平。

m序列数字信号是基于FPGA的存储器结构,采用线性移位寄存器发生器产生m序列的本原多项式,并且可以对任意级数的m序列发生器采用VHDL语言进行编写。其产生原理是m序列信号发生器是在n级线性移位寄存器的基础上可以产生多个m序列,而每一个m序列有对应着一个确定的反馈函数,m序列线性移位寄存器在逻辑上仅可用加法器实现。

其反馈函数:

本原多项式f1(x)=1+x^2+x^3+

x^4+x^8

m序列的移位寄存器逻辑反馈:f1(x)=x(8)x(4)x(3)x(2)

反馈移位寄存器的逻辑功能图如图3所示。

利用VHDL语言进行编写,实现上述功能,产生数据率为10~100kbps的方波,利用基于FPGA的EXCD-XC3S500E开发板按键控制方波的输出频率,四位二进制进行键控,时钟间隔为10kbps。

3.软件设计

3.1 分频程序流程图如图4所示

3.2 触发器流程图如图5所示

3.3 顶层文件流程图如图6所示

按以上流程图用VHDL硬件描述语言编写出所用程序。

4.系统测试与分析结论

产生的m序列数字信号频率可由按键依次调试为:

10.000KHz,20.000KHz,

30.012KHz,40.001KHz,

50.001KHz,60.098KHz,

70.030KHz,80.130KHz,

90.255KHz,100.000KHz

符合设计要求,输出的电压为3.34V,属于TTL电平。

本文的系统及程序运行良好,按本文的方法可以得到简易m序列信号发生器。

参考文献

[1]《VHDL硬件描述语言与数字逻辑电路设计》,侯博亨、刘凯、顾新著,西安:西安电子科技大学出版社,2009

[2]《FPGA嵌入式系统设计》,孟宪元、钱伟康著,北京:电子工业出版社,2007

[3]《ISE应用与开发技巧》,李新新、姜宇柏著,北京:机械工业出版社,2007