基于DSP的調(diào)頻調(diào)制器設(shè)計
軟件無線電的基本思想是以開放的、可擴展的、結(jié)構(gòu)最簡的硬件為通用平臺,把盡可能多通信功能用可升級、可替換軟件來實現(xiàn)。其中心思想是:構(gòu)造一個具有標(biāo)準(zhǔn)化、模塊化的通用硬件平臺,并通過軟件加載實現(xiàn)各種無線通信功能的一種開放式體系結(jié)構(gòu)。本文基于這一思想,首先構(gòu)造一個DSP與PC機接口的硬件平臺,繼而在該平臺上實現(xiàn)較為簡單的FM調(diào)制器。該系統(tǒng)的實現(xiàn)為以后研究基于軟件無線電其他制式的調(diào)制解調(diào)器提供了基本平臺。
1 系統(tǒng)原理
本系統(tǒng)以TMS320VC5402數(shù)字信號處理器(DSP)為核心搭建硬件平臺,在DSP中編程實現(xiàn)FM調(diào)制。系統(tǒng)最大的特點是采用通用計算機與DSP處理單元相結(jié)合的方案,系統(tǒng)中各種人機接口及控制功能、存儲顯示功能由PC機完成,而各種實時任務(wù)交給DSP完成,充分發(fā)揮DSP的高速處理能力及PC機的靈活性。
1.1 系統(tǒng)結(jié)構(gòu)
該系統(tǒng)結(jié)構(gòu)如圖1所示。他是由DSP實驗箱及PC人機接口控制前臺組成。其中實驗箱的DSP微處理器芯片為核心,外接射頻發(fā)射模塊及DSP外圍硬件設(shè)備,外部調(diào)制信號經(jīng)過低通濾波器后,濾除高頻噪聲,然后經(jīng)過A/D轉(zhuǎn)換把模擬信號轉(zhuǎn)換成離散序列后進入DSP進行調(diào)頻處理。在硬件中通過HPI(主機接口)實現(xiàn)DSP與PC實時通信。在PC機中用軟件設(shè)計了控制顯示平臺,實現(xiàn)對硬件處理的控制及顯示,用戶可以在軟件平臺前面板中輸入數(shù)據(jù)選擇調(diào)制參數(shù),并通過數(shù)據(jù)通信接口將數(shù)據(jù)讀人PC機,在顯示平臺中以圖形方式實時顯示數(shù)據(jù)結(jié)果。
1.2主機通信接口設(shè)計
TI的C5000系列的DSP都有主機接口(Host PortInterface,HPI),用于DSP和主機之間的通信,組成主從結(jié)構(gòu)的系統(tǒng)。采用這種通信方式,完全沒有硬件和軟件開銷,而是由DSP自身的硬件來協(xié)調(diào)沖突,從而不會打斷DSP正常程序的運行。在HPI通信方式下,DSP的片內(nèi)存儲器對外界完全透明,由主機通過訪問HPI的地址和數(shù)據(jù)寄存器來完成對DSP片內(nèi)存儲器的讀寫。以PC機為主機,通過HPI來監(jiān)控DSP的運行可以充分利用PC機上豐富的資源,組成完整的主從結(jié)構(gòu)的系統(tǒng)。
C5000系列DSP的主機接口(HPI)主要有三種:標(biāo)準(zhǔn)的8位HPI、增強型的8位的HPI8和16位的HPI16。HPI接口提供了DSP加載自啟動的一種方式和主機的實時控制DSP的途徑。TMS320VC5402的主機接口是增強型的8位HPID。相對于只能訪問DSP中2 kB片上存儲空間的標(biāo)準(zhǔn)的HPI,增強型的HPI8能訪問DSP的所有的片上存儲器。
PC機使用并口和DSP的HPI相連,如圖2所示,HPI8的信號線分為3組:8位的數(shù)據(jù)信號,4個控制信號和2個狀態(tài)信號??刂菩盘栔校琀DS1,HDS2和HCS是片選信號,負(fù)責(zé)鎖存HBIL,HCNTL0,HCNTL1,HR/W狀態(tài)。HCNTL0和HCNTL1控制信號用于選擇HPI的寄存器,主機和DSP之間的通信正是通過這4個寄存器的讀寫來完成的。
2軟件設(shè)計
2.1 軟件結(jié)構(gòu)
軟件結(jié)構(gòu)如圖3所示。建立PC機軟件控制顯示平臺的目的就是要實現(xiàn)前臺軟件與底層硬件連接。系統(tǒng)運行后PC機執(zhí)行應(yīng)用程序,加載算法到DSP端,并將需要處理的數(shù)據(jù)傳送到DSP,計算完成后將數(shù)據(jù)傳回PC,整個過程由PC來控制啟動、處理、結(jié)束等,這樣軟件結(jié)構(gòu)中需要有控制顯示的可視化用戶界面,同時軟件要與具體硬件連接則需要通過軟件接口程序來調(diào)用并口硬件驅(qū)動程序來完成。
2.2 DSP的調(diào)頻算法設(shè)計
系統(tǒng)要實現(xiàn)信號的調(diào)頻是通過DSP運算完成的,因此算法設(shè)計得是否合理將會影響到運算的效率。具體算法的設(shè)計思路如下:
(1)由模擬信號的調(diào)頻原理離散化后得到離散的數(shù)字信號表達式。
(2)將離散的數(shù)字信號表達式用泰勒級數(shù)展開,并依據(jù)DSP的運算精度確定展開的項數(shù)。
(3)分析展開式,將其整理成乘加迭代的形式。因為DSP的運算速度的優(yōu)勢是靠其多級流水線指令處理和乘加并行指令來實現(xiàn)的,如果算法中用到乘加并行的乘加指令的迭代運算,則效率將會得到很大提高。在本算法的迭代運算中使用MPYS指令,MPYS是乘減并行指令,即(ACC)-(PREG)=>(ACC)與(TREG)(data_memo-ry)=>(PREG)運算在一個指令周期內(nèi)同時執(zhí)行。
(4)由于TMS320VC5402是16位的定點DSP,為了運算的方便,把數(shù)值的范圍限制在(-1,1)之間,因此為了確保小數(shù)運算的正確,必須把乘積移位寄存器設(shè)為SPM=1,當(dāng)執(zhí)行了任何的乘法指令后,結(jié)果將裝入PREG中,當(dāng)數(shù)據(jù)再移出時,他會被左移一位以消除多余的小數(shù)位。同時在程序的編制過程中應(yīng)注意在定點DSP的乘法運算會產(chǎn)生溢出,因此初值都應(yīng)乘以0.8的系數(shù)。
2.3軟件接口程序
軟件接口程序設(shè)計的目的是在接口板的支持下,在各種MS的操作系統(tǒng)中,通過PC的并口(ECP模式PS/2子模式)操作DSP的HPI口,實現(xiàn)對HPI相關(guān)寄存器的讀寫,以及DSP芯片的復(fù)位。由于Win2000和WinXP不支持DOS的實模式,不能直接操作計算機端口,所以我們采用SST(Scientific Software Tools)的免費軟件DriverLINX實現(xiàn)。DriverLINX是SST開發(fā)的支持在各種Windows平臺下對硬件端口進行操作的免費軟件。軟件以動態(tài)鏈接庫(.dll)的形式提供,并提供方便函數(shù)接口。軟件接口程序應(yīng)該能提供完善的接口供上層軟件調(diào)用。我們設(shè)計接口函數(shù)的描述如下:
(1)并口的初始化
VOID InitPP(VOID);
(2)主機讀HPI口
BYTE HostRead(UINI、DeviceIndex,UINT Source-Reg,UINT ByteSequence);
(3)主機寫HPI口
VOID HostWrite(BYTE Data,UINT DeviceIndex,UDINT DestinationReg,UINT ByteSequence);
(4)主機置DSP復(fù)位信號為0,RESET=0,
BOOL ResetAssert();
(5)主機置DSP復(fù)位信號為1,RESET=1
BOOL ResetRelease();
2.4 可視化用戶程序
可視化用戶程序處于整個系統(tǒng)的最高層,他不僅負(fù)責(zé)用戶的交互界面,同時實現(xiàn)主機與DSP板通信的過程所涉及到一系列操作:即建立連接、復(fù)位實驗箱、復(fù)位DSP、打開HPI端口、加載程序、執(zhí)行讀寫操作、關(guān)閉HPI、最后關(guān)閉連接,這些操作依次執(zhí)行,所以在軟件設(shè)計時對程序采用順序結(jié)構(gòu)。
可視化用戶程序使用VC++6.0開發(fā),主要劃分成前臺和后臺兩大模塊。前臺模塊用于用戶交互,如調(diào)頻的調(diào)制系數(shù)、中心頻率的參數(shù)的設(shè)置以及運算結(jié)果的采樣顯示。前臺使用較為簡潔的對話框類編寫交互界面,輔以文本框、下拉選框和按扭控件實現(xiàn)。后臺模塊負(fù)責(zé)對DSP的控制和通信,同時把收到的數(shù)據(jù)處理成曲線圖形供前臺顯示。為了前臺的響應(yīng)更加流暢,本設(shè)計使用了多線程技術(shù),即前臺由主線程負(fù)責(zé),而后臺模塊由另外的一個工作線程負(fù)責(zé)。
3 結(jié) 語
本設(shè)計基于軟件無線電的軟件化思想實現(xiàn)了DSP調(diào)頻調(diào)制器,并且該系統(tǒng)帶有人機接口及控制顯示功能,將處理數(shù)據(jù)以圖形方式實時顯示出來便于觀察和分析。系統(tǒng)中各種人機接口及控制、存儲顯示功能由通用計算機來實現(xiàn),而數(shù)據(jù)采集及調(diào)制解調(diào)等實時處理任務(wù)交由DSP完成,充分發(fā)揮了通用計算機的靈活性和DSP的高速實時處理能力。如果在本系統(tǒng)的基礎(chǔ)上再編寫其他制式的DSP調(diào)制算法,即可實現(xiàn)多制式的發(fā)射臺。
評論