水聲信號記錄電路設計研究
時間:2022-03-29 11:07:29
導語:水聲信號記錄電路設計研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
1引言
進行水聲研究需要進行大量的測量工作,并對測量數據進行比對、分析。因此對測量到的原始信號進行記錄就顯得格外重要。行業內存儲水聲信號主要使用的是磁帶機,保存經放大處理的模擬信號。雖然磁帶機有可靠性高、容量大、速度快等諸多優點,但是對數據再次使用時需要再次把模擬信號轉換成數字信號,這給數據分析帶來了不便。而且磁帶機受體積、抗沖擊性能等方面因素的影響,通常配置于地面設備,無法搭載于水下航行體中,這使磁帶機的應用受到了很大的限制。因此,設計一種體積小,環境適應性強,可置于水下設備中的記錄電路,替代傳統的數據記錄設備,以滿足行業內特殊條件下水聲信號記錄的需要,具有重要的實踐意義和實用價值。
2記錄電路功能及設計思路
記錄電路以標準板卡的結構置于電子組件機箱內。通過接插件與底板連接。接收數字前置放大器輸出的串行數字流信號,將其進行串并轉換操作后,存入大容量存儲器當中。記錄電路可將記錄數據讀出到計算機或通過串行接口回放輸出[1]。記錄電路所處理的信號速率達到400kByte/s,需要FIFO進行緩沖,同時要針對CAN總線、IIC總線、串行數字信號接口以及FLASH芯片等開展多種接口設計[2]。FPGA作為目前最流行的可編程邏輯器件,具有應用靈活的特點,成為記錄電路硬件構架的首選。數據存儲介質選擇了普通U盤所使用的FLASH芯片,該類芯片具有存儲密度高、可靠性高、價格便宜等優點。電路還內置電源管理電路,用于電源的自檢、上電控制和復位控制功能。同時還配有CAN總線接口,便于接收上級系統的命令并將自檢信息上報。
3電路硬件設計
記錄電路的硬件設計主要圍繞FPGA電路設計展開,同時進行接口電路部分設計、存儲電路部分設計和數據交換電路部分的設計。FPGA電路是以FPGA嵌入式微處理器為核心的電路結構。所謂嵌入式微處理器是FPGA芯片內嵌了MICRO⁃BLZE軟內核,內核作為獨立的微處理器被FPGA邏輯電路調用以完成和其它處理器一樣的功能。整個電路分為電源管理、FPGA電路、存儲器和通信幾大部分。幾部分的連接關系如圖1所示。3.1電源管理電路設計。電源管理電路的主要功能是向整個電路板供電。除了供電作用外,還具有控制上電順序和復位管理功能。電路中設有小的51系列單片機,可按需要對各個電源的上電順序進行控制,同時實時檢測電路板的各組供電電壓情況和FPGA電路工作情況。電壓情況異?;蛘逨PGA電路工作異常時,對電源進行復位操作。電路采用+24VDC輸入的供電模式,通過DC/DC轉變成+5VDC。電路板用到的其它直流電源由+5VDC轉換提供。為了實現電源控制的功能,電源芯片選用了TI公司生產的TPS5461X系列DC/DC開關電源芯片??赏ㄟ^單片機控制電源芯片上的“SS/ENA”腳實現對各組電源的控制[3]。完成電源管理的單片機選用了C8051系列的F206單片機,該單片機體積較小、資源不多,但完全可以滿足電源管理的需要。電壓檢測芯片則選用了國家半導體公司的LM87芯片。單片機通過IIC串行總線控制LM87檢測電路的各組電源供電情況和主控芯片的溫度信息,當電源電壓或者溫度出現異常時對電源進行復位操作。3.2存儲器電路設計。記錄電路選用了三星公司的1G×8bitNANDFlashMemory作為存儲介質。需要記錄數據的速率為400kByte/s,一片Flash芯片能記錄的時間為40多分鐘。考慮到存儲容量的問題,選用了6片同規格的Flash芯片,可存儲數據時間為4個小時。也可選擇更大容量的FLASH芯片增加記錄時間。Flash的接口相對簡單,除了8位復用的地址、數據線以外,有7個控制引腳。它們分別為R/B、RE、CE、CLE、ALE、WE和WP。其中R/B引腳為狀態指示輸出腳,向處理器提供FLASH的工作狀態;CE引腳為片選信號;CLE和ALE分別為命令使能信號和地址使能信號;RE和WE分別為讀寫信號;WP為寫保護信號。FPGA內部微處理器MiroBlaze通過通用I/O口連接FLASH芯片的8個地址、數據引腳和7個控制引腳,控制其內部寄存器完成對FLASH的讀寫操作,將數據記錄到FLASH芯片上或者讀出。6片FLASH芯片以并聯方式與處理器相連,除片選信號CE外其余引腳均為復用。3.3通信電路設計。(CAN總線設計)CAN總線是一種全數字化雙向和多主的現場總線,在汽車制造業應用非常廣泛。現在水聲領域應用方面,CAN總線的應用也已經較為普遍。CAN總線采用雙線傳輸方式,設備以節點的方式掛于總線上,通過設置幀ID控制數據的接收與發送??偩€上的節點數可根據需要自行增加,應用非常方便。采用SJA1000CAN控制器結合驅動芯片PCA82C250的電路結構,實現CAN總線通信[4]。3.4FPGA電路設計。FPGA選用Xilinx公司Virtex-2Pro系列產品XC2VP20FG676芯片,此芯片是該電路的核心,中央處理器為其內嵌的軟核MicroBlaze。FPGA的配置芯片選取XCF08P的大容量存儲芯片。外圍電路需要按數據手冊的要求完成FPGA芯片與配置芯片的設計,正確配置好電源、晶振、復位芯片和JTAG口,按需求分配好I/O口與相關電路相連。需要注意的是XCF08P具有串行和并行兩種加載方式,在配置時需看清相對的電路結構。本設計中為了減短程序加載時間,選擇了并行加載的配置方式。FPGA電路主要邏輯功能仍然由FPGA內部的邏輯門電路部分完成。邏輯門電路在記錄狀態主要負責串行數字流信號的接收并送入FIFO中進行緩沖,當FIFO標志置位時,向微處理器提出取數申請;在數據回放狀態,主要負責將微處理器送出的數據放入FIFO緩沖,再按照規定的速率通過串行數字流輸出模塊向外發送。FIFO的主體選用了XILINX公司的IPCORE:FIFOGeneratorV2.3。FIFO緩沖區緩沖數據寬度為16位,緩沖的深度為8192。這種FIFO具有可編程狀態位,當FIFO中數據滿足設定狀態時,可編程狀態位置位,可方便地將FIFO的狀態反饋給微處理器。本設計中調用了兩個FIFO內核,分別作為輸入和輸出時的數據緩沖。輸入緩沖區設定可編程狀態位在緩沖區內數據將要溢出時置位,輸出緩沖區設定可編程狀態位在緩沖區內數據數將要取空時置位。微處理器可以根據此狀態位判斷緩沖數據情況,決定是否讀取或者寫入新的數據。
4電路軟件設計
記錄電路軟件分為單片機軟件和FPGA軟件兩大部分。其中單片機軟件主要負責電源管理功能。通過模擬IIC總線對電壓監控芯片LM87進行控制,實現對電源和FPGA電路的監測。在電源不正常或者FPGA電路不正常的情況下,對電源芯片進行復位操作。單片機軟件使用C語言編寫,功能比較簡單,程序流程圖如圖2所示。FPGA軟件的核心部分是針對內嵌微處理器MiroBlaze的C語言設計,主要功能是完成對串行數字流信號的記錄和回放功能。負責將緩沖區中的數據讀出并存入FLASH的相應存儲區域。如果接收到回放命令,則將FLASH中的數據讀出放入FIFO。如果接收到讀取命令,則將FLASH中的數據讀出并通過高速串口輸出到PC機上。[5]FLASH的讀寫是以頁為基本單位的,一頁為1056個字。在讀寫一頁之前必須先指明所需讀寫的頁地址,然后發送讀寫命令。一頁1056字需要一次性連續讀出或者寫入[6]。FPGA軟件的流程圖如圖3所示。
5應用情況
該記錄電路已成功應用于某水下航行器上,通過試驗獲得了大量寶貴的試驗數據。圖4中(a)所示的是某次水下試驗中電路記錄的9分多鐘的水聲信號圖形,(b)和(c)分別顯示出數據其中一段的放大后和再次放大后的信號圖形。
6結語
本文提出了一種基于FPGA的水聲信號記錄電路的設計方案。經過實驗室調試和實際應用,證明了電路能有效完成高速率水聲信號的記錄工作,并且具有穩定的工作狀態,可以取代傳統的模擬記錄設備,滿足大多數情況下水聲信號的記錄需求。
作者:朱明駿 孫現有 單位:海軍駐昆明軍事代表辦事處
- 上一篇:水泵故障報警電路設計研究
- 下一篇:低能耗艦船電路設計研究