国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA可配置m序列發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)

2018-04-13 06:36晏浩文陳偉吳瓊黃慶超劉建國(guó)祝寧華
現(xiàn)代電子技術(shù) 2018年8期
關(guān)鍵詞:寄存器按鍵移位

晏浩文 陳偉 吳瓊 黃慶超 劉建國(guó) 祝寧華

摘 要: 針對(duì)某些設(shè)計(jì)場(chǎng)合對(duì)可變m序列的需求,提出并驗(yàn)證了一種基于FPGA的m序列發(fā)生器方案。該方案采用線性反饋移位寄存器的結(jié)構(gòu),可通過(guò)外設(shè)對(duì)發(fā)生器的初始狀態(tài)進(jìn)行配置來(lái)改變所產(chǎn)生的m序列。使用ModelSim仿真軟件對(duì)此設(shè)計(jì)進(jìn)行了仿真,并將該m序列發(fā)生器應(yīng)用于某光跳頻保密通信系統(tǒng)中完成了實(shí)驗(yàn)驗(yàn)證。結(jié)果表明,使用該方案實(shí)現(xiàn)的m序列發(fā)生器結(jié)構(gòu)簡(jiǎn)單、易于集成,可產(chǎn)生大量不同的m序列,且具有可動(dòng)態(tài)配置的特點(diǎn)。

關(guān)鍵詞: FPGA; m序列; 信號(hào)發(fā)生器; 移位寄存器; ModelSim仿真軟件; 光跳頻通信系統(tǒng)

中圖分類號(hào): TN911?34; TN918 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)08?0001?04

Abstract: In allusion to the demand of variable m?sequence in some design occasions, an m?sequence generator scheme based on FPGA is proposed and verified. In the scheme, the linear feedback shift register structure is adopted, and the generated m?sequence can be changed by using peripherals to configure the initial state of the generator. The Modelsim simulation software is used to perform simulation for the design, and the m?sequence generator is applied to a certain optical frequency hopping secure communication system to accomplish the experimental verification. The results show that the m?sequence generator realized by this scheme has simple structure, is easy to be integrated, can produce a large number of different m?sequences, and has the characteristic of dynamic configuration.

Keywords: FPGA; m?sequence; signal generator; shift register; ModelSim simulation software; optical frequency hopping communication system

m序列作為偽隨機(jī)序列[1]的一種,具有優(yōu)良的偽隨機(jī)序列性質(zhì),在雷達(dá)[2]、導(dǎo)航[3]、常規(guī)通信[4?5]、保密通信[6]、地球物理勘察[7]和電子對(duì)抗[8]等領(lǐng)域中都有著廣泛的應(yīng)用。有關(guān)產(chǎn)生m序列發(fā)生器的方案很多。其中,基于專用集成電路的m序列發(fā)生器,其發(fā)生速率可以很快,但由于硬件電路不便修改的特性,只能產(chǎn)生單一的m序列;基于軟件的m序列發(fā)生器[9] 采用靈活的數(shù)據(jù)查詢方式可以獲得任意的m序列,因而得到了大量的關(guān)注和研究,但其產(chǎn)生速率不及硬件實(shí)現(xiàn)方式且實(shí)現(xiàn)過(guò)程較為復(fù)雜,故而在許多高速設(shè)計(jì)場(chǎng)合往往使用更為簡(jiǎn)單的FPGA實(shí)現(xiàn)方式。FPGA即現(xiàn)場(chǎng)可編程門陣列,使用FPGA來(lái)實(shí)現(xiàn)設(shè)計(jì),既具有硬件電路實(shí)現(xiàn)的優(yōu)點(diǎn),又具有設(shè)計(jì)上的靈活性。本文提出了一種基于FPGA的 m序列發(fā)生器,具有初始狀態(tài)可配置的特點(diǎn),可以通過(guò)配置線性反饋移位寄存器的初始值來(lái)改變產(chǎn)生的m序列,并給出了一個(gè)在保密通信系統(tǒng)中的應(yīng)用實(shí)例,對(duì)工程應(yīng)用有一定的現(xiàn)實(shí)意義。

