摘 要:陸地聲納法主要應用在隧道施工地質預報方面,信號采集是地質預報的關鍵環節。將UCOS-II移植到STM32單片機,并利用其進行采樣控制。將采集到的數據通過無線模塊發送給上位機進行數據處理。本文針對陸地聲納數據采集系統進行了設計。
關鍵詞:陸地聲納 STM32 無線數據采集 ucos-ii
中圖分類號:U45 文獻標識碼:A 文章編號:1672-3791(2013)07(c)-0009-02
陸地聲納法是“陸上極小偏移距(震-檢距)超寬頻帶彈性波反射連續剖面法”的簡稱,主要應用于隧道施工地質預報。其主要特點是:(1)采用接近于零震-檢距的方式工作。(2)超寬頻帶的激發和接收(帶寬可達2000~3000 Hz)。隧道施工環境復雜,容易發生塌方、涌水、涌泥、巖爆等地質災害。隧道地面上到處是施工過程中炮轟產生的小碎石,很鋒利。這些鋒利的小碎石有時會把鞋底割破,并且隧道的掌子面是崎嶇不平的。在這樣的隧道環境中若采用有線的傳輸方式進行信號采集,傳輸線路經常會被割破甚至割斷,這樣造成了傳輸線的使用壽命不長,信號采集的可靠性不高,而且布線不方便并且耗費人力資源。因此,在這樣的環境下,對無線數據采集系統的需求就非常迫切。而且短距離無線采集系統不用布線,快速布局,抗干擾能力強,可靠性高,使用靈活,具有有線數據傳輸無法比擬的便捷性,并且能進一步提高操作員的工作效率,節約成本。
由于陸地聲納法產生的地震信號最高頻率為6000 Hz。根據奈奎斯特定律可以知道要想通過數字信號無失真的恢復模擬信號,采樣頻率必須大于等于信號最高頻率的兩倍。因此我們的采樣頻率最小為12 kHz,實驗中為了保證采樣相位的定時精度,我們每個周期采樣10個點,采樣頻率為60 kHz。遠遠大于信號最高頻率的兩倍,故理論上能無失真的恢復原始的模擬信號。
陸地聲納法在實際采集信號中每次要同時采集3道的信號,即三分量的信號。為了保證數據的有效性我們在每個分量方向上進行5000個樣點的采樣。因此我們實際每次需要存儲處理的信號采樣點數為15000個。對于一個樣點需要2Byte的存儲空間。所以需要30K的存儲空間,來保存這些數據,并把數據通過無線模塊即時的發送出去,PC端的無線模塊進行接收,并在PC上進行顯示。
1 硬件設計
1.1 STM32簡介
單片機的選擇主要考慮了單片機自帶的資源是否滿足設計要求。選擇合適的單片機,則可簡化電路設計的復雜程度,提高系統的可靠性。綜合考慮,系統采用了STM32F103RBT6作為微處理器,該芯片是STM32系列的一種。STM32是基于ARM Cortex-M3內核的32位處理器。其內部的數據路徑、寄存器、存儲器接口是32位的。采用了哈弗結構,擁有獨立的指令總線和數據總線,取指與數據訪問并行不悖。時鐘頻率達到72 MHz,STM32F103RBT6具有低功耗、小體積、高效率、低成本等特點,它擁有強大的處理能力,在同類32位處理器中有很高的性價比。
1.2 無線模塊
陸地聲納法采集到的數據發送到上位機是短距離傳輸,考慮到系統的低功耗及數據傳輸速率選擇了NRF24L01無線模塊,它是使用Nordic公司的nRF24l01芯片開發而成的,工作于2.4~2.5 GHz ISM頻段。工作電壓為1.9~3.6 V,有多達125個頻道可供選擇。可通過SPI寫入數據,最高可達10 Mb/s,數據傳輸率最快可達2 Mb/s,芯片能耗非常低,以-6 dBm的功率發射時,工作電流只有9 mA,接收時工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節能設計更方便,它能夠很好的滿足本無線系統的要求。其與處理器的接口電路如圖1。
2 軟件設計
2.1 ucos-ii的移植
在對地震信號的無線采集過程中為了更加有效的采集信號,及時的與上位機進行通信,我們需要對地震信號的采集與傳輸等多項任務進行合理的調度,有效實時的進行信號的采集與傳輸。傳統的單片機開發工作中經常遇到程序跑飛或是陷入死循環。可以用看門狗來解決程序跑飛問題,而對于后一種情況,尤其是其中牽扯到復雜數學計算的話,只有設置斷點,耗費大量時間來慢慢分析,這就會大大降低系統的效率。為了更好的管理這些任務,我們引入了操作系統,是一種免費、開放源代碼、結構小巧、基于可搶占優先級調度的實時操作系統,其內核提供任務調度與管理、時間管理、任務間同步與通信、內存管理和中斷服務等功能。并且用戶與內核之間接口程序編譯相對簡單,在單片機系統中嵌入將增強系統的可靠性,并使得調試程序變得簡單,可以把整個程序分成許多任務,每個任務相對獨立,然后在每個任務中設置超時函數,時間用完以后,任務必須交出CPU的使用權。即使一個任務發生問題,也不會影響其他任務的運行。這樣既提高了系統的可靠性,同時也使得調試程序變得容易。
內核向STM32單片機上移植,只需要修改幾個與處理器相關的文件,具體問題包括。
(1)設置OS_CPU.H中與處理器和編譯器相關的代碼,即定義與編譯器相關的數據類型、堆棧類型、堆棧增長方向和SWI服務函數。
(2)OS_CPU_C.C文件中主要是任務堆棧初始化代碼、軟中斷異常處理程序、開關中斷和移植增加的特定函數。
(3)OS_CPU_A.ASM文件主要包括軟件中斷的匯編接口、任務級任務切換函數OS_TASK_SW和中斷級任務切換函數OSIntCtxSw以及啟動最高優先級就緒任務函數。
2.2 系統流程圖
圖2所示為系統程序流程圖,程序開始工作后,首先對系統進行初始化設置,然后循環檢測是否接收到開始采集信號,當接收到采集指令后,無線模塊開始接收數據,同時掃描AD輸入,并將采集到的數據寄存在單片機RAM中,并且及時的將數據通過無線模塊發送到上位機進行同信。
3 結語
使用STM32F104RBT6單片機作為核心控制器,保證了系統能夠快速響應,利用其內部的AD轉換模塊,大大簡化了外部電路,UCOS-II的植入更方便地對各項任務進行管理,從而更好的保證了通信的實時性。
參考文獻
[1]鐘世航,孫宏志,王榮.陸地聲納法[M].北京:中國科學技術出版社,2012,4.
[2]孫宏志.陸地聲納地震儀的制造技術研究[C].中國地球物理學會第22屆年會論文集,中國地球物理學會編.成都:四川科學技術出版社,2006.
[3]劉軍.例說Stm32[M].北京:北京航空航天大學出版社,2011.
[4]范書瑞.Cortex-M3嵌入式處理器原理與應用[M].北京:電子工業出版社,2011.
[5]Rompaey K,Bolsens I,De Man H. Coware A Design Environment for Heterogenerous Hardware/Software Systems.In Proc.of the European Design Automation Conference,1996:252-257.
[6]Nordic Semiconductor ASA.Nrf24L01 product specification[R].2006.