王明蕾 王瑩
摘要:本文利用FPGA與VC++設計了一套基于軟件無線電架構的通信原理實驗教學平臺,介紹了實驗平臺的硬件與軟件設計。可在VC++環境下實現各種通信功能模塊,并由FPGA部分完成基帶信號的發送與接收,能夠幫助學生熟練掌握通信原理的基本概念。
關鍵詞:FPGA;VC++;通信原理;實驗教學平臺
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2018)30-0268-02
通信原理是通信工程等電子信息類專業的重要專業基礎課,其前序課程包括線性電子線路、非線性電子線路、信號與系統、數字電路與邏輯設計等課程,在通信原理的教學中理論教學與實踐需要相輔相成,實驗課在幫助學生熟練掌握通信理論的過程中發揮著關鍵作用[1]。近年來,隨著軟件無線電技術的不斷成熟,將軟件無線電技術應用于本科生通信原理課程實驗教學,引導學生通過軟件設計實現并驗證通信原理理論知識,從而扎實掌握理論知識,并培養學生運用所學知識解決實際問題的能力,已引起人們的廣泛關注[2]。
可編程邏輯器件FPGA具有資源豐富、邏輯功能強大、開發周期短、成本低等優點,并支持反復編程修改,非常適合于構建軟件無線電系統的硬件平臺,本文利用FPGA實現軟件無線電的基帶信號底層硬件實驗平臺,由FPGA控制D/A和A/D轉換器實現基帶通信信號的發送和接收。上位機的軟件實驗環境基于VC++語言實現,通過設計的API函數為用戶提供數據交換接口,支持學生利用C++語言設計實現通信系統的各種功能模塊,如信道編譯碼、調制解調、信道估計、同步等,并形成系統,實現可視化數分析。上位機與FPGA底層收發單元通過通用串行總線(USB)交換數據,從而形成一個通信基帶信號產生、基帶信號發送、基帶信號接收和通信信號處理于一體的系統,從而增加了實驗平臺的通用性。學生可對實驗平臺進行焊接調試、編程設計等,增強實踐經驗。此外,實驗平臺還可作為課程設計、電工實習、畢業設計等教學環節。
一、實驗平臺的硬件設計實現
實驗硬件平臺中以Altera公司的EP1C12Q240C8N作為主控芯片,其他部分包括A/D、D/A、USB接口、Flash、RS232接口等電路,從功能上劃分為數字電路和模擬電路兩部分。
1.FPGA的配置電路。實驗平臺選用Altera公司的Cyclone I系列的EP1C12Q240C8N,這是一款低成本、低功耗的FPGA芯片,共有12060個邏輯塊,239616比特RAM,240個管腳。這款FPGA芯片支持復雜的邏輯功能設計,并具有足夠的資源實現USB通信功能,完成與上位機的通信。FPGA的配置電路包括時鐘電路、復位電路、下載配置電路、供電接口電路。系統時鐘由50MHz的有源晶振提供,采用專用復位芯片IMP811組成復位電路,使用JTAG和AS兩種下載模式,供電接口電路由系統供電模塊提供。
2.系統供電電路。對實驗平臺進行模塊化設計,分為數字電路板和模擬電路板。數字電路板由FPGA、SRAM、串口、USB接口芯片組成,模擬電路板由D/A、A/D、低通濾波模塊組成,兩者通過卡槽連接。數字電路板采用自供電或USB總線供電兩種方式,可通過跳線進行選擇。當外部電源模塊提供±12V電源時,系統供電電路利用AMS1117-5V、AMS1117-3.3V、AMS1117-1.5V分別得到+5V、+3.3V和+1.5V,并通過卡槽為數字和模擬兩塊板卡實現供電。
3.數-模轉換。為了實現復基帶信號的發送,選用了TI公司生產的雙通道數-模轉換電路芯片DAC8822。DAC8822是一款分辨率為16位的高性能數-模轉換器,供電范圍是+2.7V至+5V,適用于低功耗、低噪聲、高速轉換的應用。本文設計的硬件平臺產生的模擬信號電壓范圍是-5V至+5V,故配置DAC8822工作在雙極性模式下,參考電壓設定為+5V。此外,本文還在DAC8822的信號輸出端設置了基于運算放大器的電流信號到電壓信號的轉換電路,將DAC8822輸出的電流信號轉化為電壓信號,以便于測量與觀察。
4.模-數轉換。硬件平臺中的模-數轉器的作用是對復基帶模擬信號進行采樣,本文發送端產生的模擬信號最高頻率為50kHz,基于此,模-數轉器選用了TI公司生產的最高采樣頻率為250kHz的ADS8509芯片。ADS8509是一款逐次逼近型模-數轉換,轉換精度為16位,采用串行數據輸出方式,可以顯著減少占用FPGA芯片的管腳數目。本文將ADS8509配置于內部時鐘、雙極性輸入電壓信號、二進制補碼數據輸出格式的工作模式。
5.低通濾波模塊。硬件平臺的低通濾波器模塊主要作用是對數-模轉換器的輸出信號進行平滑處理,和對模-數轉換器的輸入信號進行限帶濾波,從而避免產生混疊現象。本文使用TI公司FilterPro濾波器設計軟件[3]進行低通濾波器的設計。將所需濾波器參數輸入FilterPro軟件,FilterPro便可以計算顯示出目標濾波器的幅頻特性、相頻特性曲線,并提供相應硬件電路的參考設計。
6.通信接口模塊。通信接口模塊是硬件平臺與上位機之間的通信通道,本文采用了基于USB方式的通信接口,相應的USB接口芯片為CY7C68013A,這是Cypress公司推出的一款集成了USB2.0通信協議的接口芯片,可為用戶提供高速的數據交換接口。CY7C68013A的內部核心功能部件包括USB 2.0收發器、增強型8051內核、可編程接口等模塊[4]。Cypress公司針對CY7C68013A的開發提供了完善的開發包工具,使用戶能夠快速地進行USB2.0通信接口設計。
二、應用程序設計實現
VC++6.0由于具有可視化和面向對象的編程技術,功能強大,界面友好,易于使用,因此在通信原理實驗仿真系統的設計中得到采用。本文是在VC++6.0的開發環境下創建了一個基于MFC框架的對話框應用程序,在應用程序中提供了數據的發送與接收模塊可以完成數據在底層設備中的傳輸;為了使應用程序具有顯示功能以及基本的數據分析能力,在應用程序中開辟了繪圖區域,來完成數據的波形繪制以及頻譜分析波形。此外,為了響應應用程序的操作,還需USB固件程序以及驅動程序的配合。
三、實驗平臺應用案例
本文在上位機的實驗軟件系統中提供了多種接口API函數,學生在實驗過程中可以方便地將用C++語言編寫的通信系統程序嵌入到本實驗平臺中,可以達到靈活配置的目的。這里通過OFDM通信實驗來介紹基于本實驗平臺的實驗過程。OFDM首先將待發送的串行比特流映射成數據符號,并根據設定的子載波數目,將串行的數據符號轉成并行的數據符號,之后,利用快速傅里葉變換將頻域數據轉成待發送的時域信號。而接收端則利用逆傅里葉變換將接收到的時域數據轉變為頻域數據,并通過解映射恢復出發送的信息。數據發送端在上位機上通過C++語言編寫程序實現OFDM調制功能,得到待發送的復基帶數據,并經過USB接口發送到硬件平臺上,硬件平臺在接收到上位機的發送指令后,就控制數-模轉換器將數據轉換成模擬信號輸出。數據接收端的硬件平臺控制模-數轉換器持續采樣,并將采樣數據經USB接口發送至上位機軟件系統,學生編寫C++程序,對接收到的數據進行處理,實現OFDM通信解調功能,并支持在窗口內繪制發送與接收的數據的波形,對數據可以進行頻譜分析,還可以根據實際情況進行另外的功能設計等等。
四、結束語
本文采用Altera公司Cyclone I系列的FPGA芯片結合VC++編程設計實現了一套基于軟件無線電技術的通信原理實驗教學平臺,能夠產生模擬基帶通信信號并實現基帶通信信號的采樣,支持靈活地實現通信系統的各種功能模塊。該實驗平臺提供的各項實驗以及開放性的設計思想能夠培養學生的創新能力和動手能力,使學生能夠直觀體會到設計與開發的樂趣。
參考文獻:
[1]徐彥凱,雙凱,姜珊.通信原理實驗教學的探索[J].實驗室研究與探索,2011,30(6):316-318.
[2]楊宇紅,袁焱,田礫,陳大華,李安琪.基于軟件無線電平臺的通信實驗教[J].實驗室研究與探索,2015,34(4):186-188.
[3]趙曉群,張潔.巴特沃斯低通濾波器的實現方法研究[J].大連民族學院學報,2013,15(1):72-75.
[4]劉志華,郭付才,彭新偉,陳吉東.基于CY7C68013A的FPGA配置和通信接口設計[J].電子技術應用,2013,39(2):18-21.