1 m序列發(fā)生器的設(shè)計(jì)原理

傳統(tǒng)的m序列發(fā)生器有Fabonacci和Galois兩種類型[10],其中前者是在n級(jí)線性移位寄存器的基礎(chǔ)上,加上反饋回路構(gòu)成的,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),具體結(jié)構(gòu)如圖1所示。圖1中的[ci]是反饋系數(shù),由本原多項(xiàng)式系數(shù)確定,當(dāng)[ci]=1時(shí),反饋回路連接,當(dāng)[ci]=0時(shí),反饋回路斷開。[ai]用于表示各級(jí)觸發(fā)器的狀態(tài),[ai]只能等于0或1,表示觸發(fā)器的儲(chǔ)值是0還是1。 發(fā)生器工作時(shí),產(chǎn)生的m序列從移位寄存器的右端mout輸出,每時(shí)鐘周期產(chǎn)生一位。設(shè)觸發(fā)器的初始狀態(tài)為[an-1],…,[a1][a0],每一個(gè)時(shí)鐘周期,移位寄存器的左端都將得到一個(gè)新的輸入[an],其值可表示

由以上分析可知,m序列歸根到底取決于本原多項(xiàng)式和移位寄存器的初始狀態(tài),要改變m序列,就必須改變?cè)O(shè)計(jì)所采用的本原或改變移位寄存器的初始狀態(tài)。目前,大多方案都是通過(guò)改變本原多項(xiàng)式來(lái)改變m序列。這樣的方法優(yōu)點(diǎn)在于它可以徹底地改變產(chǎn)生的m序列,但在有的設(shè)計(jì)場(chǎng)合這樣的方法并不適用,因?yàn)槟壳笆褂玫谋驹囗?xiàng)式至多300多個(gè),通過(guò)該方法得到的不同的m序列十分有限。本文提出的方案,是從改變移位寄存器初始狀態(tài)的角度來(lái)改變m序列。實(shí)際上根據(jù)某一本原多項(xiàng)式不同的初始狀態(tài)可以得到多個(gè)m序列,但它們只不過(guò)是相差若干步位移,這些m序列稱作一個(gè)平移等價(jià)類。平移等價(jià)類m序列用來(lái)模擬信道噪聲時(shí)它們可以看作一樣的,但對(duì)于用m序列控制的同步通信系統(tǒng)而言,它們是不同的,即使兩個(gè)m序列相差一個(gè)位移,同步系統(tǒng)也無(wú)法正常工作。在全部n級(jí)m序列中,平移等價(jià)類[11]的個(gè)數(shù)為[φ(2n-1)n],其中[φ(υ)]表示[υ]的歐拉函數(shù)??芍猲越大,平移等價(jià)類越多。在實(shí)際應(yīng)用中往往希望平移等價(jià)類很多,因此,文中設(shè)計(jì)了一個(gè)128級(jí)的m序列發(fā)生器,其本原多項(xiàng)式[11]為[f(x)=1+x126+x127],可以由一個(gè)128位的移位寄存器和兩個(gè)模二加法器構(gòu)成,結(jié)構(gòu)簡(jiǎn)單,平行等價(jià)類多。其初始狀態(tài)的配置是設(shè)計(jì)重點(diǎn),文中選擇通過(guò)外設(shè)對(duì)移位寄存器賦初值的方式來(lái)實(shí)現(xiàn)。

2 m序列發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)

