(廣西民族師范學院 物理與信息技術系,廣西 崇左 532200)
二進制移頻鍵控(2FSK)是數(shù)字通信中常用的調制方式之一,由于具有較好的抗噪性能和抗衰落性能,因此,在電力載波通信、鐵路通信系統(tǒng)和低速Modem等領域中得到了較為廣泛地應用[1-2]。然而,目前大多數(shù)的2FSK調制器仍采用固定的波特率和調制頻率進行通信,由于其參數(shù)(波特率和調制頻率)不能隨著信道狀態(tài)的變化而變化,不利于通信質量的提高。
針對以上情況,本文充分利用現(xiàn)場可編程門陣列(FPGA)的靈活性,設計2FSK調制器,其波特率和調制頻率均可編程可調:當信道無干擾時,提高波特率;當信道中存在干擾時,降低波特率或者改變調制器的調制頻率。因此,本系統(tǒng)在提高系統(tǒng)的頻帶利用率和降低誤碼率等方面具有較好的優(yōu)勢。
為了減少現(xiàn)場可編程門陣列(FPGA)的I/O口占用數(shù)量,決定把調制器設計成基于Avalon總線的IP核形式。
圖1為本IP核的硬件設計結構框圖,它主要由Avalon-MM總線接口、寄存器文件、任務邏輯、D/A轉換電路和低通濾波器五大部分組成。
圖1 硬件設計結構原理圖Fig.1 Schematic diagram of hardware design
Avalon-MM總線接口是Nios II軟處理器與調制器之間的通信接口,它滿足Avalon-MM通信協(xié)議。寄存器文件由多個寄存器構成,用于寄存各種控制信息、狀態(tài)信息和傳輸數(shù)據(jù)。任務邏輯完成調制參數(shù)可變的數(shù)字調制功能,是本設計的關鍵,它主要由可編程分頻器、并/串聯(lián)轉換電路、頻率控制字選擇器和DDS模塊組成。在本單元中,用一個可編程分頻器來實現(xiàn)傳輸速率的可變功能:由圖1可知,可編程分頻器的輸出信號作為并/串轉換電路模塊工作系統(tǒng)時鐘,分頻因子越大,得到的頻率越小,并/串轉換電路模塊的轉換速度越慢,波特率變得越??;相反,分頻因子越小,得到的頻率越大,并/串轉換電路模塊的轉換速度越快,即波特率變得越快。因此,本調制器傳輸速度的變化是通過改變分頻因子值來實現(xiàn)的。除此之外,并/串聯(lián)轉換電路還要根據(jù)當前所處的狀態(tài),修改狀態(tài)寄存器的值:當并/串聯(lián)轉換電路正在轉換時,狀態(tài)寄存器被設為“忙”狀態(tài)(設“1”電平),此時禁止Nios II 軟核CPU對傳輸數(shù)據(jù)寄存器進行寫操作;頻率控制字選擇器,可根據(jù)并/串轉換電路送來的值(0或1)選擇不同頻率控制字,從而實現(xiàn)把“0”和“1”數(shù)字信號調制在不同的頻率上。
為了保證Nios II處理器與任務邏輯之間能正常通信,在本IP核中要定義一組寄存器。這些寄存器寄存著調制器的控制信息、狀態(tài)信息和傳輸數(shù)據(jù)。表1列出了這些寄存器的名稱、相對地址、讀寫屬性、位寬和功能描述等。
表1 寄存器組定義與地址分配Table 1 Definition of registers and address assignment
3.2.1DDS模塊設計[3-4]
DDS信號發(fā)生器模塊也是本設計中最為關鍵模塊之一,它能根據(jù)不同的頻率控制字的值,合成不同的調制頻率。圖2為DDS模塊的原理框圖,主要包括相位累加器、相位寄存器、正弦波存儲器。相位累加器完成累加操作,相位寄存器寄存累加結果,正弦波存儲器存儲了一個周期正弦數(shù)據(jù)信號。相位寄存器輸出結果,一路作為累加運算的一個輸入值,另一路作為正弦波存儲器的地址值,正弦波存儲器根據(jù)地址值,查找本存儲器中相應地址單元的波形內容。在整個過程中,當相位累加器產(chǎn)生一次溢出時,DDS模塊完成了一個周期輸出任務。
圖2 DDS模塊組成原理圖Fig.2 Schematic diagram of DDS module
頻率控制字K與輸出波形頻率的函數(shù)表達關系式為
(1)
式中,K為頻率控制字,N為累加器的位寬值。
3.2.2并/串聯(lián)轉換電路設計
并/串聯(lián)轉換電路除了完成對數(shù)據(jù)進行并/串聯(lián)轉換功能之外,還要產(chǎn)生握手信號,使Nios II軟核CPU與并/串聯(lián)轉換電路之間的步調一致,防止數(shù)據(jù)丟失或重復傳輸。圖3為利用硬件描述語言來設計本模塊的算法流程圖。在并/串轉換之前,轉換器首先判定狀態(tài)寄存器的第1位是否有新的數(shù)據(jù),如有,置狀態(tài)寄存器第0位為“1”狀態(tài),禁止Nios II進行寫入數(shù)據(jù),然后再把32位的并行數(shù)據(jù)轉換成串行數(shù)據(jù),等到轉換結束后,再分別置狀態(tài)寄存器第0和第1位為“0”和數(shù)據(jù)“0”狀態(tài)。
圖3 并/串聯(lián)轉換電路模塊的算法流程圖Fig.3 Algorithm flowchart of parallel-series converting circuit
3.2.3可編程分頻器設計
為了實現(xiàn)數(shù)字調制器傳輸?shù)乃俾嗜我饪烧{,在本設計中,還專門設計了可編程分頻器。Nios II軟核CPU按一定關系式把不同的傳輸速率轉換成不同的分頻因子,并把分頻因子寫到寄存器中??删幊谭诸l器根據(jù)這個分頻因子對系統(tǒng)時鐘進行分頻,得到不同頻率(周期)的輸出信號。因為分頻器的輸出作為并/串轉換器的工作時鐘,所以,不同的工作頻率控制著轉換器工作的快慢,從而能控制調制器傳輸速率的大小。
Avalon總線接口設計放在本IP 核的添加到SOPC Buidler[5-6]的IP庫過程中進行。Altera公司SOPC Builder開發(fā)工具不僅允許設計者把自定義的IP核添加到SOPC Buidler的IP庫中,還允許選擇不同的總線接口類型。在本設計中選擇了Avalon-MM總線接口。
硬件系統(tǒng)工作離不開軟件的支持,硬件系統(tǒng)的設計結構和工作原理決定了軟件的編寫方法。圖4為本系統(tǒng)的軟件算法流程圖:首先啟動并設置調制器的傳輸速率與載波頻率;然后讀取狀態(tài)寄存器的第0位,只有在讀到低電平“0”的情況下, CPU才把32位的數(shù)據(jù)寫到傳輸數(shù)據(jù)寄存器中;最后設置狀態(tài)寄存器的第1位為高電平“1”,啟動轉換電路工作。
圖4 主程序的算法流程圖Fig.4 Algorithm flowcharts of master program
利用嵌入式邏輯分析儀(SigalTap II Logic Analyzer)對本設計進行驗證。嵌入式邏輯分析儀是Quartus II軟件自帶的分析工具,它使用方便、便捷和靈活,可嵌入到設計單元中,直接觀察被觀察點的波形,完全可以代替數(shù)字示波器功能。圖5為在嵌入式邏輯分析儀中觀察到的波形圖, FSK為調制輸出信號,其中,圖5(a)是載頻分別為200 kHz和800 kHz、傳輸信息速率為8 000 bit/s的輸出波形,圖5(b)是載頻分別為200 kHz和800 kHz、傳輸信息速率為16 000 bit/s的輸出波形,圖5(c)是載頻分別為100 kHz和400 kHz、傳輸信息速率為16 000 bit/s的輸出波形。從圖中可以看出,無論是信息傳輸速率還是載波頻率都變化了2倍:圖5(a)與圖5(b)的載波頻率不變,而信息速率變化了2倍;圖5(b)與圖5(c)信息速率不變,而載波頻率變化了2倍,驗證了其正確性。
(a)載頻分別為200 kHz、800 kHz,速率為8 000 bit/s的輸出波形
(b)載頻分別為200 kHz、800 kHz,速率為16 000 bit/s的輸出波形
(c)載頻分別為100 kHz、400 kHz,速率為16 000 bit/s的輸出波形
本文介紹利用現(xiàn)場可編程門陣列(FPGA)器件設計波特率和載頻均可變化的2FSK數(shù)字調制技術,利用直接數(shù)字頻率合成器(DDS)來合成調制器的調制頻率,通過修改DDS的頻率控制字,控制調制頻率變化,通過修改可編程分頻器的分頻因子,控制波特率的變化。實驗結果表明,調制器具有較好的靈活性,可用于跳頻通信的數(shù)字調制部分,具有一定的參考價值。
參考文獻:
[1] 邱雅,李兵,肖樂. 基于DSP的2FSK實現(xiàn)[J].西華大學學報(自然科學版), 2009, 28(6):62-65.
QIU Ya,LI Bing,XIAO Le.Realization of 2FSK Modulation Based on DSP[J].Journal of Xihua University(Natural Science Edition), 2009, 28(6):62-65.(in Chinese)
[2] 吳海濤,梁迎春,陳英俊.基于FPGA的全數(shù)字FSK調制解調器設計[J].現(xiàn)代電子技術,2007,30(23):72-73.
WU Hai-tao,LIANG Ying-chun,CHEN Ying-jun.Design of Full Digital FSK Modern Based on FPGA[J].Modern Electronics Technique,2007,30(23):72-73. (in Chinese)
[3] 郭書軍,謝定華,王玉花. 基于SOPC的DDS信號源的實現(xiàn)[J].電訊技術, 2005, 45(5):69-71.
GUO Shu-jun, XIE Ding-hua,WANG Yu-hua. Implementation of DDS Based on SOPC [J].Telecommunication Engineering, 2005, 45(5):69-71. (in Chinese)
[4] 楊秀增.基于FPGA和DDS的信號源設計[J].電子設計工程,2009,17(11):7-8.
YANG Xiu-zeng. Design of a signal generator based on FPGA and DDS[J]. Electronic Design Engineering, 2009,17(11):7-8. (in Chinese)
[5] 張福洪,肖懷鋒,方洪燦,等.基于Nios II的UHF RFID讀寫器設計與實現(xiàn)[J].電訊技術,2009,49(5):25-28.
ZHANG Fu-hong,XIAO Huai-feng, FANG Hong-can,et al. Design and Implementation of UHF RFID Reader Based on Nios Ⅱ[J]. Telecommunication Engineering, 2009, 49(5):25-28. (in Chinese)
[6] 楊秀增.基于Nios II的自適應高精度頻率計設計[J].自動化與儀表,2009(7):13-16.
YANG Xiu-zeng. Design of Equal Precision Digital Frequency Meter Based on NiosII[J]. Automation & Instrumentation, 2009(7):13-16. (in Chinese)