基于雙NIOS II的IP無(wú)線(xiàn)收發(fā)機
摘要:介紹了基于NIOS II 軟核處理器的SOPC 技術(shù),分析了傳統方法和基于SOPC技術(shù)的方法實(shí)現擴頻收發(fā)機的優(yōu)劣,詳細說(shuō)明了嵌有雙NIOS II的SOPC技術(shù)的方案設計。該設計增強了系統功能,改善了系統的靈活性,并提高了其適應不同應用需求的伸縮性。
Abstract: Introduce the technique of SOPC with softcore processor NIOS II . Analyze the traditional design and the SOPC design in a Direction-Sequence Spread-Spectrum Receiver And Transmitter system. Explain the design with SOPC method in which two NIOS II are embedded. The functions are enhanced , while the flexibility and scalability is extended.
Keywords: SOPC; NIOS II; Spread-Spectrum Receivers And Transmitter
一:概述
目前,日益蓬勃發(fā)展的網(wǎng)絡(luò )技術(shù)促使許多應用產(chǎn)品向新一代工業(yè)及商務(wù)網(wǎng)絡(luò )應用方向發(fā)展。一些不帶網(wǎng)絡(luò )功能的產(chǎn)品越來(lái)越不符合當今產(chǎn)品的需要。具有更多功能的集成、支持網(wǎng)絡(luò )協(xié)議已成為目前產(chǎn)品研發(fā)的主流[1]。
傳統的無(wú)線(xiàn)收發(fā)機具有體積大,可配置性差,功耗高,成本大,開(kāi)發(fā)時(shí)間長(cháng)等缺點(diǎn),且不支持網(wǎng)絡(luò )。
基于以上諸多因素考慮,我們將設計一個(gè)新式的支持網(wǎng)絡(luò )的便攜式的無(wú)線(xiàn)收發(fā)機來(lái)取代傳統的收發(fā)機。該系統是無(wú)線(xiàn)網(wǎng)絡(luò )的解決方案,采用先進(jìn)的擴頻技術(shù),實(shí)現長(cháng)距離數據傳輸。本系統是基于雙NIOS II核的擴頻收發(fā)機。該系統以全雙工的方式進(jìn)行無(wú)線(xiàn)方式的收發(fā),并通過(guò)以太口進(jìn)行網(wǎng)絡(luò )傳輸。發(fā)射方面,系統通過(guò)網(wǎng)絡(luò )收到數據進(jìn)行擴頻調制,經(jīng)由射頻裝置從天線(xiàn)發(fā)射出去,完成發(fā)射部分。接收方面,系統從天線(xiàn)收到遠端的信號,進(jìn)行解調解擴并傳給網(wǎng)絡(luò ),完成接收部分。
其中一個(gè)NIOS II核完成無(wú)線(xiàn)收發(fā)機接收和發(fā)送的信號處理和運算,另一個(gè)核運行操作系統,完成以太網(wǎng)傳輸和其他相關(guān)控制。
之所以選擇使用NIOS II來(lái)完成該系統,而不選擇目前通用的(MCU+DSP)方式,我們主要考慮是首先雙NIOS II的處理能力完全能夠完成任務(wù)且開(kāi)發(fā)方便,周期短。另外SOPC硬件線(xiàn)路可以規劃到芯片內部,有效縮小PCB面積,減小體積。還有,由于NIOS II的軟硬件自由配置空間極大,可以方便的調整系統不斷提到系統性能。這幾乎能夠克服傳統無(wú)線(xiàn)收發(fā)機的所有不足。另外NIOS II內核的可編程性,為以后支持更多網(wǎng)絡(luò )協(xié)議等附加功能可能。
二:功能描述
本系統是基于IP的無(wú)線(xiàn)收發(fā)裝置,具備網(wǎng)絡(luò )功能的收發(fā)機其應用范圍將大大增加。系統提供由鍵盤(pán)和液晶顯示器組成的人機界面,可以實(shí)現本地系統設置,實(shí)現碼分多址,在允許的作用距離內,設備間可以通過(guò)配置實(shí)現點(diǎn)對點(diǎn)和組網(wǎng)傳輸。
本系統是基于雙NIOS II核的結構,其中一個(gè)核(CORE 1)運行操作系統,完成以太網(wǎng)傳輸,其他相關(guān)控制和人機交互任務(wù)。另一個(gè)NIOS II核(CORE 2)完成無(wú)線(xiàn)收發(fā)機接收和發(fā)送的信號處理和運算。兩個(gè)NIOS II的數據和命令交互是通過(guò)FPGA內部的共享內存(雙口RAM)來(lái)實(shí)現的。見(jiàn)下圖:
三:各模塊詳細說(shuō)明:
1 NIOS II CORE 1 功能說(shuō)明
CORE 1運行MicroC/OS-II操作系統,進(jìn)行以太網(wǎng)傳輸,人機交互,控制等方面的處理。
首先在上電后NIOS II初始化操作系統,初始化lwIP和其它的一些外設并初始化液晶顯示器執行人機界面程序。在該用戶(hù)程序中,通過(guò)用戶(hù)的鍵盤(pán)輸入對系統進(jìn)行設置,調整系統的運行方式,同時(shí)將系統狀態(tài)顯示到液晶顯示器。其中人機交互程序的系統的設置包括:數據傳輸方式配置(串口,以太口等),發(fā)射功率的選擇,網(wǎng)絡(luò )的配置,擴頻序列的選擇,環(huán)路參數的選擇等等。其軟件流程圖如下:
在該系統中,人機交互程序是用戶(hù)的頂層程序,實(shí)現該程序的功能需要操作系統,lwIP,NIOS II的HAL,驅動(dòng)程序等的支持。為實(shí)現程序要調用各層次的接口并編寫(xiě)驅動(dòng)程序。其中的大部分程序直接移植altera公司提供的HAL即可。其關(guān)系如下:
2 NIOS II CORE 2 功能說(shuō)明
CORE 2 主要是完成直序擴頻收發(fā)的信號的處理和運算,是收發(fā)機的核心按功能分為接收和發(fā)送部分。
發(fā)送部分:從共享內存中取來(lái)來(lái)自網(wǎng)絡(luò )的數據(也可以來(lái)自其它接口),形成一路數字信號,然后加密,卷積編碼(2,1,7),交織,組幀,差分,再擴頻(127位),成型濾波,BPSK調制后通過(guò)射頻模塊發(fā)射出去。
功能框圖:
接收部分:接收部分接收來(lái)自射頻的模擬信號經(jīng)過(guò)AD后,復數下變頻,相關(guān)器(匹配濾波),然后叉積鑒頻,然后環(huán)路濾波,解幀,解交織,然后解卷積,解密等將一路數據信號存入共享內存供另一個(gè)核讀取傳輸。
功能框圖:
2.1 軟件流程圖:
接收通道中的載波和碼的捕獲跟蹤控制比較復雜,運算較多所以在軟核上用軟件實(shí)現,流程圖如下:
2.2 成形濾波器
(1)設計實(shí)現[2]
用數字方法進(jìn)行基帶頻譜成形,一般采用BTF(二進(jìn)制橫向濾波器)法和查表法。查表法即預先存儲所有可能的基帶成形波形的樣本值,根據發(fā)送的數據序列,在存儲器中查找相應的波形輸出。BTF法則根據輸入的數據序列實(shí)時(shí)計算輸出波形。當基帶信號為二進(jìn)制數據時(shí),采用這兩種方法可以達到較高的性能價(jià)格比。
本文成形濾波器采用查找表方式實(shí)現,系統的輸入數據為二進(jìn)制雙極性數據,映射邏輯為: , 。采用滾降系數為 的升余弦濾波器,升余弦滾降函數的系統函數為:
,
取波形的截短長(cháng)度為輸入數據碼元寬度的四倍,則當輸入信號為“1111”時(shí),系統的輸出波形如圖所示。
輸入信號為“1111”,系統輸出波形
圖中,h1(t) 為h(t)的截短??梢钥闯?, 時(shí)間段的波形為前后時(shí)刻波形的疊加,即連續輸入的四個(gè)信號才能確定一段波形。若在一個(gè) 時(shí)間段內采8個(gè)樣點(diǎn),因為每個(gè)樣點(diǎn)有24個(gè)可能值,所以共需要24 8=128個(gè)數據。這些樣點(diǎn)值可以由上式計算得出,將它們以二進(jìn)制補碼表示,存入ROM中,就構成了查找表。樣點(diǎn)數據存儲格式見(jiàn)下圖。
圖 波形數據存儲格式
本系統所實(shí)現的成形濾波器主要由移位寄存器、計數器和查找表組成,輸出為8比特的波形數據,硬件結構如下圖所示。其中查找表為一個(gè)地址寬度為7比特,輸出為8位比特的ROM,在FPGA內部實(shí)現。移位寄存器由4個(gè)帶異步復位端的D觸發(fā)器級聯(lián)而成,基帶數據串行輸入,并行輸出,其輸出構成查找表的高4位地址,而低3位的地址由一個(gè)八進(jìn)制計數器輸出,其計數頻率為基帶數據頻率的8倍,復位端連接數據時(shí)鐘,即每送進(jìn)來(lái)一位數據,計數器便清零。
成形濾波器實(shí)現框圖
(2)仿真驗證
為了驗證成形濾波器模塊,在其數據輸入端加入一數據源作激勵,并將模塊輸出轉化為十進(jìn)制數,以模擬形式表示。仿真結果如下,其中din為輸入二進(jìn)制數據,q為輸出的成形數據??梢钥闯?,各個(gè)取樣點(diǎn)之間的串擾很小,達到了基帶成形的目的。
2.3 相關(guān)器
本系統使用匹配濾波其進(jìn)行相關(guān),其特點(diǎn)是捕獲速度快,但同時(shí)消耗資源較多,該模塊的設計難點(diǎn)是在不降低速度的前提下,盡可能的減小資源消耗。所以我們采用折疊型濾波器
當偽碼長(cháng)度較長(cháng)或硬件資源緊張時(shí),可以對倒置型濾波器進(jìn)行“折疊”處理來(lái)進(jìn)一步壓縮資源。折疊濾波器是一種改進(jìn)的倒置型濾波器,其實(shí)現原理基于以下等式:
(5.6)
其中 , 為折疊次數。
折疊型濾波器的工作時(shí)鐘同步于輸入采樣時(shí)鐘,即每進(jìn)入一個(gè)采樣數據,加法鏈中的數據向后移動(dòng)一級。如式x所示,m次折疊濾波器將相關(guān)運算分為m步進(jìn)行,每一步的相關(guān)運算長(cháng)度為整個(gè)相關(guān)運算的1/m。在采樣速率不變的情況下,折疊濾波器必須在一個(gè)采樣時(shí)鐘內執行完所有步驟。這就需要提高折疊濾波器的處理時(shí)鐘,折疊幾次,處理時(shí)鐘就變?yōu)樵瓉?lái)的幾倍。另外如圖x所示,倒置型濾波器的結構具有重復對稱(chēng)性,所示可以重復利用1/m長(cháng)的相關(guān)運算單元完成整個(gè)相關(guān)運算。在FPGA的設計中,這種方法稱(chēng)為以速度換取面積,通過(guò)提高處理時(shí)鐘節省了大量的硬件資源。下圖所示為本系統所采用的2次折疊匹配濾波器,用64抽頭實(shí)現了127位碼長(cháng)8倍過(guò)采樣匹配濾波器。
由圖x可知,折疊匹配濾波器主要由加法器、延時(shí)單元、偽碼寄存器和反饋邏輯組成。其中本地127位偽碼通過(guò)末尾添零變成128位,以折疊格式存放在偽碼寄存器中。因為采用8倍過(guò)采樣并且折疊系數為2,加法鏈每級之間的延時(shí)應該為16個(gè)處理時(shí)鐘單位,但加法器本身占用了一個(gè)時(shí)鐘延時(shí),所以延時(shí)單元只需產(chǎn)生15個(gè)時(shí)鐘延時(shí)即可。
折疊匹配濾波器的處理時(shí)鐘為采樣速率的兩倍,每?jì)蓚€(gè)時(shí)鐘周期出現一個(gè)采樣數據。在第一個(gè)時(shí)鐘周期,code0到code63被送入64個(gè)抽頭單元中,同時(shí)code0加法器的反饋輸入端被置為零。第一個(gè)時(shí)鐘周期結束時(shí),加法器的結果移入保存寄存器中。在第二個(gè)時(shí)鐘周期,code64到code127送入抽頭單元,code64加法器的輸入來(lái)自保持寄存器。第二個(gè)時(shí)鐘周期結束,最終結果送入捕獲寄存器。
以下為時(shí)序仿真圖,綜合工具quartus5.0, 仿真工具 modelsim 5.8。其中clk_32k為發(fā)送符號時(shí)鐘,I_corr為匹配濾波器輸出的相關(guān)值??梢钥闯?,在每一個(gè)符號周期內,相關(guān)結果都會(huì )出現一個(gè)峰值。
2.4 叉積鑒頻
該模塊是頻率鑒別器,當輸入同向和正交兩個(gè)分量的時(shí)候,輸出為當時(shí)的頻差,其結果在送入環(huán)路濾波器進(jìn)行閉環(huán)的反饋。
其仿真圖如下:
上圖是在modelsim5.7上的布線(xiàn)后仿真圖,第一個(gè)信號是頻差,第二個(gè)信號是未下變頻的信號,第三個(gè)信號是下變頻以后的信號。由圖可見(jiàn)頻差在不斷縮小變成零,下變頻信號最后頻率消失,同步成為一條直線(xiàn)[3]。
3 CORE 1與CORE 2通訊
CORE 1與CORE 2的通訊:采用FPGA內部的雙口RAM形成一塊共享內存,進(jìn)行數據交互。其中接收和發(fā)送分別擁有獨立的存儲空間,另外一些交互命令也獨立存儲。如圖:
三:設計特點(diǎn)
1 本系統是一種基于網(wǎng)絡(luò )的無(wú)線(xiàn)收發(fā)機,通過(guò)網(wǎng)絡(luò )使無(wú)線(xiàn)收發(fā)機的功能大大豐富。本系統可以實(shí)現點(diǎn)對點(diǎn)傳輸,一點(diǎn)對多點(diǎn)傳輸,和組網(wǎng)功能。大大增強了無(wú)線(xiàn)收發(fā)機的應用范圍。
2 使用SOPC能夠非常方便快捷的搭建很有特色雙核NIOS II系統,同時(shí)NIOS II支持操作系統并提供lwIP,對進(jìn)行網(wǎng)絡(luò )開(kāi)發(fā)大大有利,這些都加快了系統開(kāi)發(fā)進(jìn)度。
3 我們做過(guò)評估,采用雙核NIOS II完全可以勝任IP無(wú)線(xiàn)收發(fā)機。而不需要使用傳統通的(MCU+DSP)結構,不僅節省了成本,而且縮小了PCB面積,更重要的是功耗大大降低。
4 NIOS II為我們提供了強大的軟硬件選擇性。在信號處理的接收方面,由于解擴解調計算復雜,對于環(huán)路濾波器和叉積鑒頻中的一些運算使用了NIOS II的自定義指令。而能量捕獲則作為硬件加速,完全在硬件中實(shí)現。
系統提供了鍵盤(pán)和液晶顯示器,可以直接對系統的運行方式進(jìn)行調整,并顯示調整結果。
綜上:采用新方法實(shí)現的無(wú)線(xiàn)收發(fā)機在許多方面比傳統方案都有所改進(jìn)和提高,為今后實(shí)現無(wú)線(xiàn)收發(fā)機提供了一個(gè)新的方向。
參考文獻:
[1] SOPC/FPGA教程 www.21control.com
[2] 李博 直序擴頻接收機數字中頻模塊的FPGA實(shí)現 北京航空航天大學(xué)碩士論文 2006
[3] 姚廷燕 SOPC 技術(shù)在軟件無(wú)線(xiàn)電平臺中的應用 遙控遙測 2005.7
評論