FPGA是可編程邏輯器件的一種,資源豐富功能強(qiáng)大,既有專用集成電路高速的特點(diǎn)又不失靈活性。文中采用Xilinx公司的FPGA芯片Kintex?7,使用硬件描述語(yǔ)言Verilog和電子設(shè)計(jì)自動(dòng)化工具ISE14.1,設(shè)計(jì)和實(shí)現(xiàn)了上述方案中提出的m序列發(fā)生器,即通過(guò)外設(shè)配置移位寄存器的初始值的方式來(lái)改變m序列發(fā)生器產(chǎn)生的m序列。所設(shè)計(jì)系統(tǒng)的主要硬件框圖如圖2所示,其中4×4矩陣鍵盤和液晶顯示器LCD1602分別用于移位寄存器初始值的輸入與顯示。從圖2可以看出,該m序列發(fā)生器主要由4個(gè)模塊組成:輸入模塊、儲(chǔ)值模塊、m序列發(fā)生模塊、顯示模塊。其中顯示模塊是顯示器LCD1602的驅(qū)動(dòng)電路,用于控制顯示器顯示按鍵輸入的字符,以確保輸入無(wú)誤。

由于該方案實(shí)現(xiàn)的是一個(gè)128級(jí)的m序列發(fā)生器,其移位寄存器共有128位,需要128位二進(jìn)制數(shù)來(lái)實(shí)現(xiàn)移位寄存器的初始化,所以最多可以產(chǎn)生2128個(gè)不同的m序列。但該設(shè)計(jì)在具體的實(shí)現(xiàn)過(guò)程中并沒有采取對(duì)移位寄存器的每一位進(jìn)行逐一賦值的方式,而是通過(guò)16個(gè)字符來(lái)完成移位寄存器的初始狀態(tài)設(shè)置。按鍵輸入的字符在進(jìn)入輸入模塊后會(huì)被編譯成8位二進(jìn)制代碼,此8位二進(jìn)制代碼同時(shí)也是字符在LCD1602中的顯示代碼。例如,字符D在進(jìn)入輸入模塊后被編譯成它的LCD1602顯示代碼2′b0100_0100。相比于逐位賦值,這樣的賦值方式簡(jiǎn)單快捷,體驗(yàn)更好,只需16次按鍵輸入就可以實(shí)現(xiàn)移位寄存器初始狀態(tài)的配置,雖然犧牲了可產(chǎn)生的m序列的數(shù)量,但即使在這種情況下同樣可以產(chǎn)生216個(gè)不同的m序列,遠(yuǎn)大于300。

從數(shù)據(jù)流的角度來(lái)看,按鍵輸入的字符流入輸入模塊后會(huì)被編譯成上述所說(shuō)的8位二進(jìn)制代碼,但在編譯之前輸入模塊必須對(duì)輸入信號(hào)進(jìn)行去抖處理,這是因?yàn)榘存I輸入過(guò)程中抖動(dòng)是不可避免的,它會(huì)影響系統(tǒng)的穩(wěn)定性。該設(shè)計(jì)中使用計(jì)數(shù)器對(duì)采樣進(jìn)行控制,從而實(shí)現(xiàn)了去抖功能。經(jīng)過(guò)去抖和編譯后的信號(hào)流出輸入模塊,一方面流向顯示模塊,告知顯示模塊要顯示的字符;另一方面流向儲(chǔ)值模塊。

儲(chǔ)值模塊本質(zhì)上是一個(gè)128位的寄存器,從低位到高位,依次存儲(chǔ)輸入的8位二進(jìn)制代碼,在16次按鍵操作完成后,該寄存器被寫滿,此時(shí)會(huì)產(chǎn)生一個(gè)指示信號(hào)用于告知m序列發(fā)生器模塊,移位寄存器的初始值已經(jīng)準(zhǔn)備好了。

