ADSP-BF533應(yīng)用于數(shù)字通信信號發(fā)生器
0 引言
在通信對抗的研究中,要想模擬出真實數(shù)字通信信號場景,數(shù)字通信信號發(fā)生器是不可或缺的儀器。而市面上的通信信號發(fā)生器價格十分昂貴,功能也比較簡單。而且這類通信信號發(fā)生器的輸出碼元不可控,信噪比及干信比也不能動態(tài)調(diào)節(jié),因此無法模擬多種調(diào)制類型通信信號的混合環(huán)境,用作通信對抗系統(tǒng)的性能測試信號源極為不便。所以開展高精度通信信號及噪聲干擾波形的重構(gòu)方法研究工作,具有重要的理論意義和實用價值。
1 ADSP-BF533芯片簡介
ADSP-BF533是Blackfin系列的中高性能產(chǎn)品,專門針對多媒體(特別是視頻處理)和通信方面的各種應(yīng)用。其內(nèi)部包含2個乘/累加器(MAC),2個40位的ALU,4個視頻ALU和1個40位移位器。BF533內(nèi)核工作時鐘可高達600 MHz。運算單元處理來自寄存器組的8位、16位或者32位數(shù)據(jù)。
BF533的每個MAC每周期可完成一個16位乘16位的乘法運算,并可把結(jié)果累加到40位的累加器中,同時可提供8位的精度擴展。其ALU單元執(zhí)行標(biāo)準(zhǔn)的算術(shù)和邏輯運算,兩個ALU可處理16或32位的數(shù)據(jù),運算單元具有很大的靈活性.因此可以滿足各種應(yīng)用中信號處理的要求。
ADSP-BF533把存儲器視為一個統(tǒng)一的4GBytes的地址空間。所有的資源,包括內(nèi)部存儲器、外部存儲器和I/O控制寄存器,都占據(jù)公共地址空間中相應(yīng)的部分,并且相互獨立。此地址空間的各部分存儲器按分級結(jié)構(gòu)排列,以提供高性能價格比。高速、低延遲、小容量的存儲器(如CACHE或SRAM)的位置非常接近處理器,而低速、高延遲、大容量、低成本的存儲器(如SDRAM或Flash)遠(yuǎn)離處理器。
BF533內(nèi)的L1存儲器是內(nèi)核中性能最高最重要的存儲器;L2存儲器用以提供額外的存儲能力,性能較低:片外存儲系統(tǒng)通過外部總線接口單元(EBIU)進行訪問;異步存儲器單元可以連接4個異步存儲器bank或IO接口,每個bank可支持最大1MBytes物理尋址空問;同步存儲器單元可以由SDRAM進行擴展,可以訪問多達128MBytes的物理存儲空間;存儲器的DMA控制器提供高帶寬的數(shù)據(jù)傳輸能力,能夠在內(nèi)部L1/L2存儲器和外部存儲器空間之間完成代碼或數(shù)據(jù)的塊傳輸。
另外,ADSP-BF533還提供一個可直接與并行A/D和D/A轉(zhuǎn)換器、符合ITU-656標(biāo)準(zhǔn)的視頻編碼和解碼器以及其它通用外設(shè)連接的并行接口(PPI)。PPI包括一個專用時鐘引腳、多達3個幀同步引腳和多達16個數(shù)據(jù)引腳。PPI的通用模式分為4種主要的工作方式,即:內(nèi)部產(chǎn)生幀同步中信號的數(shù)據(jù)接收,外部產(chǎn)生幀同步信號的數(shù)據(jù)接收,內(nèi)部產(chǎn)生幀同步信號的數(shù)據(jù)發(fā)送,外部產(chǎn)生幀同步信號的數(shù)據(jù)發(fā)送。每種每個PPI_CLK時鐘周期可傳送高達16 bits的數(shù)據(jù),廣泛應(yīng)用于各種數(shù)據(jù)采集和數(shù)據(jù)傳輸?shù)膱龊稀?br />
2系統(tǒng)硬件設(shè)計
數(shù)字通信信號發(fā)生器系統(tǒng)分為兩大模塊:微型計算機模塊和波形產(chǎn)生模塊。其中微型計算機為通用計算機或PC,波形發(fā)生模塊為設(shè)計的信號發(fā)生板卡。圖1所示為系統(tǒng)總體框圖。
通用微型計算機首先根據(jù)用戶輸入的參數(shù).分別產(chǎn)生各種類型的數(shù)字調(diào)制信號和高斯窄帶白噪聲及各種類型的干擾信號,然后將數(shù)據(jù)通過USB接口傳送到信號發(fā)生板卡。信號發(fā)生板卡再通過波形產(chǎn)生控制器循環(huán)取出通信波形存儲器和干擾/噪聲存儲器中的數(shù)據(jù),最后通過DAC產(chǎn)生連續(xù)的數(shù)字通信信號波形。圖2所示為系統(tǒng)硬件設(shè)計框圖。
硬件設(shè)計中的DSP1為整個系統(tǒng)的核心,可直接和微型計算機通信,并且控制著DSP2的加載和運行。DSP1的加載方式為BMODE 01方式,從外部Flash加載;DSP2為BMODE 10方式,通過SlaveSPI接口加載。
DSP1首先接收微型計算機通過USB接口傳送的波形數(shù)據(jù)包,并將數(shù)據(jù)包中的通信波形或通信環(huán)境波形數(shù)據(jù)以MDMA方式傳送到通信/通信信號環(huán)境波形數(shù)據(jù)存儲器(SDRAM1)。同時將噪聲數(shù)據(jù)以SPI MDA方式傳送到DSP2的內(nèi)部RAM中,然后在DSP2接收后,將噪聲/干擾數(shù)據(jù)以MDMA方式分別存儲到噪聲/干擾數(shù)據(jù)存儲段(SDRAM2)內(nèi)。DSP1通過SPI非DMA方式傳送信噪比/干信比參數(shù)到DSP2的內(nèi)部RAM中。其中通信數(shù)據(jù)的高位(D15)為基帶碼流數(shù)據(jù),D14為同步信號,用于測試基帶碼流。
系統(tǒng)中,所有波形參數(shù)的采樣頻率為10MHz,數(shù)據(jù)容量為16 M×16位,可存儲1.5秒鐘的波形數(shù)據(jù)。數(shù)據(jù)有效位數(shù)為14位。DSP1通過PPIDMA方式直接從SDRAM1中循環(huán)讀取通信波形數(shù)據(jù)傳送給DAC1,產(chǎn)生通信波形。DSP2利用程序產(chǎn)生隨機地址,得到MDAM0的起始地址,然后將存儲的噪聲波形數(shù)據(jù)從SDRAM2中讀入DSP2內(nèi)部RAM中,并且根據(jù)信噪比在內(nèi)部RAM中進行幅度加權(quán),然后通過PPI DMA傳送給DAC2,產(chǎn)生噪聲波形。若包含干擾信號,DSP2需要通過MD-MAl將干擾數(shù)據(jù)讀入內(nèi)部RAM,并根據(jù)干信比在內(nèi)部RAM中進行幅度加權(quán),然后和噪聲疊加,再通過PPI DMA輸出到DAC2來產(chǎn)生干擾與噪聲的混合波形。其中PPI時鐘PPI_CLK信號均由各DSP的定時器產(chǎn)生。
兩個DAC的位數(shù)是14位,并且設(shè)置為4倍插值方式,即DAC輸入數(shù)據(jù)率為10MSPS,輸出轉(zhuǎn)換速率為40MSPS。DAC轉(zhuǎn)換需要的時鐘與PPI_CLK共用,DAC連接在BF533PPI總線的低14位PPI13~PPI0?;鶐Тa流通過DSPl的PPI15引腳輸出,同步信號通過DSP1的PPI14引腳輸出,經(jīng)過74AC11244驅(qū)動輸出波形。
DAC輸出的模擬信號后經(jīng)過AD8054緩沖放大,再經(jīng)信號和噪聲合成后分為兩路,可作為測試波形和信號源。
若需要模擬通信信號環(huán)境,需要在微型計算機中計算多種信號的疊加數(shù)據(jù),然后傳送到通信/通信信號環(huán)境數(shù)據(jù)存儲器(SDRAM1)中,其它過程均與通信方式相同。此模式下不能測試基帶碼流,但仍可測試同步信號。[!--empirenews.page--]
3系統(tǒng)軟件設(shè)計
系統(tǒng)中的微型計算機采用Windows 2000/XP操作系統(tǒng),其USB驅(qū)動程序由DDK開發(fā),控制應(yīng)用程序可通過VS2005進行開發(fā)。計算機可根據(jù)用戶的輸入?yún)?shù)產(chǎn)生2ASK、2FSK、8FSK、2PSK、2DPSK、QPSK、QDPSK等通信信號或者它們幾種混合的通信環(huán)境信號,窄帶高斯白噪聲和噪聲干擾、局部頻帶干擾、梳狀干擾、相關(guān)干擾信號.并可將數(shù)據(jù)打包后通過USB接口發(fā)送到信號發(fā)生板卡。隨后由計算機通過發(fā)送控制命令字的方式來處理數(shù)據(jù),主要是開始輸出波形、停止輸出波形,更新波形數(shù)據(jù),更新通信信號環(huán)境波形數(shù)據(jù),更新干擾/噪聲數(shù)據(jù),更新信噪比或干信比。
系統(tǒng)的軟件設(shè)計主要是針對BF533進行編程。Blackfin系列DSP在軟件方面支持C語言和匯編語言,同時支持二者的混合編程。C語言程序結(jié)構(gòu)好、可讀性強、易移植,但對于中斷的處理速度慢。匯編語言處理速度快但可讀性差,不易調(diào)試。C和匯編混合編程結(jié)合了各自的優(yōu)勢,能構(gòu)造出結(jié)構(gòu)好且執(zhí)行速度快的程序。本系統(tǒng)的軟件程序流程圖如圖3所示。另外,在編程過程中主要注意以下事項:
(1)無論用C還是匯編,系統(tǒng)中只有一組相同的寄存器可供使用,因此要使用這些寄存器,子函數(shù)必須先保存,返回之前恢復(fù)。
(2)要嚴(yán)格按照寄存器的類型來使用,不同類型的寄存器不可混用。
(3)盡量節(jié)省寄存器資源。
(4)為了提高代碼運行的速度,要善于使用并行指令。
在本系統(tǒng)中,中斷與DMA方式運用較多,主要用到了PF中斷、MDMA中斷、SPI DMA中斷和PPI DMA中斷,系統(tǒng)中斷控制器可控制所有的系統(tǒng)中斷,并且管理他們的優(yōu)先級。DMA不需要內(nèi)核參入,在DMA運行中內(nèi)核可以用于計算也可以響應(yīng)中斷。
系統(tǒng)上電后,DSP1先從Flash中讀取自身的加載代碼,然后再從Flash中讀取DSP2的加載代碼通過SPI接口傳送到DSP2加載DSP2,最后再初始化系統(tǒng)時鐘、SDRAM、NET2272USB控制芯片,進入等待微機用戶指令狀態(tài)。4
4 結(jié)束語
該數(shù)字通信信號發(fā)生器只需要在通用微機或者PC機上安裝軟件即可實現(xiàn),其成本低,效率高,實時性好,特別是在通信對抗信號源模擬方面,更是顯示了無可比擬的優(yōu)越性。