基于μC/OS-II 的嵌入式激光測距系統(tǒng)
0 引言
激光測距系統(tǒng)的最基本原理就是測量激光脈沖在空間傳播的時間間隔,從而獲得被測量的距離。針對相位法激光測距的基本原理與實現(xiàn)方法進行研究,本文結(jié)合了嵌入式、差頻測相等相關(guān)技術(shù)和實時操作系統(tǒng)μC/OS-II 的優(yōu)點,硬件結(jié)構(gòu)合理,軟件實現(xiàn)方法靈活,滿足了網(wǎng)絡化實時高速信息提取和傳輸?shù)囊蟆?/p>
避免了傳統(tǒng)測距系統(tǒng)中存在著勞動強度大、數(shù)據(jù)采集慢、數(shù)據(jù)處理時間長、計算準確度低及數(shù)據(jù)不能直接輸出到其它系統(tǒng)等問題。本系統(tǒng)實現(xiàn)相對簡單,具有測量精度高、穩(wěn)定度好、速度快等優(yōu)點。在生產(chǎn)廠礦、科研學校、計量院所等有著很大的應用空間,具有有很高的實用價值。
1 系統(tǒng)的基本原理
1.1 相位式激光測距原理
對于連續(xù)波的激光測距一般采用相位式測距,主要是指用連續(xù)調(diào)制的激光波光束照射待測物體,從測量光束往返中產(chǎn)生的相位變化關(guān)系換算出激光傳感器與待測目標物體間的距離D.
公式(1) 為相位式測距公式,其中C 為光波在空氣中的傳播速率,φ為調(diào)試的激光信號經(jīng)過反射后而產(chǎn)生的相位差,f 為信號的調(diào)制頻率。它可得到優(yōu)于脈沖式飛行時間測量法的測距精度,但是測距速度慢,結(jié)構(gòu)更為復雜,對于高速運動物體存在多普勒效應。
圖 1 為相位式激光測距原理圖,其中Δφ為信號往返時相位延遲不足2π 的部分,其中φ= 2Nπ + Δφ,N 為激光往返所包含的波長的個數(shù)。于是,在給定調(diào)制頻率的情況下,距離的測量就變成了對激光往返一次所包含整數(shù)個波長數(shù)量的測量和不足于一個波長的相位的測量。隨著現(xiàn)代無線電測相技術(shù)的發(fā)展,相位測量可達很高的精度,所以相位式激光測距也能達到很高的精度。
1.2 差頻測相原理
所謂差頻法測相的原理就是指通過主振頻率與本振頻率的乘法混頻,得到兩個新的頻率的信號分量的疊加,經(jīng)過低通濾波器后,變成了中低頻信號,由于差頻信號仍保持著原高頻信號相應的相位關(guān)系,測量中低頻信號的相位就相當于測量主振信號經(jīng)往返距離后的相位延遲。這樣可以降低電路復雜度,提高了測距精度。
將這兩路信號與外加的信號U3 = I3 cos(ω1 t +φ3)進行乘法混頻后可得到:
再將新得到的這兩路信號1 W 和2 W 分別通過低通濾波器,濾除其高頻分量,得到包含(ω -ω1 )頻譜分量的低頻信號,并且相應的相位信息 φ1和 φ2仍然保留在濾波后的信號中,而且不會導致相位信息的丟失,然后對這兩路信號進行AD 采樣,再由微處理器通過數(shù)字信號處理算法得出相位差Δφ,進而可以計算出發(fā)射激光與待測物體之間的距離。[!--empirenews.page--]
2 系統(tǒng)的硬件結(jié)構(gòu)和工作原理
系統(tǒng)的硬件組成如圖2 所示,包括基于ARM9(S3C2440A)處理器模塊、激光調(diào)制驅(qū)動電路、本振信號發(fā)生器、激光發(fā)射電路、激光接收電路、混頻濾波電路、液晶顯示模塊、鍵盤輸入模塊等部分組成。S3C2440A 是SAM SUNG 公司推出的一款ARM 9 微控制器,內(nèi)核是32 bitARM920T,它的系統(tǒng)時鐘是由內(nèi)部PLL 產(chǎn)生的400MHz CPU 內(nèi)核工作頻率,同時具有64 MB Flash 及64 MB SDRAM外部存儲器。內(nèi)部集成SDRAM 和FLASH 控制器,功能接口豐富,是一款高速、低功耗、高性能的新型處理器,可廣泛應用于通信、汽車、工業(yè)控制、PDA、醫(yī)療等系統(tǒng)的開發(fā)。本文系統(tǒng)中采用ARM9核心板作為數(shù)據(jù)采集控制核心,由它來產(chǎn)生A/D 轉(zhuǎn)換器的各種控制信號、基本的數(shù)據(jù)處理等。
系統(tǒng)的硬件工作原理是: 該系統(tǒng)主要由本振信號發(fā)生器、激光的發(fā)射電路和接收電路、混頻及濾波電路、處理器與顯示電路等部分組成。本振信號發(fā)生器可產(chǎn)生兩個頻率相差1KHz 的正弦信號,通過激光發(fā)射電路來調(diào)制發(fā)射激光的功率,再將發(fā)射激光和接收激光分別轉(zhuǎn)換為相應電信號,然后通過混頻和濾波放大電路將相位差信息轉(zhuǎn)移到兩個低頻的信號上,最后由ARM 9 處理器采集這兩個低頻信號,并且計算出相位差并轉(zhuǎn)換為距離,最后由顯示模塊顯示出來。系統(tǒng)外圍電路包括系統(tǒng)時鐘、模數(shù)轉(zhuǎn)換ADC、外部中斷、定時系統(tǒng)、信號捕捉模塊(Capture)、脈寬調(diào)制輸出(PWM)等。
3 系統(tǒng)軟件設計
由于本系統(tǒng)軟件功能相對復雜,既有輸入和輸出模塊,又要完成測量操作和數(shù)據(jù)的處理,對速度和實時性要求比較高,為此本文采用了μC/OS-II 實時操作系統(tǒng)。μC/OS-II 是一種簡單、高效、源代碼公開的實時嵌入式操作系統(tǒng),μC/OS-II 提供的基本功能包括任務的建立、運行、刪除、設置任務優(yōu)先級、進行任務切換等,并且為任務之間的通信和共享資源的保護提供了事件標志、信號量、互斥信號量、郵箱四種機制。本文采用μC/OS-II 實時系統(tǒng),充分體現(xiàn)了其簡潔、高效的特點。軟件設計主要是μC/OS-II 的移植和任務的編寫。將操作系統(tǒng)移植到ARM9 處理器上,通過μC/OS-II 內(nèi)核的任務調(diào)度,可解決傳統(tǒng)嵌入式軟件設計中出現(xiàn)的編程復雜、可維護性差以及系統(tǒng)的實時性得不到保證等問題。系統(tǒng)軟件包括ARM 的程序設計,基于μC/OS-II 操作系統(tǒng),選用Keil uVision3 集成開發(fā)環(huán)境,所有程序代碼都采用C 語言來編寫,具有較強的可移植性和可讀性。
如圖3 所示,系統(tǒng)軟件由數(shù)據(jù)的采集、處理、顯示等模塊組成,這些模塊由μC/OS-II 實時操作系統(tǒng)統(tǒng)一調(diào)度、運行,這樣軟件部分就變成了對各個任務模塊程序的編寫,數(shù)據(jù)的采集由AD 采集模塊來完成,數(shù)據(jù)的處理由ARM 通信和數(shù)據(jù)處理模塊、DA 轉(zhuǎn)換模塊等來完。顯示主要是液晶的顯示和驅(qū)動模塊。其中底層驅(qū)動包括系統(tǒng)硬件的初始化、UART 接口的數(shù)據(jù)發(fā)送及接收的底層代碼,液晶驅(qū)動模塊包括液晶屏的點、線、漢字等內(nèi)容顯示的實現(xiàn)代碼等等。
4 結(jié)束語
本文敘述了相位式激光測距的原理,較為詳細地給出了系統(tǒng)的設計方案,并且采用ARM9 處理器和引入了嵌入式實時操作系統(tǒng)μC/OS-II.一方面,實時操作系統(tǒng)具有高效的多任務優(yōu)先級管理、可裁減的內(nèi)核結(jié)構(gòu)、強大的擴展性和可移植性以及微秒級的中斷管理等都更加有利于提高效率,有效的降低了應用程序開發(fā)的難度,有利于提高軟件開發(fā)效率和開發(fā)周期的縮短。另一方面,嵌入式技術(shù)的應用和ARM9 處理器自身的性能給系統(tǒng)提供了優(yōu)良的硬件條件,這樣從整體上提高了測距系統(tǒng)的實時性、穩(wěn)定性、抗干擾性,具有一定的實用價值。