基于ADSP21160的數(shù)字信號處理系統(tǒng)設(shè)計
利用陣列信號進行信號的二維到達方向(DOA)估計是近些年來研究的熱點。現(xiàn)在,DOA估計雖然已經(jīng)達到相當(dāng)高的精度,但由于要進行大量的矩陣運算,必然要耗費一定的時間。在某些情況下,為保證系統(tǒng)的實時性,對系統(tǒng)的硬件的運算速度提出了一定的要求。此時,應(yīng)用高端的DSP通用芯片進行數(shù)據(jù)處理是一個不錯的選擇。本文使用ADI 公司的ADSP21160為主處理器搭建了信號處理硬件平臺,給出了對系統(tǒng)的構(gòu)思及具體電路設(shè)計,具有一定的實用價值。
ADSP21160采用超級哈佛結(jié)構(gòu),片內(nèi)有 4 套獨立的總線,分別用于雙數(shù)據(jù)存取、指令存取和輸入 /輸出接口,片內(nèi)集成了處理器核(包括運算單元、控制單元、地址產(chǎn)生器和總線、中斷、寄存器等)、大容量雙端口靜態(tài)存儲器、程序 /數(shù)據(jù)外部總線及多處理器接口、輸入 /輸出控制器等數(shù)字信息處理系統(tǒng)的主要功能塊。
硬件系統(tǒng)的設(shè)計思路
下面從數(shù)據(jù)的輸入輸出,系統(tǒng)的上電運行,系統(tǒng)的電源配置及電路控制等方面簡單介紹系統(tǒng)的設(shè)計思路。
1. 首先考慮數(shù)據(jù)傳輸。外部設(shè)備(接收機)通過50針接口將數(shù)據(jù)經(jīng) ADSP21160處理后轉(zhuǎn)換成串行數(shù)據(jù)輸出,傳遞給外設(shè)(控制器)及計算機。為了電路系統(tǒng)的保密性以及便于系統(tǒng)中一些邏輯控制電路的實現(xiàn),在ADSP21160和50針接口之間增加了一個CPLD控制電路。
2. 為了上電后系統(tǒng)可以自行運行,需要給DSP配置一個外接FLASH,并將計算程序預(yù)先燒寫FLASH中。通過配置ADSP21160的引導(dǎo)方式,系統(tǒng)上電后,ADSP21160可自動從FLASH中讀取程序并運行。
3. 由于ADSP21160只有4Mbit的內(nèi)部存儲空間,且等分為數(shù)據(jù)存儲空間和程序存儲空間兩部分.。為了系統(tǒng)及程序今后升級的方便,使用SRAM配置了512K×32位的外部存儲空間。
4. 由于ADSP21160的串行口不是通用的UART串口,而系統(tǒng)和計算機均要求串行數(shù)據(jù)輸出,故系統(tǒng)中需要一個并串轉(zhuǎn)換芯片來輸出運算結(jié)果。
5. 由于外部只提供+5V直流電源,而ADSP21160要求+3.3V的接口電源及2.5V的內(nèi)核電源,故系統(tǒng)內(nèi)部器件也相應(yīng)的盡量選擇+3.3V器件,故系統(tǒng)需要一個DC/DC轉(zhuǎn)換芯片將+5V電源轉(zhuǎn)換成+2.5V及+3.3V的電源輸出。
系統(tǒng)的各功能模塊設(shè)計
1.電源模塊設(shè)計
在系統(tǒng)的設(shè)計中,由于ADSP21160的外部接口電源是+3.3V,故為了簡化電路及提高電路板的性能,在其他器件的選擇上,也盡量選擇了+3.3V器件。少數(shù)難以找到+3.3V電源的器件,在不影響接口及功能的情況下,選擇了+5V器件。另外ADSP21160還要求+2.5V的內(nèi)核電源及+2.5V的模擬電源(供ADSP21160的內(nèi)部鎖相環(huán)使用)。而外部給系統(tǒng)提供的是+5V的電源。綜合以上要求考慮,系統(tǒng)需要一個DC/DC轉(zhuǎn)換模塊,輸出+3.3V及+2.5V電壓,并將+2.5V電源分成數(shù)字及模擬兩路。
ADSP21160要求內(nèi)核電源供電早于外部口供電,否則可能導(dǎo)致DSP啟動異?;虺绦驘o法加載。故在電源設(shè)計中考慮到這個問題,決定使用DC/DC的+2.5V輸出端經(jīng)過延時電路接到+3.3V輸出使能端,很好的解決了這個問題。
綜合系統(tǒng)對電壓和電流的具體要求,本硬件系統(tǒng)選擇了TI 公司的TPS767D301作為DC/DC轉(zhuǎn)換芯片。其輸入為+5V電壓,輸出一路+3.3V電壓及一路+1.8V或+2.5V可調(diào)電壓,電流最大輸出為1A。
2.DSP主模塊設(shè)計
時鐘驅(qū)動:ADSP21160需要外部時鐘驅(qū)動,故外接時鐘是必不可少的。其內(nèi)部特有的鎖相環(huán)設(shè)置可以將內(nèi)部的運算頻率倍頻至外部時鐘頻率的2、3或4倍,最高的核時鐘頻率為80MHz。這樣,就可以在外部頻率(數(shù)據(jù)傳輸頻率)較低的情況下,實現(xiàn)內(nèi)核處理器的高速運行。
在本系統(tǒng)中,為了提高系統(tǒng)的高頻炕干擾能力及降低系統(tǒng)的設(shè)計難度,在對系統(tǒng)運行速度影響不大的情況下(由于系統(tǒng)的主要耗時集中在矩陣的處理運算上,數(shù)據(jù)傳輸相對而言只占其全部運行時間的幾十分之一),外部選擇了20MHz的驅(qū)動時鐘,再設(shè)置內(nèi)部鎖相環(huán)為外部時鐘的4倍,實現(xiàn)其內(nèi)部的高速運算。
程序加載:ADSP21160需要外接一個14針的JTAG接口,通過使用ADI公司提供的ICE仿真器,從計算機下載編制好的用戶程序,裝入ADSP21160的內(nèi)部存儲器或外接FLASH中。
外部器件選通:ADSP21160配置了/MS3~/MS0四個外部引腳,用于外部器件的選通。在同一時間,只其中允許一個有效(低電平)。這些引腳分別連接于FLASH、SRAM、并串轉(zhuǎn)換芯片(ST16C550)的使能端,用于選通這些部件以及用于與外部接收機的數(shù)據(jù)通信。CPLD由于關(guān)系到數(shù)個器件的邏輯功能,故長期處于工作狀態(tài)(使能端直接接地)。
3.FLASH加載及外擴存儲器模塊設(shè)計
FLASH加載模塊:為了系統(tǒng)能夠在上電后自動運行,為ADSP21160配置了外接FLASH。按照ADSP21160的用戶手冊,8位FLASH的數(shù)據(jù)線接DSP數(shù)據(jù)線的32_39位,地址線必須從ADDR0開始與ADSP21160相應(yīng)地地址位直接連接。ADSP21160采用EPROM啟動模式,用/BMS和/MS0相與后連接于FLASH的使能端。
圖1 系統(tǒng)的整體框圖[!--empirenews.page--]
外擴存儲器模塊:ADSP21160是高性能的32位浮點處理器,對外最多可使用64位的數(shù)據(jù)總線??紤]到系統(tǒng)的精度要求及內(nèi)部數(shù)據(jù)的處理模式,本系統(tǒng)對外只使用了32位的數(shù)據(jù)總線。這樣,在外擴存儲器的選擇上,考慮到價格等因素,選用了兩塊256K×16位的SRAM并聯(lián)構(gòu)成32位的外擴存儲器,如圖2所示。
圖2 ADSP21160與SRAM的連接
在地址線的連接上,和一般的接法梢有不同。由于ADSP21160規(guī)定,對外部空間的尋址,其奇地址通過低32位數(shù)據(jù)線傳遞;偶地址通過高32位數(shù)據(jù)線傳遞??紤]到在FLASH的連接上使用了DSP數(shù)據(jù)線的32_39位,為了簡化今后PCB板的布線及充分利用SRAM的存儲空間,在設(shè)計中,將ADSP21160的ADDR0的引腳懸空,將其ADDR1引腳與SRAM的addr0管腳相連,ADDR2與addr1相連,以下順次連接。
外部通信接口模塊設(shè)計
目標(biāo)板通過一個50針接口與接收機相連,通過RD_REQ、RD_PMT、RD_EN、RD_CLK四根控制信號線進行,從接收機內(nèi)部開辟的存儲空間讀取數(shù)據(jù)。
在本系統(tǒng)的設(shè)計中,其中間運算數(shù)據(jù)均采用32位浮點數(shù),輸出結(jié)果截取8位有效數(shù)字,通過并串轉(zhuǎn)換器(ST16C550)轉(zhuǎn)換成串行數(shù)據(jù),再分成兩路,一路經(jīng)過MAX488轉(zhuǎn)換成差分?jǐn)?shù)據(jù)輸送的外部控制器,另一路經(jīng)過MAX232轉(zhuǎn)換電平,連接到計算機,實現(xiàn)了系統(tǒng)要求的功能,如圖3所示。
圖3 ADSP21160的數(shù)據(jù)輸出
結(jié)語
ADSP21160 功能強大,但在電源配置上稍顯復(fù)雜。本系統(tǒng)利用2.5V電源輸出作為3.3V的輸出使能,成功的解決了這一問題。另外,在達到系統(tǒng)要求的基礎(chǔ)上,為降低設(shè)計難度,對時鐘和數(shù)據(jù)線都進行了特殊的設(shè)計。時鐘采用片外中低頻(20MHz),片內(nèi)倍頻到最大頻率(80MHz)的設(shè)計,降低了PCB板對中高頻布線要求;數(shù)據(jù)線通過懸空0位地址,將片外線寬從64位降低至32位,大大降低了ADSP21160周邊的線密度,從而大大降低了PCB板的布線難度。