TMC2310 DSP在水下目標檢測與參數(shù)估計中的應(yīng)用
王英哲1 tmc2310簡介 tmc2310是美trw公司生產(chǎn)的高速度(實現(xiàn)一次基二蝶形運算僅需100ns)、多功能(共有16種運算功能)、可編程的專用數(shù)字信號處理(dsp)器件,其使用靈活、操作方便、性價比高,可廣泛應(yīng)用于雷達、聲納、通訊及虛擬儀器等領(lǐng)域。1.1 主要特點 可自動或手動地實現(xiàn)浮點塊的溢出調(diào)整
具有流水線及管道操作兩種尋址方式
用戶可編程窗函數(shù)功能
具有片內(nèi)系數(shù)存儲器
具有兩個算術(shù)運算單元
19bit的運算精度及輸出位寬 1.2 主要功能可快速完成不加窗及加窗(實數(shù)窗或復(fù)數(shù)窗)的fft及ifft算法
可同時構(gòu)成兩路并行的fie濾波器(16~1024階)
可構(gòu)成自適應(yīng)fir濾波器
可進行實數(shù)、復(fù)數(shù)的乘及乘加運算
可進行復(fù)數(shù)求模及陣列矢量的平方運算 1.3 結(jié)構(gòu)與管腳 tmc2310由兩個算術(shù)單元(ae0、ae1)、片內(nèi)系數(shù)rom、控制邏輯單元和外部接口電路五個主要部分構(gòu)成,其邏輯框圖見圖1。每個算術(shù)單元包括一個乘法序列電路和乘—加算術(shù)邏輯電路塊。該芯片采用了88引腳的pga封裝形式。 管腳定義如下:vdd vss 電源輸入引腳,采用單一+5v供電clk 系統(tǒng)時鐘輸入引腳 讀信號,低電平有效 寫信號,低電平有效semsel 外部存儲器選擇信號輸出引腳scen 定標輸出允許引腳done 系統(tǒng)工作結(jié)束標志輸出引腳cmd0~cmd1 控制命令輸入引腳w0~w16 雙功能數(shù)據(jù)總線,用于輸入窗函數(shù)、 濾波器系數(shù)及輸出定標器的移位指數(shù)和最后一次溢出ad0~ad9 外部數(shù)據(jù)存儲器地址總線rg0~rg18 實部雙向數(shù)據(jù)總線im0~im18 虛部雙向數(shù)據(jù)總線1.4 配制寄存器 tmc2310片內(nèi)有兩個16bit的配制寄存器(cr1、cr2),用來對tmc2310進行編程設(shè)置,其主要用途如下:cr1 用來設(shè)定芯片的處理功能、轉(zhuǎn)換長度、輸出格式及定標方式;cr2 主要用來設(shè)定尋址方式和變換路數(shù)(1~64路)。2 電路設(shè)計 由于tmc2310是可編程的專用dsp器件,我們用一片tms320c25 dsp器件與之配合,采用主從結(jié)構(gòu)、并行處理方式,加上外圍共享存儲器陣列對等組成處理模塊。tms320c25除對tmc2310進行編程及控制外,還以并行運算處理的方式完成一些后續(xù)處理及輔助運算(如數(shù)據(jù)抽取、積分等)。整個電路系統(tǒng)采用模塊化設(shè)計,便于調(diào)試及擴展。信號處理模塊原理框圖如圖2所示?! ≡趫D2中,tmc2310和tms320c25之間設(shè)計了一個以乒乓方式工作的雙口ram陣列,其作用有四:(1)存放待處理的數(shù)據(jù)(實部數(shù)據(jù)放在rem塊,虛部數(shù)據(jù)放在imm塊);(2)存放tmc2310所需的系數(shù)或參數(shù)(放在wdm塊);(3)存放tmc2310的輸出結(jié)果并作為tmc2310中間結(jié)果緩存;(4)構(gòu)成tms320c25的運算內(nèi)存。為了便于構(gòu)成系統(tǒng)及滿足實時需要,用一片idt7025雙口ram(8k×16)構(gòu)成一個tms320c25與外部共享的ram區(qū),以便實時地與外部進行數(shù)據(jù)交換和通訊。這個雙口ram區(qū)也以乒乓方式工作,以增強模塊的寬容性。
電路的乒乓工作方式控制邏輯是由tms320c25根據(jù)系統(tǒng)的節(jié)拍時序進行控制的??刂齐娐反_保caa12與cab12互斥,cal12與car12互斥。整個電路簡單、緊湊、協(xié)調(diào)有序。由于采用了vlsi器件設(shè)計,電路設(shè)計大大簡化,調(diào)試方便、功能強大、性能可靠、吞吐量大(完成1024點fft的數(shù)據(jù)通過率為2.343m字/秒)。3 軟件設(shè)計 tms320c25的主要任務(wù)有:(1)根據(jù)功能需要對tmc2310進行編程設(shè)置及控制管理;(2)與tmc2310進行數(shù)據(jù)交換;(3)完成部分處理運算(如:抽樣、積分、數(shù)值及參量計算等);(4)與系統(tǒng)進行通訊(如數(shù)據(jù)輸入輸出及功能、方式的設(shè)立等)。我們將這些內(nèi)容分成不同的子程序按模塊進行設(shè)計,既便于調(diào)試又易于功能擴展?! ≤浖饕梢粋€主程序與若干個子程序模塊組成。主要的模塊有:tmc2310的設(shè)置與控制;與外部的通訊;數(shù)據(jù)的輸出、數(shù)據(jù)加載、系數(shù)加載及十幾個運算子模塊。由于篇幅有限,以下僅給