m序列發(fā)生模塊最終用同步有限狀態(tài)機(jī)的設(shè)計(jì)方法實(shí)現(xiàn),其主體部分是原理中提到的帶反饋回路的線性反饋移位寄存器。該有限狀態(tài)機(jī)只有惟一的驅(qū)動(dòng)時(shí)鐘(50 MHz),狀態(tài)轉(zhuǎn)移如圖3所示??臻e狀態(tài)是該狀態(tài)機(jī)的初始狀態(tài),該狀態(tài)用于等待移位寄存器初始值的輸入,在檢測(cè)到儲(chǔ)值模塊的指示信號(hào)等于1后,在下個(gè)時(shí)鐘上升沿自動(dòng)轉(zhuǎn)移到配置狀態(tài)。配置狀態(tài)實(shí)現(xiàn)移位寄存器的初始狀態(tài)配置,該狀態(tài)下系統(tǒng)將儲(chǔ)值模塊中128位寄存器中的值賦給m序列發(fā)生器的移位寄存器,賦值操作完成后進(jìn)入m序列發(fā)生狀態(tài),開始產(chǎn)生m序列。

為了實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)配置,以滿足更多場(chǎng)合的應(yīng)用需求,該系統(tǒng)對(duì)儲(chǔ)值模塊發(fā)出的指示信號(hào)做了特殊的控制。該指示信號(hào)在由0變?yōu)?后,如果又有按鍵輸入會(huì)重新置0,直到儲(chǔ)值模塊的寄存器被重新寫滿后再變?yōu)?。從圖3可以看出,這樣設(shè)計(jì)的好處是,處于m序列發(fā)生狀態(tài)的m序列發(fā)生模塊可以利用此信號(hào)跳出該狀態(tài),重新進(jìn)行初始狀態(tài)設(shè)置,實(shí)現(xiàn)動(dòng)態(tài)配置的功能。這里沒有使用指示信號(hào)變?yōu)?這一條件,而使用指示信號(hào)的上升沿來(lái)跳出m序列發(fā)生狀態(tài),可以避免按鍵的誤觸發(fā)。

3 ModelSim仿真及結(jié)果分析

Mentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語(yǔ)言仿真軟件,它能提供友好的仿真環(huán)境以及完善高性能的驗(yàn)證功能。使用ModelSim對(duì)上述設(shè)計(jì)中的m序列發(fā)生器進(jìn)行了仿真,結(jié)果如圖4所示。圖中num是測(cè)試信號(hào),用于模擬按鍵輸入,標(biāo)記1處模擬了按鍵D被按下的情況,2處模擬了抖動(dòng)信號(hào)。keyboard_val是編譯后的輸入信號(hào),沒有按鍵按下時(shí)值為2′b1000_0000;而store_val則是儲(chǔ)值模塊的128位寄存器。由圖4可知,當(dāng)按鍵D被按下時(shí),輸入信號(hào)被編譯為2′b0111_1000并被存儲(chǔ)于store_val[127:120]中。因?yàn)榇饲耙呀?jīng)模擬了15次按鍵操作,此時(shí)寄存器store_val被存滿,指示信號(hào)full信號(hào)由0變?yōu)?。m序列發(fā)生模塊在檢測(cè)到指示信號(hào)等于1后將store_val的值賦給128位移位寄存器A,配置完成,隨后產(chǎn)生的m序列從端口M_out輸出。因?yàn)檎麄€(gè)系統(tǒng)工作在50 MHz的時(shí)鐘頻率下,m序列發(fā)生的速度很快,高達(dá)50 Mbit/s,所以信號(hào)M_out呈現(xiàn)密集的黑色,放大后可讀出產(chǎn)生的m序列為1000_1100_0010_1100…符合m序列的產(chǎn)生原理。另外,圖4標(biāo)記2處的抖動(dòng)信號(hào)沒有被譯碼,說(shuō)明輸入模塊成功實(shí)現(xiàn)了去抖功能。此后,繼續(xù)模擬輸入了多組不同的16位字符,由于圖片太長(zhǎng)這里沒有給出。由仿真結(jié)果可知,m序列發(fā)生器在每接收完一組字符后都會(huì)重新配置,實(shí)現(xiàn)了動(dòng)態(tài)配置的功能。通過(guò)對(duì)輸入各組字符后產(chǎn)生的m序列進(jìn)行對(duì)比,可以發(fā)現(xiàn)它們各不相同,也就是說(shuō)通過(guò)改變m序列發(fā)生器中移位寄存器的初始狀態(tài)可以改變所產(chǎn)生的m序列,與文中的理論分析一致,證明了該設(shè)計(jì)的正確性和可行性。

