基于ADSP-BF533的數(shù)字通信信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)
3系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)中的微型計(jì)算機(jī)采用Windows 2000/XP操作系統(tǒng),其USB驅(qū)動(dòng)程序由DDK開(kāi)發(fā),控制應(yīng)用程序可通過(guò)VS2005進(jìn)行開(kāi)發(fā)。計(jì)算機(jī)可根據(jù)用戶的輸入?yún)?shù)產(chǎn)生2ASK、2FSK、8FSK、2PSK、2DPSK、QPSK、QDPSK等通信信號(hào)或者它們幾種混合的通信環(huán)境信號(hào),窄帶高斯白噪聲和噪聲干擾、局部頻帶干擾、梳狀干擾、相關(guān)干擾信號(hào).并可將數(shù)據(jù)打包后通過(guò)USB接口發(fā)送到信號(hào)發(fā)生板卡。隨后由計(jì)算機(jī)通過(guò)發(fā)送控制命令字的方式來(lái)處理數(shù)據(jù),主要是開(kāi)始輸出波形、停止輸出波形,更新波形數(shù)據(jù),更新通信信號(hào)環(huán)境波形數(shù)據(jù),更新干擾/噪聲數(shù)據(jù),更新信噪比或干信比。
系統(tǒng)的軟件設(shè)計(jì)主要是針對(duì)BF533進(jìn)行編程。Blackfin系列DSP在軟件方面支持C語(yǔ)言和匯編語(yǔ)言,同時(shí)支持二者的混合編程。C語(yǔ)言程序結(jié)構(gòu)好、可讀性強(qiáng)、易移植,但對(duì)于中斷的處理速度慢。匯編語(yǔ)言處理速度快但可讀性差,不易調(diào)試。C和匯編混合編程結(jié)合了各自的優(yōu)勢(shì),能構(gòu)造出結(jié)構(gòu)好且執(zhí)行速度快的程序。本系統(tǒng)的軟件程序流程圖如圖3所示。另外,在編程過(guò)程中主要注意以下事項(xiàng):
(1)無(wú)論用C還是匯編,系統(tǒng)中只有一組相同的寄存器可供使用,因此要使用這些寄存器,子函數(shù)必須先保存,返回之前恢復(fù)。
(2)要嚴(yán)格按照寄存器的類型來(lái)使用,不同類型的寄存器不可混用。
(3)盡量節(jié)省寄存器資源。
(4)為了提高代碼運(yùn)行的速度,要善于使用并行指令。
在本系統(tǒng)中,中斷與DMA方式運(yùn)用較多,主要用到了PF中斷、MDMA中斷、SPI DMA中斷和PPI DMA中斷,系統(tǒng)中斷控制器可控制所有的系統(tǒng)中斷,并且管理他們的優(yōu)先級(jí)。DMA不需要內(nèi)核參入,在DMA運(yùn)行中內(nèi)核可以用于計(jì)算也可以響應(yīng)中斷。
系統(tǒng)上電后,DSP1先從Flash中讀取自身的加載代碼,然后再?gòu)腇lash中讀取DSP2的加載代碼通過(guò)SPI接口傳送到DSP2加載DSP2,最后再初始化系統(tǒng)時(shí)鐘、SDRAM、NET2272USB控制芯片,進(jìn)入等待微機(jī)用戶指令狀態(tài)。4
4 結(jié)束語(yǔ)
該數(shù)字通信信號(hào)發(fā)生器只需要在通用微機(jī)或者PC機(jī)上安裝軟件即可實(shí)現(xiàn),其成本低,效率高,實(shí)時(shí)性好,特別是在通信對(duì)抗信號(hào)源模擬方面,更是顯示了無(wú)可比擬的優(yōu)越性。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
評(píng)論