新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的調(diào)頻調(diào)制器設(shè)計(jì)

基于DSP的調(diào)頻調(diào)制器設(shè)計(jì)

作者: 時(shí)間:2008-06-20 來源:網(wǎng)絡(luò) 收藏

軟件無線電的基本思想是以開放的、可擴(kuò)展的、結(jié)構(gòu)最簡的硬件為通用平臺,把盡可能多通信功能用可升級、可替換軟件來實(shí)現(xiàn)。其中心思想是:構(gòu)造一個(gè)具有標(biāo)準(zhǔn)化、模塊化的通用硬件平臺,并通過軟件加載實(shí)現(xiàn)各種無線通信功能的一種開放式體系結(jié)構(gòu)。本文這一思想,首先構(gòu)造一個(gè)與PC機(jī)接口的硬件平臺,繼而在該平臺上實(shí)現(xiàn)較為簡單的FM。該系統(tǒng)的實(shí)現(xiàn)為以后研究軟件無線電其他制式的調(diào)制解調(diào)器提供了基本平臺。

1 系統(tǒng)原理

本系統(tǒng)以TMS320VC5402數(shù)字信號處理器()為核心搭建硬件平臺,在中編程實(shí)現(xiàn)FM調(diào)制。系統(tǒng)最大的特點(diǎn)是采用通用計(jì)算機(jī)與DSP處理單元相結(jié)合的方案,系統(tǒng)中各種人機(jī)接口及控制功能、存儲顯示功能由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ī)接口控制前臺組成。其中實(shí)驗(yàn)箱的DSP微處理器芯片為核心,外接射頻發(fā)射模塊及DSP外圍硬件設(shè)備,外部調(diào)制信號經(jīng)過低通濾波器后,濾除高頻噪聲,然后經(jīng)過A/D轉(zhuǎn)換把模擬信號轉(zhuǎn)換成離散序列后進(jìn)入DSP進(jìn)行處理。在硬件中通過HPI(主機(jī)接口)實(shí)現(xiàn)DSP與PC實(shí)時(shí)通信。在PC機(jī)中用軟件了控制顯示平臺,實(shí)現(xiàn)對硬件處理的控制及顯示,用戶可以在軟件平臺前面板中輸入數(shù)據(jù)選擇調(diào)制參數(shù),并通過數(shù)據(jù)通信接口將數(shù)據(jù)讀人PC機(jī),在顯示平臺中以圖形方式實(shí)時(shí)顯示數(shù)據(jù)結(jié)果。

1.2主機(jī)通信接口

TI的C5000系列的DSP都有主機(jī)接口(Host PortInterface,HPI),用于DSP和主機(jī)之間的通信,組成主從結(jié)構(gòu)的系統(tǒng)。采用這種通信方式,完全沒有硬件和軟件開銷,而是由DSP自身的硬件來協(xié)調(diào)沖突,從而不會打斷DSP正常程序的運(yùn)行。在HPI通信方式下,DSP的片內(nèi)存儲器對外界完全透明,由主機(jī)通過訪問HPI的地址和數(shù)據(jù)寄存器來完成對DSP片內(nèi)存儲器的讀寫。以PC機(jī)為主機(jī),通過HPI來監(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位HPID。相對于只能訪問DSP中2 kB片上存儲空間的標(biāo)準(zhǔn)的HPI,增強(qiáng)型的HPI8能訪問DSP的所有的片上存儲器。

PC機(jī)使用并口和DSP的HPI相連,如圖2所示,HPI8的信號線分為3組:8位的數(shù)據(jù)信號,4個(gè)控制信號和2個(gè)狀態(tài)信號??刂菩盘栔?,HDS1,HDS2和HCS是片選信號,負(fù)責(zé)鎖存HBIL,HCNTL0,HCNTL1,HR/W狀態(tài)。HCNTL0和HCNTL1控制信號用于選擇HPI的寄存器,主機(jī)和DSP之間的通信正是通過這4個(gè)寄存器的讀寫來完成的。

2軟件

2.1 軟件結(jié)構(gòu)

軟件結(jié)構(gòu)如圖3所示。建立PC機(jī)軟件控制顯示平臺的目的就是要實(shí)現(xiàn)前臺軟件與底層硬件連接。系統(tǒng)運(yùn)行后PC機(jī)執(zhí)行應(yīng)用程序,加載算法到DSP端,并將需要處理的數(shù)據(jù)傳送到DSP,計(jì)算完成后將數(shù)據(jù)傳回PC,整個(gè)過程由PC來控制啟動(dòng)、處理、結(jié)束等,這樣軟件結(jié)構(gòu)中需要有控制顯示的可視化用戶界面,同時(shí)軟件要與具體硬件連接則需要通過軟件接口程序來調(diào)用并口硬件驅(qū)動(dòng)程序來完成。

2.2 DSP的算法設(shè)計(jì)

系統(tǒng)要實(shí)現(xiàn)信號的是通過DSP運(yùn)算完成的,因此算法設(shè)計(jì)得是否合理將會影響到運(yùn)算的效率。具體算法的設(shè)計(jì)思路如下:

(1)由模擬信號的調(diào)頻原理離散化后得到離散的數(shù)字信號表達(dá)式。

(2)將離散的數(shù)字信號表達(dá)式用泰勒級數(shù)展開,并依據(jù)DSP的運(yùn)算精度確定展開的項(xiàng)數(shù)。

(3)分析展開式,將其整理成乘加迭代的形式。因?yàn)镈SP的運(yùn)算速度的優(yōu)勢是靠其多級流水線指令處理和乘加并行指令來實(shí)現(xiàn)的,如果算法中用到乘加并行的乘加指令的迭代運(yùn)算,則效率將會得到很大提高。在本算法的迭代運(yùn)算中使用MPYS指令,MPYS是乘減并行指令,即(ACC)-(PREG)=>(ACC)與(TREG)(data_memo-ry)=>(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í),他會被左移一位以消除多余的小數(shù)位。同時(shí)在程序的編制過程中應(yīng)注意在定點(diǎn)DSP的乘法運(yùn)算會產(chǎn)生溢出,因此初值都應(yīng)乘以0.8的系數(shù)。

