摘 要:基于軟件無(wú)線電的思想實(shí)現(xiàn)了基于DSP的調(diào)頻調(diào)制器。系統(tǒng)的硬件部分以TMS320VC5402數(shù)字信號(hào)處理器(DSP)為核心,并使用主機(jī)接口(HPI)和PC機(jī)實(shí)時(shí)通信;軟件部分由DSP算法程序和主機(jī)用戶程序兩部分組成,DSP算法程序負(fù)責(zé)完成信號(hào)調(diào)制等實(shí)時(shí)處理,主機(jī)用戶程序負(fù)責(zé)完成對(duì)DSP的控制和通信以及用戶交互。該系統(tǒng)充分發(fā)揮了通用計(jì)算機(jī)的靈活性和DSP的高速實(shí)時(shí)處理能力。
關(guān)鍵詞:DSP;TMS320VC5402;主機(jī)接口(HPI);軟件無(wú)線電
中圖分類號(hào):TN9113文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2008)07-056-03
Design of Frequency Modulation Modulator Based on DSP
FU Fa,YI Jiafu
(School of Information Science and Technology,Hainan University,Haikou,570228,China)
Abstract:This design of frequency modulation modulator based on DSP uses SDR.The system hardware partially takes the TMS320VC5402 Digital Signal Processor(DSP) as a core,and uses Host Port Interface(HPI) and PC real-time communication.Software is composed by the DSP algorithm procedure and the host user program,the DSP algorithm procedure responsibly completes the signal modulation and so on the real-time processing,the host user program responsibly completes to DSP the control and the correspondence as well as the user interactive.This system has fully displayed the PC flexibility and the DSP high speed real-time processing ability.
Keywords:Digital Signal Processor (DSP);TMS320VC5402;Host Port Interface (HPI);SDR
軟件無(wú)線電的基本思想是以開放的、可擴(kuò)展的、結(jié)構(gòu)最簡(jiǎn)的硬件為通用平臺(tái),把盡可能多通信功能用可升級(jí)、可替換軟件來(lái)實(shí)現(xiàn)。其中心思想是:構(gòu)造一個(gè)具有標(biāo)準(zhǔn)化、模塊化的通用硬件平臺(tái),并通過軟件加載實(shí)現(xiàn)各種無(wú)線通信功能的一種開放式體系結(jié)構(gòu)。本文基于這一思想,首先構(gòu)造一個(gè)DSP與PC機(jī)接口的硬件平臺(tái),繼而在該平臺(tái)上實(shí)現(xiàn)較為簡(jiǎn)單的FM調(diào)制器。該系統(tǒng)的實(shí)現(xiàn)為以后研究基于軟件無(wú)線電其他制式的調(diào)制解調(diào)器提供了基本平臺(tái)。
1 系統(tǒng)原理
本系統(tǒng)以TMS320VC5402數(shù)字信號(hào)處理器(DSP)為核心搭建硬件平臺(tái),在DSP中編程實(shí)現(xiàn)FM調(diào)制。系統(tǒng)最大的特點(diǎn)是采用通用計(jì)算機(jī)與DSP處理單元相結(jié)合的方案,系統(tǒng)中各種人機(jī)接口及控制功能、存儲(chǔ)顯示功能由PC機(jī)完成,而各種實(shí)時(shí)任務(wù)交給DSP完成,充分發(fā)揮DSP的高速處理能力及PC機(jī)的靈活性。
1.1 系統(tǒng)結(jié)構(gòu)
該系統(tǒng)結(jié)構(gòu)如圖1所示。他是由DSP實(shí)驗(yàn)箱及PC人機(jī)接口控制前臺(tái)組成。其中實(shí)驗(yàn)箱的DSP微處理器芯片為核心,外接射頻發(fā)射模塊及DSP外圍硬件設(shè)備,外部調(diào)制信號(hào)經(jīng)過低通濾波器后,濾除高頻噪聲,然后經(jīng)過A/D轉(zhuǎn)換把模擬信號(hào)轉(zhuǎn)換成離散序列后進(jìn)入DSP進(jìn)行調(diào)頻處理。在硬件中通過HPI(主機(jī)接口)實(shí)現(xiàn)DSP與PC實(shí)時(shí)通信。在PC機(jī)中用軟件設(shè)計(jì)了控制顯示平臺(tái),實(shí)現(xiàn)對(duì)硬件處理的控制及顯示,用戶可以在軟件平臺(tái)前面板中輸入數(shù)據(jù)選擇調(diào)制參數(shù),并通過數(shù)據(jù)通信接口將數(shù)據(jù)讀入PC機(jī),在顯示平臺(tái)中以圖形方式實(shí)時(shí)顯示數(shù)據(jù)結(jié)果。
1.2 主機(jī)通信接口設(shè)計(jì)
TI的C5000系列的DSP都有主機(jī)接口 (Host Port Interface,HPI),用于DSP和主機(jī)之間的通信,組成主從結(jié)構(gòu)的系統(tǒng)。采用這種通信方式,完全沒有硬件和軟件開銷,而是由DSP自身的硬件來(lái)協(xié)調(diào)沖突,從而不會(huì)打斷DSP正常程序的運(yùn)行。在HPI通信方式下,DSP的片內(nèi)存儲(chǔ)器對(duì)外界完全透明,由主機(jī)通過訪問HPI的地址和數(shù)據(jù)寄存器來(lái)完成對(duì)DSP片內(nèi)存儲(chǔ)器的讀寫。以PC機(jī)為主機(jī),通過HPI來(lái)監(jiān)控DSP的運(yùn)行可以充分利用PC機(jī)上豐富的資源,組成完整的主從結(jié)構(gòu)的系統(tǒng)。
C5000系列DSP的主機(jī)接口(HPI)主要有三種:標(biāo)準(zhǔn)的8位HPI、增強(qiáng)型的8位的HPI8和16位的HPI16。HPI接口提供了DSP加載自啟動(dòng)的一種方式和主機(jī)的實(shí)時(shí)控制DSP的途徑。TMS320VC5402的主機(jī)接口是增強(qiáng)型的8位HPI8。相對(duì)于只能訪問DSP中2 kB片上存儲(chǔ)空間的標(biāo)準(zhǔn)的HPI,增強(qiáng)型的HPI8能訪問DSP的所有的片上存儲(chǔ)器。
PC機(jī)使用并口和DSP的HPI相連,如圖2所示,HPI8的信號(hào)線分為3組:8位的數(shù)據(jù)信號(hào),4個(gè)控制信號(hào)和2個(gè)狀態(tài)信號(hào)??刂菩盘?hào)中,HDSl,HDS2和HCS是片選信號(hào),負(fù)責(zé)鎖存HBIL,HCNTL0,HCNTL1,HR/W狀態(tài)。HCNTL0和HCNTL1控制信號(hào)用于選擇HPI的寄存器,主機(jī)和DSP之間的通信正是通過這4個(gè)寄存器的讀寫來(lái)完成的。
2 軟件設(shè)計(jì)
2.1 軟件結(jié)構(gòu)
軟件結(jié)構(gòu)如圖3所示。建立PC機(jī)軟件控制顯示平臺(tái)的目的就是要實(shí)現(xiàn)前臺(tái)軟件與底層硬件連接。系統(tǒng)運(yùn)行后PC機(jī)執(zhí)行應(yīng)用程序,加載算法到DSP端,并將需要處理的數(shù)據(jù)傳送到DSP,計(jì)算完成后將數(shù)據(jù)傳回PC,整個(gè)過程由PC來(lái)控制啟動(dòng)、處理、結(jié)束等,這樣軟件結(jié)構(gòu)中需要有控制顯示的可視化用戶界面,同時(shí)軟件要與具體硬件連接則需要通過軟件接口程序來(lái)調(diào)用并口硬件驅(qū)動(dòng)程序來(lái)完成。
2.2 DSP的調(diào)頻算法設(shè)計(jì)
系統(tǒng)要實(shí)現(xiàn)信號(hào)的調(diào)頻是通過DSP運(yùn)算完成的,因此算法設(shè)計(jì)得是否合理將會(huì)影響到運(yùn)算的效率。具體算法的設(shè)計(jì)思路如下:
(1) 由模擬信號(hào)的調(diào)頻原理離散化后得到離散的數(shù)字信號(hào)表達(dá)式。
(2) 將離散的數(shù)字信號(hào)表達(dá)式用泰勒級(jí)數(shù)展開,并依據(jù)DSP的運(yùn)算精度確定展開的項(xiàng)數(shù)。
(3) 分析展開式,將其整理成乘加迭代的形式。因?yàn)镈SP的運(yùn)算速度的優(yōu)勢(shì)是靠其多級(jí)流水線指令處理和乘加并行指令來(lái)實(shí)現(xiàn)的,如果算法中用到乘加并行的乘加指令的迭代運(yùn)算,則效率將會(huì)得到很大提高。在本算法的迭代運(yùn)算中使用 MPYS 指令,MPYS 是乘減并行指令,即(ACC)-(PREG)=>(ACC)與(TREG)×(data_memory)=> (PREG)運(yùn)算在一個(gè)指令周期內(nèi)同時(shí)執(zhí)行。
(4) 由于TMS320VC5402是16位的定點(diǎn)DSP,為了運(yùn)算的方便,把數(shù)值的范圍限制在(-1,1)之間,因此為了確保小數(shù)運(yùn)算的正確,必須把乘積移位寄存器設(shè)為 SPM=1,當(dāng)執(zhí)行了任何的乘法指令后,結(jié)果將裝入PREG中,當(dāng)數(shù)據(jù)再移出時(shí),他會(huì)被左移一位以消除多余的小數(shù)位。同時(shí)在程序的編制過程中應(yīng)注意在定點(diǎn)DSP的乘法運(yùn)算會(huì)產(chǎn)生溢出,因此初值都應(yīng)乘以08的系數(shù)。
2.3 軟件接口程序
軟件接口程序設(shè)計(jì)的目的是在接口板的支持下,在各種MS的操作系統(tǒng)中,通過PC的并口(ECP模式PS/2子模式)操作DSP的HPI口,實(shí)現(xiàn)對(duì)HPI相關(guān)寄存器的讀寫,以及DSP芯片的復(fù)位。由于Win2000和WinXP不支持DOS的實(shí)模式,不能直接操作計(jì)算機(jī)端口,所以我們采用SST(Scientific Software Tools)的免費(fèi)軟件DriverLINX實(shí)現(xiàn)。DriverLINX是SST開發(fā)的支持在各種Windows平臺(tái)下對(duì)硬件端口進(jìn)行操作的免費(fèi)軟件。軟件以動(dòng)態(tài)鏈接庫(kù)(.dll) 的形式提供,并提供方便函數(shù)接口。軟件接口程序應(yīng)該能提供完善的接口供上層軟件調(diào)用。我們?cè)O(shè)計(jì)接口函數(shù)的描述如下:
(1) 并口的初始化
VOID InitPP(VOID);
(2) 主機(jī)讀HPI口
BYTE HostRead(UINT DeviceIndex,UINT SourceReg,UINT ByteSequence);
(3) 主機(jī)寫HPI口
VOID HostWrite(BYTE Data,UINT DeviceIndex,UDINT DestinationReg,UINT ByteSequence);
(4) 主機(jī)置DSP復(fù)位信號(hào)為0,RESET=0
BOOL ResetAssert( );
(5) 主機(jī)置DSP復(fù)位信號(hào)為1,RESET=1
BOOL ResetRelease( );
2.4 可視化用戶程序
可視化用戶程序處于整個(gè)系統(tǒng)的最高層,他不僅負(fù)責(zé)用戶的交互界面,同時(shí)實(shí)現(xiàn)主機(jī)與DSP板通信的過程所涉及到一系列操作:即建立連接、復(fù)位實(shí)驗(yàn)箱、復(fù)位DSP、打開HPI端口、加載程序、執(zhí)行讀寫操作、關(guān)閉HPI、最后關(guān)閉連接,這些操作依次執(zhí)行,所以在軟件設(shè)計(jì)時(shí)對(duì)程序采用順序結(jié)構(gòu)。
可視化用戶程序使用VC++60開發(fā),主要?jiǎng)澐殖汕芭_(tái)和后臺(tái)兩大模塊。前臺(tái)模塊用于用戶交互,如調(diào)頻的調(diào)制系數(shù)、中心頻率的參數(shù)的設(shè)置以及運(yùn)算結(jié)果的采樣顯示。前臺(tái)使用較為簡(jiǎn)潔的對(duì)話框類編寫交互界面,輔以文本框、下拉選框和按扭控件實(shí)現(xiàn)。后臺(tái)模塊負(fù)責(zé)對(duì)DSP的控制和通信,同時(shí)把收到的數(shù)據(jù)處理成曲線圖形供前臺(tái)顯示。為了前臺(tái)的響應(yīng)更加流暢,本設(shè)計(jì)使用了多線程技術(shù),即前臺(tái)由主線程負(fù)責(zé),而后臺(tái)模塊由另外的一個(gè)工作線程負(fù)責(zé)。
3 結(jié) 語(yǔ)
本設(shè)計(jì)基于軟件無(wú)線電的軟件化思想實(shí)現(xiàn)了DSP調(diào)頻調(diào)制器,并且該系統(tǒng)帶有人機(jī)接口及控制顯示功能,將處理數(shù)據(jù)以圖形方式實(shí)時(shí)顯示出來(lái)便于觀察和分析。系統(tǒng)中各種人機(jī)接口及控制、存儲(chǔ)顯示功能由通用計(jì)算機(jī)來(lái)實(shí)現(xiàn),而數(shù)據(jù)采集及調(diào)制解調(diào)等實(shí)時(shí)處理任務(wù)交由DSP完成,充分發(fā)揮了通用計(jì)算機(jī)的靈活性和DSP的高速實(shí)時(shí)處理能力。如果在本系統(tǒng)的基礎(chǔ)上再編寫其他制式的DSP調(diào)制算法,即可實(shí)現(xiàn)多制式的發(fā)射臺(tái)。
參 考 文 獻(xiàn)
[1]管慶,向超,楊煉,等.DSP54XX超強(qiáng)型仿真/教學(xué)實(shí)驗(yàn)系統(tǒng)使用與實(shí)驗(yàn)指導(dǎo)[M].成都:電子科技大學(xué)德州儀器DSPs技術(shù)/培訓(xùn)中心,2004.
[2]柯建偉,周嘉農(nóng),姚雪峰,等.DSP主機(jī)接口和PC機(jī)并行接口的接口電路的設(shè)計(jì) [J].電子質(zhì)量,2004(04):1-3
[3]Texas Instruments.TMS320C54x DSP CPU and Peripherals.Texas USA.Texas Instruments Incorporated,2000:8-54.
[4]鄧思豪,曾春年.C54X DSP的HPI與PC機(jī)并口技術(shù)研究[J].電子產(chǎn)品世界,2002(14):66-68.
[5]邵蔚,吳開杰,李剛.′54x系列DSP與計(jì)算機(jī)并口通信的設(shè)計(jì)方案[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002(3):23-26.
[6]洪艷.基于PCI總線的DSP數(shù)據(jù)處理系統(tǒng)的研究[D].哈爾濱:哈爾濱工程大學(xué),2004.
[7]閆俊.基于DSP數(shù)據(jù)調(diào)制研究與實(shí)現(xiàn)[D].大連:大連海事大學(xué),2004.
作者簡(jiǎn)介 符 發(fā) 男,1978年出生,海南文昌人,助理實(shí)驗(yàn)師。主要從事DSP、計(jì)算機(jī)網(wǎng)絡(luò)的研究。