蔣 權(quán),姚振東,李 建
(成都信息工程學(xué)院 四川 成都 610225)
基于FPGA的m序列信號(hào)發(fā)生器設(shè)計(jì)
蔣 權(quán),姚振東,李 建
(成都信息工程學(xué)院 四川 成都 610225)
m序列是一種偽隨機(jī)序列(PN碼),廣泛用于數(shù)據(jù)白噪化、去白噪化、數(shù)據(jù)傳輸加密、解密等通信、控制領(lǐng)域?;贔PGA與Verilog硬件描述語言設(shè)計(jì)并實(shí)現(xiàn)了一種數(shù)據(jù)率按步進(jìn)可調(diào)、低數(shù)據(jù)誤碼率、反饋多項(xiàng)式為f(x)=1+x2+x3+x4+x8的m序列信號(hào)發(fā)生器。系統(tǒng)時(shí)鐘為20 MHz,m序列信號(hào)發(fā)生器輸出的數(shù)據(jù)率為20~100 kbps,通過2個(gè)按鍵實(shí)現(xiàn)20 kbps步進(jìn)可調(diào)與系統(tǒng)復(fù)位,輸出誤碼率小于1%。
m序列;信號(hào)發(fā)生器;FPGA;Verilog
m序列是最長線性反饋移位寄存器序列的簡稱,它是由帶線性反饋的移位寄存器產(chǎn)生的周期最長的一種偽隨機(jī)序列。是由移位寄存器、反饋抽頭及模2加法器組成。m序列一旦反饋多項(xiàng)式及移位寄存器初值給定,則就是可以預(yù)先確定并且可以重復(fù)實(shí)現(xiàn)的序列,該特點(diǎn)使得m序列在數(shù)據(jù)白噪化、去白噪化、數(shù)據(jù)傳輸加密、解密等通信、控制領(lǐng)域使用廣泛[1-3]。因此,深入學(xué)習(xí)研究m序列具有重要的實(shí)際意義。
基于FPGA的m序列信號(hào)發(fā)生器硬件結(jié)構(gòu)極其簡單,僅需兩個(gè)獨(dú)立按鍵(一個(gè)是復(fù)位按鍵與另一個(gè)控制數(shù)據(jù)率切換按鍵)、一個(gè)48 MHz的用于提供系統(tǒng)時(shí)鐘有源晶振、系統(tǒng)電源、一塊配置芯片、幾個(gè)簡單的電阻與電容即可實(shí)現(xiàn)。按鍵去抖動(dòng)、按鍵復(fù)位、按鍵切換數(shù)據(jù)率、時(shí)鐘分頻等功能均在FPGA內(nèi)部編程實(shí)現(xiàn)。
圖1 信號(hào)發(fā)生器硬件組成框圖Fig.1 Block diagram of the hardware system of signal generator
本文中m序列信號(hào)發(fā)生器的反饋多項(xiàng)式為:f(x)=1+x2+x3+x4+x8。其反饋及移位寄存器的關(guān)系圖如圖2所示。
從本設(shè)計(jì)中的反饋及移位寄存器的關(guān)系圖可以看出,一個(gè)時(shí)鐘周期,移位寄存器右移一位,最高位輸入為x0、x2、x3、x4及x8的異或(模2相加)。m序列的輸出是移位寄存器的最低位。圖2所示的關(guān)系是m序列呈現(xiàn)為隨機(jī)性、周期性的根本原因。
圖2 m序列信號(hào)發(fā)生器反饋及移位寄存器圖Fig.2 Feedback and shift register figure of the M sequence signal generator
為了滿足信號(hào)發(fā)生器輸出數(shù)據(jù)率20 kbps的步進(jìn)通過按鍵可調(diào),則生成按步進(jìn)20 kbps可調(diào)的時(shí)鐘是實(shí)現(xiàn)該功能的關(guān)鍵。當(dāng)按鍵發(fā)生,時(shí)鐘的輸出頻率加20 kbps。在實(shí)際電路中,按鍵會(huì)有很大抖動(dòng),對(duì)系統(tǒng)會(huì)造成很大的不穩(wěn)定性[4-5],因此,必須想辦法減小這樣的不利影響。在FPGA中一般使用硬件描述語言,描述一個(gè)延時(shí)電路,來實(shí)現(xiàn)按鍵去抖動(dòng)的目的。該設(shè)計(jì)中信號(hào)發(fā)生器的FPGA內(nèi)部各功能模塊及其之間的關(guān)系,如圖3所示。
圖3 FPGA功能模塊方案框圖Fig.3 Program block diagram of The FPGA function module
在所有基于FPGA的設(shè)計(jì)中,設(shè)計(jì)滿足設(shè)計(jì)要求的時(shí)鐘信號(hào)對(duì)設(shè)計(jì)成敗起著至關(guān)重要的作用。滿足在本文所設(shè)計(jì)的m序列信號(hào)發(fā)生器的時(shí)鐘信號(hào)輸出頻率為:20 MHz、20 kHz、40 kHz、60 kHz、80 kHz、100 kHz。 輸 出 的 時(shí) 鐘 信 號(hào) 在modelsim 6.5f中的仿真波形如圖4所示。從圖4中可以看出,時(shí)鐘模塊性能滿足設(shè)計(jì)要求,設(shè)計(jì)正確。
圖4 時(shí)鐘產(chǎn)生模塊仿真波形Fig.4 The simulation waveform of the clock produce module
m序列產(chǎn)生模塊是m序列信號(hào)發(fā)生器的最核心部分。文中的 序列生氣器核心模塊的 的代碼為
圖5 m序列產(chǎn)生模塊Synplify綜合結(jié)果圖Fig.5 The Synplify synthesis results of the M sequence produce module
從Verilog代碼可以看出,m序列產(chǎn)生模塊實(shí)現(xiàn)極其容易,只需要一個(gè)移位寄存器、一個(gè)模2加法器即可實(shí)現(xiàn)m序列的產(chǎn)生。
本系統(tǒng)中m序列產(chǎn)生模塊在Synplify綜合結(jié)果圖、在modelsim 6.5f中的仿真波形圖,分別如圖5、6所示。從圖5、6中可看出,該模塊產(chǎn)生了周期為217的周期序列,設(shè)計(jì)正確。圖7是系統(tǒng)的quartus II頂層模塊圖。
圖6 m序列信號(hào)發(fā)生器系統(tǒng)仿真波形Fig.6 The system simulation waveform of the M sequence signal generator
圖7 系統(tǒng)頂層模塊圖Fig.7 The module chart of system top-level
當(dāng)信號(hào)發(fā)生器的移位寄存器A的初值A(chǔ)=9’b1_0000_0000時(shí),m序列的周期 T=217,輸出的周期m序列為:0000000011111010110011011111000110100110101110 110000011011011001001110011001111111011110000101010 011110110100010100001100101111010010010100101101010 101111110011101110000001011100100011000011101010001 110001001000010001。
該信號(hào)發(fā)生器實(shí)現(xiàn)了輸出數(shù)據(jù)率在20~100 kbps之間,并實(shí)現(xiàn)按20 kbps的步進(jìn)可調(diào)功能;輸出數(shù)據(jù)率僅在輸出60 kbps的數(shù)據(jù)率時(shí)有較大誤差,數(shù)據(jù)率偏小約0.2%。該m序列信號(hào)發(fā)生器性能穩(wěn)定,實(shí)現(xiàn)所有設(shè)計(jì)功能,符合設(shè)計(jì)要求。
[1]樊昌信,曹麗娜.通信原理[M].北京:國防工業(yè)出版社,2009.
[2]田耘,徐文波,張延偉.無線通信FPGA設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.
[3]肖國鎮(zhèn),梁傳甲,王育民.偽隨機(jī)序列及其應(yīng)用[M].北京:國防工業(yè)出版社,1985.
[4]張晶,王立松,李鐵才.數(shù)控操作面板控制功能的CPLD實(shí)現(xiàn)方法[J].組合機(jī)床與自動(dòng)化加工技術(shù),2007(5):51-54.
ZHANG Jing,WANG Li-song,LI Tie-cai.Implementation of Control Functions of the CNC Control Panel with CPLD[J].Combination Machine Toolsand Automatic Processing Technology,2007(5):51-54.
[5]楊澤林,郭中華.一種去抖動(dòng)延時(shí)可調(diào)鍵盤電路的設(shè)計(jì)[J].電子技術(shù),2004(9):62-63.
YANG Ze-lin,GUO Zhong-hua.Design of A to jitter delay adjustable keyboard circuit[J].Electronic Technology,2004(9):62-63.
[6]彭文劍.q元M序列的生成[J].微處理機(jī),2006,8(4):101-103.
PENG Wen-jian.The generation of an m sequence about qary[J].Microprocessors,2006,8(4):101-103.
Design of an m sequence signal generator based on FPGA
JIANG Quan,YAO Zhen-dong,LI Jian
(Chengdu University of Information Technology,Chengdu 610225,China)
m sequence is a pseudo random sequence(PN code),widely used in whitening and dewhitening of data,encryption and decryption of transmission data in communications,control fields.Based on FPGA and Verilog hardware description language,design and realize an adjustable data rate,low data error m sequence signal generator,the feedback polynomial of which isf(x)=1+x2+x3+x4+x8.System clock of this signal generator is 20 MHz,system output data rate is from 20 to 100 kbps,through two keys can realize 20 kbps step-by-step adjustment and system reset.The value of output data rate error is less than 1%.
m sequence;signal generator;FPGA;Verilog
TN919
A
1674-6236(2014)13-0155-03
2013-10-01 稿件編號(hào):201310003
蔣 權(quán)(1987—),男,四川南充人,碩士研究生。研究方向:信號(hào)與信息處理、軟件無線電。