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