引言
被動(dòng)聲源探測(cè)定位技術(shù)是一種利用聲學(xué)傳聲器陣列和電子裝置接收運(yùn)動(dòng)目標(biāo)的輻射噪聲,以確定目標(biāo)所處位置的技術(shù)。
本文正是基于聲探測(cè)技術(shù)原理和成熟的微電子技術(shù), 采用TI公司的32位浮點(diǎn)DSP芯片TMS320VC33-150來(lái)實(shí)現(xiàn)聲源目標(biāo)的探測(cè)定位算法,并輔之以ADC、CPLD、單片機(jī)等器件來(lái)實(shí)現(xiàn)聲源信號(hào)的采集、系統(tǒng)邏輯控制以及通信功能。對(duì)于數(shù)字電路的邏輯控制功能,本文選用了Altera公司的CPLD芯片EPM7128AETC100-10來(lái)實(shí)現(xiàn)。該芯片功耗低、資源豐富、內(nèi)部延時(shí)固定,有助于時(shí)序邏輯電路的設(shè)計(jì)。本系統(tǒng)主要分為兩部分:聲探測(cè)系統(tǒng)數(shù)字電路的硬件實(shí)現(xiàn)和DSP軟件設(shè)計(jì)。系統(tǒng)現(xiàn)已完成調(diào)試,運(yùn)行穩(wěn)定,探測(cè)效果較好。
系統(tǒng)功能
聲探測(cè)系統(tǒng)通過(guò)傳聲器陣列獲得聲源目標(biāo)的輻射噪聲信息,通過(guò)前端模擬信號(hào)處理后,在數(shù)字電路中由DSP進(jìn)行高速的聲探測(cè)定位算法處理,并把獲得的聲源方位、速度等信息,發(fā)送給計(jì)算機(jī)終端進(jìn)行交匯顯示。
聲探測(cè)系統(tǒng)的硬件設(shè)計(jì)
在聲探測(cè)系統(tǒng)中,數(shù)字電路是最為關(guān)鍵的部分。本文以DSP、CPLD和單片機(jī)為核心器件,完成了聲探測(cè)系統(tǒng)的數(shù)字電路的硬件設(shè)計(jì)。其數(shù)字電路框圖如圖1所示。
圖1 聲探測(cè)系統(tǒng)的數(shù)字電路框圖
經(jīng)過(guò)前端處理的模擬信號(hào)由AD7865完成采樣轉(zhuǎn)換后,給DSP一個(gè)中斷,DSP在CPLD的配合下,讀取各個(gè)通道的數(shù)據(jù)并存儲(chǔ)在片外SRAM數(shù)據(jù)區(qū),同時(shí)DSP對(duì)數(shù)據(jù)進(jìn)行數(shù)字濾波、頻譜分析,從而完成對(duì)聲源目標(biāo)的定位功能。
由雙口RAM實(shí)現(xiàn)DSP和C8051F020目標(biāo)信息的交換,最終通過(guò)MAX3485完成和終端的RS-422通信。另外,DSP根據(jù)處理后的結(jié)果實(shí)現(xiàn)對(duì)前端模擬電路的增益控制。
ADC設(shè)計(jì)
被動(dòng)聲探測(cè)系統(tǒng)中對(duì)聲音的相位一致性要求很高,因此,在設(shè)計(jì)中采用了具有同時(shí)采樣保持功能的14位并行輸出ADC AD7865。本設(shè)計(jì)中,經(jīng)放大濾波處理后的6路聲源目標(biāo)信號(hào)通過(guò)兩片AD7865實(shí)現(xiàn)A/D轉(zhuǎn)換。本文利用DSP定時(shí)器的輸出信號(hào)作為ADC的啟動(dòng)采樣信號(hào),采樣轉(zhuǎn)換完成后,通過(guò)ADC的BUSY信號(hào)給DSP一個(gè)中斷,然后DSP進(jìn)入中斷處理程序,讀取A/D數(shù)據(jù),而讀寫(xiě)信號(hào)和ADC片選信號(hào)由CPLD對(duì)DSP的讀寫(xiě)信號(hào)和地址信號(hào)進(jìn)行邏輯組合來(lái)完成。
DSP及周邊電路設(shè)計(jì)
DSP的主要功能有根據(jù)采集到的數(shù)字信號(hào)的幅度來(lái)完成對(duì)前端模擬信號(hào)的自動(dòng)增益控制,增益控制的級(jí)別有16、64、256、1024、4096、16384、65536共7檔;對(duì)采集到的數(shù)據(jù)進(jìn)行數(shù)字濾波、快速FFT變換以及正交變換等運(yùn)算,進(jìn)而完成對(duì)目標(biāo)的定位、識(shí)別等運(yùn)算;通過(guò)雙口RAM完成和單片機(jī)的通信,以及ADC的定時(shí)啟動(dòng)。
DSP周邊電路包括程序引導(dǎo)區(qū)Flash、程序運(yùn)行區(qū)SRAM、數(shù)據(jù)交換區(qū)雙口RAM及增益控制。Flash采用容量為1M*8b的AMD29LV040B構(gòu)成代碼存儲(chǔ)空間;SRAM則采用容量為512K*8b的SRAM存儲(chǔ)器CY7C1049-CV33,在電路中使用4片進(jìn)行位擴(kuò)展,從而構(gòu)成512K*32位的程序運(yùn)行空間;雙口RAM為2K*8位的IDT71V321;而增益控制則采用8位 CMOS鎖存器來(lái)實(shí)現(xiàn)。
TMS320VC33-150有四個(gè)外部中斷,都可以作為BootLoader的中斷,因此BootLoader首選高優(yōu)先級(jí)的中斷,否則有可能在脫機(jī)上電加載程序時(shí)無(wú)法加載成功。因?yàn)樵谏想姀?fù)位后,DSP執(zhí)行駐留程序,根據(jù)中斷級(jí)別去尋找BootLoader存儲(chǔ)區(qū)域,如果沒(méi)有把高于BootLoader中斷的中斷置無(wú)效,那么DSP將會(huì)根據(jù)高優(yōu)先級(jí)尋找BootLoader存儲(chǔ)區(qū)域,因而導(dǎo)致程序加載不成功。
此外,在設(shè)計(jì)過(guò)程中,對(duì)于一些重要的信號(hào)如#RDY、#HOLD、EDGEMODE、MCBL/#MP、#SHZ等,要根據(jù)具體設(shè)計(jì),參照數(shù)據(jù)手冊(cè)相應(yīng)給予上拉或下拉處理。本設(shè)計(jì)在調(diào)試過(guò)程中因?yàn)閷?duì)#HOLD信號(hào)未做處理,導(dǎo)致不能在線(xiàn)下載 程序,最后通過(guò)拉高才解決。
表1 中斷號(hào)和程序裝載地址對(duì)應(yīng)表
圖2 DSP軟件程序設(shè)計(jì)流程圖
邏輯控制
本設(shè)計(jì)中采用了Altera公司的EPM7128AETC100-10來(lái)實(shí)現(xiàn)整個(gè)電路系統(tǒng)的時(shí)序管理及邏輯控制功能,主要包括ADC控制功能模塊、存儲(chǔ)器讀寫(xiě)時(shí)序控制模塊、通信接口時(shí)序控制模塊和增益控制。并根據(jù)DSP外部存儲(chǔ)器地址空間譯碼產(chǎn)生片選信號(hào)以及讀寫(xiě)時(shí)序。本設(shè)計(jì)中利用QuartusⅡ來(lái)完成邏輯控制仿真。
單片機(jī)電路
C8051F020單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU,除了具有標(biāo)準(zhǔn)8051單片機(jī)的數(shù)字外設(shè)部件外,片內(nèi)還集成了數(shù)據(jù)采集與控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。
本設(shè)計(jì)中利用C8051F020的串口實(shí)現(xiàn)了和計(jì)算機(jī)終端的RS-422異步串行通信,波特率為19.2Kbps;利用雙口RAM完成了DSP和單片機(jī)的聲源目標(biāo)數(shù)據(jù)的實(shí)時(shí)交換。
在設(shè)計(jì)單片機(jī)電路時(shí),為保證上電復(fù)位電路的可靠性,可以使用基本的RC電路和專(zhuān)門(mén)的監(jiān)控集成電路如MAX708T等,同時(shí)應(yīng)該充分利用MODEN VDD監(jiān)視器功能。
輔助電路
輔助電路包括晶振、看門(mén)狗、電壓基準(zhǔn)電路以及DC/DC電源模塊。DSP時(shí)鐘采用了15MHz晶振,經(jīng)DSP內(nèi)部5倍頻后達(dá)到TMS320VC33-150的最快運(yùn)行速度,同時(shí)采用20MHz晶振作為單片機(jī)的時(shí)鐘源;本設(shè)計(jì)中通過(guò)采用MAX706看門(mén)狗芯片實(shí)現(xiàn)了對(duì)DSP的掉電監(jiān)控和程序跑飛的復(fù)位功能;電壓基準(zhǔn)電路則利用了TPS767D318來(lái)為整個(gè)系統(tǒng)提供+3.3V和+1.8V電源;DC/DC電源模塊完成外接+12V~+5V的高效轉(zhuǎn)換。
DSP軟件設(shè)計(jì)
DSP軟件流程
整個(gè)軟件基于中斷方式。DSP軟件設(shè)計(jì)包括了ADC的轉(zhuǎn)換啟動(dòng)、數(shù)據(jù)采集、中斷服務(wù)程序、聲源信號(hào)的數(shù)字濾波、快速FFT和正交變換,以及通過(guò)頻譜分析獲得高分辨率空間聲強(qiáng)分布的MUSIC算法。該聲探測(cè)系統(tǒng)的DSP軟件流程如圖2所示。
DSP軟件工作流程為:系統(tǒng)上電復(fù)位后,加載外部Flash的程序文件到外部SRAM程序區(qū),DSP初始化各個(gè)部分后運(yùn)行。程序始終查詢(xún)ADC的中斷信號(hào),在獲得ADC的中斷后進(jìn)入中斷服務(wù)程序,采集后的數(shù)據(jù)存儲(chǔ)在外部SRAM數(shù)據(jù)區(qū),然后調(diào)用探測(cè)定位程序獲取聲音目標(biāo)的方位等參數(shù),并寫(xiě)入外部雙口RAM中,供單片機(jī)讀取后送到計(jì)算機(jī)終端進(jìn)行融合交會(huì)。
DSP程序BootLoader
TMS320VC33-150有兩種工作方式,工作方式的選擇由MCBL/MP引腳決定。在本設(shè)計(jì)中,通過(guò)把MCBL/MP引腳上拉為高電平,使DSP工作在微計(jì)算機(jī)/引導(dǎo)裝入模式或外部存儲(chǔ)器裝載方式。在Reset 信號(hào)從低電平轉(zhuǎn)為高電平后, TMS320VC32-150首先檢查外部中斷輸入線(xiàn)電平, 決定由什么地方開(kāi)始引導(dǎo)程序, 中斷號(hào)和對(duì)應(yīng)的開(kāi)始引導(dǎo)地址間的關(guān)系如表1所示。本設(shè)計(jì)中使用了BOOT2方式,即在DSP復(fù)位信號(hào)由低變高后,DSP從外部存儲(chǔ)地址400000H開(kāi)始加載程序。
需要注意的是,使用外部存儲(chǔ)器裝載方式時(shí),加載程序必須含有外部存儲(chǔ)器的數(shù)據(jù)總線(xiàn)寬度(8位、16位或32位)、程序代碼的長(zhǎng)度、程序執(zhí)行的入口地址以及存儲(chǔ)器的等待狀態(tài)數(shù)。
在把已調(diào)試成功的程序裝入Flash過(guò)程中,本文采用的方法是:通過(guò)編寫(xiě)一個(gè)*.cmd轉(zhuǎn)換文件,然后用HEX30.EXE把*.out文件轉(zhuǎn)化為*.hex文件。 并把生成的*.hex文件燒寫(xiě)入Flash中即可。當(dāng)然,也可采用在線(xiàn)燒寫(xiě)的方法。
結(jié)語(yǔ)
基于TMS320VC33-150的聲探測(cè)系統(tǒng)數(shù)字電路設(shè)計(jì)充分利用了TMS320VC33-150強(qiáng)大的浮點(diǎn)運(yùn)算能力, 很好的完成了聲源目標(biāo)探測(cè)定位的算法處理。同時(shí)還充分利用了CPLD的邏輯控制功能和MCU豐富的外設(shè)資源,并設(shè)計(jì)出了DSP算法和中斷服務(wù)程序流程。該系統(tǒng)已經(jīng)調(diào)試完成,并進(jìn)行了充分的外場(chǎng)試驗(yàn)。結(jié)果表明,系統(tǒng)工作穩(wěn)定,各項(xiàng)指標(biāo)基本達(dá)到了要求。