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