張德,侯志國,江 發表於 2021-01-12 09:46:30
作者:張德,侯志國,江麗,張向暉,羅曉松
被動聲源探測定位技術是一種利用聲學傳聲器陣列和電子裝置接收運動目標的輻射噪聲,以確定目標所處位置的技術。
本文正是基於聲探測技術原理和成熟的微電子技術, 採用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
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