4 實(shí)驗(yàn)驗(yàn)證及結(jié)果分析

為了進(jìn)一步驗(yàn)證該m序列發(fā)生器設(shè)計(jì)方案的正確性和可行性,本文將該m序列發(fā)生器應(yīng)用于某光跳頻保密通信系統(tǒng)中,并通過(guò)搭建光纖鏈路來(lái)驗(yàn)證實(shí)際1.25 Gbit/s以太網(wǎng)通信中該m序列發(fā)生器的應(yīng)用,光纖鏈路如圖5所示。2臺(tái)電腦使用局域網(wǎng)通信軟件騰訊通(RTX)進(jìn)行視頻交流,信息的傳輸是雙向的,其中交換機(jī)用于完成電光/光電轉(zhuǎn)換,光跳頻通信系統(tǒng)用于實(shí)現(xiàn)對(duì)所傳信息的加/解密。該光跳頻保密通信系統(tǒng)的加/解密通過(guò)m序列來(lái)控制,由于2臺(tái)機(jī)器的工作上要求加解密同步,所以產(chǎn)生的m序列必須完全相同。

當(dāng)2臺(tái)系統(tǒng)通過(guò)4×4矩陣鍵盤設(shè)置相同的16位“密碼”時(shí),視頻通信連接成功。使用在線邏輯分析儀Chipscope Pro監(jiān)測(cè)了關(guān)鍵信號(hào),如圖6所示,從圖中可以看出,輸出端M_out有加/解密需要的m序列產(chǎn)生。當(dāng)2臺(tái)系統(tǒng)設(shè)置的“密碼”不同時(shí),視頻連接失敗。分析可知,這是由于2臺(tái)系統(tǒng)中m序列發(fā)生器的初始狀態(tài)不同,導(dǎo)致產(chǎn)生的m序列不同,加/解密不同步,所以無(wú)法成功通信,實(shí)驗(yàn)和理論一致,說(shuō)明該方案切實(shí)可行。另外,在此工程應(yīng)用中,該m序列發(fā)生器在提供加/解密所需的m序列的同時(shí),還實(shí)現(xiàn)了設(shè)備加密,可以看出第三方即使獲得了相同的通信系統(tǒng),在不知道“密碼”的情況下同樣無(wú)法竊取信息。

5 結(jié) 語(yǔ)

本文系統(tǒng)地介紹了一種基于FPGA可配置m序列發(fā)生器的實(shí)現(xiàn)方案,該方案通過(guò)對(duì)m序列發(fā)生器中線性移位寄存器的初始狀態(tài)進(jìn)行配置,可以產(chǎn)生大量不同的m序列,遠(yuǎn)多于使用不同本原多項(xiàng)式的方法。另外,此m序列發(fā)生器發(fā)生速率快,高達(dá)50 Mbit/s,具有可動(dòng)態(tài)配置的特點(diǎn),且易于集成。將其應(yīng)用于某光跳頻通信系統(tǒng)中,進(jìn)行了實(shí)驗(yàn)驗(yàn)證。結(jié)果表明該m序列發(fā)生器在為通信系統(tǒng)的加/解密控制提供了可變m序列的同時(shí),還實(shí)現(xiàn)了設(shè)備上的加密,對(duì)工程應(yīng)用有一定的現(xiàn)實(shí)意義。設(shè)計(jì)中為了更好的用戶體驗(yàn),使用的外設(shè)是4×4矩陣鍵盤,使用16個(gè)字符完成了m序列發(fā)生器的初始狀態(tài)配置,如果需要產(chǎn)生更多的m序列,可使用2個(gè)按鍵,分別對(duì)應(yīng)二進(jìn)制0和1來(lái)完成m序列發(fā)生器的初始狀態(tài)配置。

參考文獻(xiàn)

