摘 要: 給出了基于Nios II" title="Nios II">Nios II的通用數字調制器" title="數字調制器">數字調制器的實現方法,具體說明了系統的基本原理、總體結構、硬件設計,以及軟件流程等。該系統把可編程邏輯的固有優勢集成到嵌入處理器的開發流程中,具有高度的靈活性、可重配置功能,便于升級和擴展,適于軟件無線電" title="軟件無線電">軟件無線電的應用。
關鍵詞: Nios II 調制器 軟件無線電
在軟件無線電(SDR)的研究過程中,調制解調技術是無線通信系統空中接口的重要組成部分。目前常用的數字調制方式有多種,如果按照傳統的硬件實現方法,要使一部通信機產生多種調制信號,其系統就會非常龐大復雜。
altera" title="altera">altera.com/">Altera公司的Nios II處理器是用于可編程邏輯器件的可配置的軟核處理器。Nios II軟核處理器和存儲器、I/O接口等外設可嵌入FPGA中,組成一個可編程單芯片系統(SOPC),大大降低了系統的成本、體積和功耗。基于Nios II處理器系統的通用數字調制器是一種軟件化硬件的解決方案,可以產生多種模式的數字調制信號,具有多功能性、通用性、集成度高、易于升級等優點,滿足軟件無線電系統的要求。
1 總體系統結構
本系統在一個調制器中靈活多變地實現了多種調制功能。Nios II處理器完成人機交互和控制工作,FPGA邏輯從Nios II處理器接收控制信號和數據后完成相應的硬件功能。系統整體框圖如圖1所示。Nios II軟核處理器、存儲器和I/O接口等外設可嵌入在FPGA中,這樣整個系統的數字處理部分全部集成在FPGA器件中。數控振蕩器(NCO)的各子模塊必須在Nios II處理器的控制下,不斷接收實時數據才能完成各種不同的數字信號調制。在某些情況下,這些數據傳輸是復雜的,好在Nios II處理系統有Avalon總線,它規定了控制器與從屬組件間的端口連接以及組件間通信的時序。NCO通過Avalon總線與Nios II處理器連接,可以簡單地看成外圍設備,很方便完成控制和數據傳輸。
本系統采用Nios II和CycloneEP1C6嵌入式系統開發板,選用AD9754作為DAC芯片,并用LC電路搭建了9階的橢圓低通濾波器,總體實現了一個可以產生多種調制信號的通用數字調制器。提供以下幾種調制方式:移頻鍵控調制(FSK)、二進制移相鍵控調制(BPSK)、四進制移頻鍵控(QFSK)、四相相移鍵控調制(QPSK)、標準載波輸出(Sin)。
調制方式和載波頻率可以通過撥碼開關和按鍵自由選擇,LED和LCD的顯示便于用戶直觀了解當前的狀態信息。系統工作過程中,當再次按下“啟動/停止”鍵時,可以對調制方式和頻率重新進行設置。
2 Nios II嵌入式軟核處理器簡介
Nios II嵌入式處理器是Altera公司推出的第二代用于可編程邏輯器件的可配置軟核處理器,最高性能超過200 DMIPS。Nios II是基于哈佛結構的RISC通用嵌入式處理器軟核,能與用戶邏輯相結合,編程至Altera的FPGA中。處理器具有32位指令集、32位數據通道和可配置的指令以及數據緩沖。它特別為可編程邏輯進行了優化設計,也為可編程單芯片系統(SOPC)設計了一套綜合解決方案。Nios II處理器系列包括三種內核:高性能內核(Nios II/f)、低成本內核(Nios II/e)、性能/成本折中的標準內核(Nios II/s)。本系統采用標準內核。
Nios II 處理器支持256 個具有固定或可變時鐘周期操作的定制指令;允許Nios II設計人員利用擴展CPU指令集,通過提升那些對時間敏感的應用軟件的運行速度來提高系統性能。
3 系統硬件設計
3.1 調制信號源
調制信號源可以來自外部,通過串口、并口等送入,也可以由調制器內部產生。本系統由調制信號源產生模塊產生了偽隨機序列及其同步時鐘信號。
3.2 數字調制的實現
數字調制部分根據調制信號和來自CPU的控制信號產生可控模式、可控載頻的已調信號。NCO模塊包括頻率控制字寄存器、32位的相位累加器、相位控制字寄存器、相位-幅度變換電路、控制邏輯電路,以及相位抖動補償模塊,如圖2所示。NCO中各部件在參考頻率源的作用下同步工作。相位累加器在每一個時鐘上升沿與頻率控制字K累加一次。當累加器計數大于232時,相位累加器相當于做一次模余運算。正弦查詢表在每個時鐘周期內,根據送給ROM的地址(相位累加器的12個MSB相位值)取出ROM中已存儲的與該地址相對應的正弦幅值,最后將該值送給DAC和LPF實現量化幅值到一個純凈信號的轉換。
由于資源和成本的原因,通常相位累加器輸出的32位不會全部用來尋址ROM,本系統取其高12位尋址 ROM,其余LSB位被舍去,這樣就不可避免地產生相位誤差,該誤差是NCO輸出雜散的主要原因。用于相位-幅度轉換的存儲器用片內ROM來實現,主要完成信號的相位序列到幅度序列之間的轉化。幅度量化誤差與波形存儲器數據總線位數相關,本系統中為14位。
為了減小相位截斷誤差,要求在NCO的波形查表過程中保留更多的相位有效位;為了減小幅度量化誤差,要求波形存儲器保留更多的輸出數據位并選擇位數高的DAC。由于波形存儲器的容量受限,因此在低雜散設計中,可以通過改變傳統結構中的相位到正弦波形的線性映射關系,采用新的結構體系來降低波形存儲容量,以使在不增加波形存儲器容量的情況下,保留更多的相位有效位和數據總線位數。單象限正弦波存儲結構是一種有效的方法。在這種結構中,利用正弦波形的四分之一對稱性,將ROM表減至最初的1/4,波形存儲器只存儲一個象限[0,π/2]的波形。相位累加器用于波形尋址的有效位輸出中,最高兩位被用作映射四個象限,其余低位用來尋址波形存儲器。這樣,通過一個正/余弦表的前1/4周期就可以變換得到正/余弦的整個周期碼表。這種實現方法對存儲器的要求很小,節省了大量資源。
由相位截斷的分析理論,相位舍位序列是具有周期性的,如果能破壞其周期性,就能將DDS輸出頻譜中有規律的雜散分量變成隨機的相位噪聲,從而抑制相位截斷引起的雜散。因此本系統在ROM表之前加入了相位抖動注入模塊,通過隨機加擾的方法抑制DDS的相位截斷雜散。
本系統NCO輸出信號頻率fout與參考時鐘頻率fclk以及頻率控制字K之間的關系為,在96MHz參考時鐘的情況下,頻率分辨率為0.022 35Hz。
3.3 D/A轉換與低通濾波
FPGA輸出的14位二進制數需要送到DAC進行D/A變換,得到量化的階梯波形輸出,最后經低通濾波器濾除高頻分量,平滑后得到模擬的已調信號。DAC 非理想特性帶來的轉換誤差是影響輸出信號頻譜的又一因素,主要取決于DAC器件的性能。本設計選用AD9754作為DAC芯片。
用LC電路搭建了9階的橢圓低通濾波器,截止頻率為25MHz。其頻譜如圖3所示。
4 系統軟件設計
本系統的設計核心是根據調制信號的信息對載波頻率、相位和振幅進行精確控制。通過Nios II處理器來改變上述三個參數中的一個或幾個,以完成各種不同類型的調制。Nios II處理器的主要工作有:第一,針對不同的調制模式,輸出對應的控制碼;第二,對某一具體的控制碼來說,要根據其控制信號的值、時鐘速率、相位累加器、ROM以及DAC位數等計算出具體的碼值。軟件流程如圖4所示。
通用數字調制器是實現軟件無線電的關鍵技術之一,現有文獻中的實現方法是通過“DSP+FPGA”來設計的,其外圍電路和控制邏輯復雜,成本較高。本文提出了一種基于Nios II嵌入式處理器軟核的通用數字調制器實現方法,使用Altera的低成本Cyclone FPGA,且具有開發周期短、成本低等特點。
本系統所實現的各種調制方式均已通過硬件測試,證明了方案的可行性和正確性。
此外,在設計過程中使用SignalTap II嵌入式邏輯分析儀可以方便調試,采用增量編譯可以縮短漫長的編譯等待時間。圖5是用SignalTap II對FSK分析時的截屏圖。
參考文獻
1 John G. Proakis,Masoud. Communication systems engineering.北京:電子工業出版社,2002
2 楊小牛,樓才義,徐建良. 軟件無線電原理與應用. 北京:電子工業出版社,2001
3 傅豐林. Nios軟核心嵌入式處理器設計大賽優秀作品精選. 西安:西安電子科技大學出版社,2005
4 Nios II software developer′s handbook. Altera Corporation,2005
5 Altera embedded peripherals handbook.Altera Corporation, 2005