2.3軟件接口程序

軟件接口程序設(shè)計(jì)的目的是在接口板的支持下,在各種MS的操作系統(tǒng)中,通過PC的并口(ECP模式PS/2子模式)操作DSP的HPI口,實(shí)現(xiàn)對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平臺下對硬件端口進(jìn)行操作的免費(fèi)軟件。軟件以動(dòng)態(tài)鏈接庫(.dll)的形式提供,并提供方便函數(shù)接口。軟件接口程序應(yīng)該能提供完善的接口供上層軟件調(diào)用。我們設(shè)計(jì)接口函數(shù)的描述如下:

(1)并口的初始化
VOID InitPP(VOID);
(2)主機(jī)讀HPI口
BYTE HostRead(UINI、DeviceIndex,UINT Source-Reg,UINT ByteSequence);
(3)主機(jī)寫HPI口
VOID HostWrite(BYTE Data,UINT DeviceIndex,UDINT DestinationReg,UINT ByteSequence);
(4)主機(jī)置DSP復(fù)位信號為0,RESET=0,
BOOL ResetAssert();
(5)主機(jī)置DSP復(fù)位信號為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í)對程序采用順序結(jié)構(gòu)。

可視化用戶程序使用VC++6.0開發(fā),主要?jiǎng)澐殖汕芭_和后臺兩大模塊。前臺模塊用于用戶交互,如調(diào)頻的調(diào)制系數(shù)、中心頻率的參數(shù)的設(shè)置以及運(yùn)算結(jié)果的采樣顯示。前臺使用較為簡潔的對話框類編寫交互界面,輔以文本框、下拉選框和按扭控件實(shí)現(xiàn)。后臺模塊負(fù)責(zé)對DSP的控制和通信,同時(shí)把收到的數(shù)據(jù)處理成曲線圖形供前臺顯示。為了前臺的響應(yīng)更加流暢,本設(shè)計(jì)使用了多線程技術(shù),即前臺由主線程負(fù)責(zé),而后臺模塊由另外的一個(gè)工作線程負(fù)責(zé)。

3 結(jié) 語

本設(shè)計(jì)軟件無線電的軟件化思想實(shí)現(xiàn)了DSP調(diào)頻,并且該系統(tǒng)帶有人機(jī)接口及控制顯示功能,將處理數(shù)據(jù)以圖形方式實(shí)時(shí)顯示出來便于觀察和分析。系統(tǒng)中各種人機(jī)接口及控制、存儲顯示功能由通用計(jì)算機(jī)來實(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ā)射臺。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