[1] 萬(wàn)哲先.代數(shù)和編碼[M].2版.北京:科學(xué)出版社,1980.

WAN Zhexian. Algebra and coding [M]. 2nd ed. Beijing: Science Press, 1980.

[2] 韓春,蔣德富,張芳玲.基于FPGA的寬帶噪聲發(fā)生器的設(shè)計(jì)[J].電子測(cè)量技術(shù),2013,36(12):53?55.

HAN Chun, JIANG Defu, ZHANG Fangling. Design of broad band noise generator based on FPGA [J]. Electronic measurement technology, 2013, 36(12): 53?55.

[3] 黨骙,馬林華,田雨,等.m序列壓縮感知測(cè)量矩陣構(gòu)造[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,42(2):186?192.

DANG Kui, MA Linhua, TIAN Yu, et al. Construction of the compressive sensing measurement matrix based on m sequences [J]. Journal of Xidian University (Natural science edition), 2015, 42(2): 186?192.

[4] 虞鑫棟,趙建中,李優(yōu),等.基于高速串行接口的m序列采樣特性研究與應(yīng)用[J].科學(xué)技術(shù)與工程,2015,15(22):162?166.

YU Xindong, ZHAO Jianzhong, LI You, et al. A study and application on properties of m?sequence sampling based on high?speed serial communication [J]. Science technology and engineering, 2015, 15(22): 162?166.

[5] 權(quán)磊,肖嵩,薛曉,等.低復(fù)雜度壓縮感知中的快速觀測(cè)方法[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,44(1):106?111.

QUAN Lei, XIAO Song, XUE Xiao, et al. Fast sensing method in compressive sensing with low complexity [J]. Journal of Xidian University (Natural science edition), 2017, 44(1): 106?111.

[6] 胡建勇,張文政,陳克非,等.m序列頻譜免疫度的研究[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(16):74?78.

HU Jianyong, ZHANG Wenzheng, CHEN Kefei, et al. Research on spectral immunity of m?sequences [J]. Computer engineering and applications, 2017, 53(16): 74?78.

[7] 淳少恒,陳儒軍,耿明會(huì).偽隨機(jī)m序列及其在電法勘探中的應(yīng)用進(jìn)展[J].地球物理學(xué)進(jìn)展,2014,29(1):439?446.

CHUN Shaoheng, CHEN Rujun, GENG Minghui. Review of the pseudo?random m sequence and its application in electrical prospecting of exploration geophysics [J]. Progress in geophysics, 2014, 29(1): 439?446.

[8] 趙曉燕.混合同余法產(chǎn)生隨機(jī)噪聲的FPGA實(shí)現(xiàn)[J].電子科技,2016,29(5):49?50.

ZHAO Xiaoyan. FPGA implementation of random noise generation by mix congruence method [J]. Electronic science and technology, 2016, 29(5): 49?50.

[9] 王誠(chéng),吳蕾,曾興雯.任意長(zhǎng)度的m序列的生成[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,28(1):129?132.

WANG Cheng, WU Lei, ZENG Xingwen. The generation of arbitary length m?sequences [J]. Journal of Xidian University (Natural science edition), 2001, 28(1): 129?132.

[10] 林可祥,汪一飛.偽隨機(jī)碼的原理與應(yīng)用[M].北京:人民郵電出版社,1998.

LIN Kexiang, WANG Yifei. Principle and application of pseudo?random code [M]. Beijing: Posts &; Telecom Press, 1998.

[11] 攀昌信.通信原理[M].北京:國(guó)防工業(yè)出版社,2001.

PAN Changxin. Principles of communication [M]. Beijing: National Defense Industry Press, 2001.

猜你喜歡
寄存器按鍵移位
基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
大型總段船塢建造、移位、定位工藝技術(shù)
Σ(X)上權(quán)移位算子的不變分布混沌性
分簇結(jié)構(gòu)向量寄存器分配策略研究*
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
多指離斷手指移位再植拇指25例
按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用