于玉亭
(安徽新華學院,安徽 合肥 230088)
基于FPGA的激光測距系統設計
于玉亭
(安徽新華學院,安徽 合肥 230088)
激光測距是激光特性的一種重要的應用.本文設計了一個以FPGA控制為核心的激光測距系統.該系統主要由FPGA控制系統、激光測距模塊、顯示電路和按鍵電路四部分構成,軟件在QuartusⅡ軟件平臺上采用VerilogHDL語言和vhdl語言混合編程.
FPGA;激光測距;QuartusII
激光是一種自然界不存在的光,有很多比較好的特點,如良好的方向性,亮度高,單色性和連續性.激光測距作為一種非接觸測量方法,廣泛應用于軍事、生產生活,如武器制導、地形測量、汽車防撞系統、激光測速等.隨著激光技術、電子技術和計算機技術的發展,激光測距系統逐步朝著智能化、數字化、小型化、低功率的方向發展.
本文設計了一個以FPGA為控制核心、以激光測距模塊和顯示電路為主要功能模塊的激光測距系統,該系統設計簡單,功能完善.
激光測距系統由激光發射、激光接收,處理和距離計算單元及顯示單元組成.其總體設計思想是捕獲激光從發射器發射出來到被被測目標反射回來所經過的時間,光在空氣中的傳播的速度是已知的,可以根據式(1)計算出被測目標的距離.

參數含義:
D:探測器到被測目標之間的距離
t:激光往返經過的時間
c:光速
激光測距系統根據測距原理不同主要分為相位式激光測距系統和脈沖式激光測距系統.相位式是用振幅和相位測量距離,優點是高精度,但是其原理復雜所需要的瞬時功率高.脈沖式的優點是測量時間短原理簡單.
本系統為了降低設計難度,節省設計時間和效率,選用集成的相位激光測距模塊.
本設計的硬件有四個部分組成:FPGA最小系統、激光測距模塊、顯示電路、按鍵電路.
FPGA是現場可編程門陣列,此類芯片具有硬件可編程的優點,為了降低設計難度和設計成本,本次設計采用AL-tera公司Cyclone系列EP1C3T100C6N芯片作為控制核心,FPGA系統主要由FPGA芯片、穩壓電路、晶振電路、下載電路、IO口擴展電路等組成.
穩壓電路主要就由ASM117-3.3和ASM117-1.5芯片及其外圍電路構成,ASM117芯片就是一個正向低壓降穩壓器,ASM117有兩種輸出一種是固定輸出一種是可調輸出,本次電路選用的是兩種固定式輸出的芯片.輸出電壓分別是1.5v和3.3v.
FPGA器件有三類配置下載方式:主動配置方式(AS)和被動配置方式(PS)和最常用的(JTAG)配置方式,JTAG下載sof文件,掉電丟失,但是可以將sof轉換為jic文件,用EPCSx配置,掉電不丟失.AS下載pof文件,配置EPCSx,掉電不丟失.PS比較老的下載方式,很少使用.本設計下載電路采用JTAG配置方式.

表1 激光測距模塊管腳功能
本設計所采用集成激光測距模塊管腳功能入表1所示.該模塊的測量范圍為0.045-40米,分辨率為0.01毫米,測量精度為±2毫米,激光類型為620-690毫米.模塊采用TTL串口進行數據交換,通信速率高達115k(波特率115200).啟動該測距模塊只需按照說明發送相應指令碼,所得測試結果按照對應表格取出測試數據即可.該模塊具有單次測量和重復測量兩種模式,返回結果包括應答碼、錯誤碼和測量數據等部分構成.
顯示模塊用于顯示返回的目標信息,電路設計采用四個共陽七段數碼管.
按鍵電路由2個開關組成,分別用作使能開關、模式選擇,硬件選用撥碼開關.
QuartusII是Altera推出的FPGA/PLD集成開發環境,適合大規模FPGA的開發.QuartusII可以用多種方法描述電路如:VerilogHDL、AHDL、VHDL、原理圖等.
系統軟件分為分頻模塊、按鍵消抖模塊、串口通信模塊和顯示模塊四個功能模塊.
FPGA最小系統直接提供50Mhz時鐘信號,實際所需的頻率分別為 10Hz,200Hz,1kHz,10kHz,2kHz,需要分頻模塊獲得以上頻率,分頻更能通過調用FPGA內部的鎖相環實現.
為了獲得穩定的按鍵輸入,系統為按鍵提供掃描時鐘.但是通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開.因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產生這種現象而作的措施就是按鍵消抖.
軟件消抖的方法通過不斷檢測按鍵值,當檢測到按鍵變化時,延時5~10毫秒再次檢測,如果該值保持不變,則認為獲得穩定的輸入,否則認為是無效輸入.
激光測距模塊數據的接收和發送都采用UART串口通信,UART是一種應用廣泛的短距離串行傳輸接口.常用于短距離、低速、低成本的通訊中.基本的UART通信只需要兩條信號線(RXD、TXD)就可以完成數據的相互通信,接收與發送是全雙工形式.該串口通信模塊相對普通串口通信模塊加入了一個轉換模塊,其作用將指令轉換成ascii碼后發送到串口上去.
七段數碼管的顯示通過譯碼器、掃描電路、編碼電路組成.譯碼器完成對數碼管段碼的控制,掃描電路和編碼電路完成對位碼的控制,配合合適的時鐘信號,即可完成七段數碼管正確、穩定的顯示.

圖1 頂層設計
系統軟件頂層設計如圖1所示,分頻模塊為其他各個模塊提供合適的工作時鐘;按鍵消抖模塊為系統提供正確、有效、穩定的按鍵輸入;串口通信模塊將按鍵輸入轉換為ASICII碼后發送給激光測距模塊,并將接收到的激光測距信息轉換編碼;顯示模塊將激光測距信息在七段數碼管上顯示出來.
本次設計測試實驗通過串口調試結果,單次測量模式下測試結果如圖2所示.

圖2 單次測量串口測試結果
如圖2所示,圖為激光發射和接收模塊在上位機上的仿真圖,左圖為打開激光模塊返回數據,主機發送$0003260130&模塊,右圖為單次測量模塊返回的指令,返回確認指令$00023335&+指令重復,返回的是確認指令,其次返回的數據后七位為所測量的距離.
本文設計了一款基于FPGA的激光測距系統,該系統軟硬件均采用模塊化設計,降低了設計難度,提高了系統的軟硬件復用率.
〔1〕朱京平.光電子技術基礎[M].北京:科學出版社,2009.78-80.
〔2〕潘佳.短程手持式激光測距儀的研究與設計[D].武漢:華中師范大學,2014.
〔3〕廖平,蔡玉鑫.改進型相位式激光測距電路的設計[J].激光與紅外,2013,43(4):356-359.
〔4〕張麗華.EDA技術應用[M].北京機械工業出版社,2013.13.
〔5〕黃平.基于Quartus Ⅱ的FPGA/CPLD數字系統設計與應用[M].北京電子工業出版社,2014.20-23.
〔6〕李軍.基于FPGA的高精度脈沖激光測距系統研究[D].西安:西安工業大學,2014.
〔7〕賈琦,謝勁松.基于三角法的激光位移傳感器的設計及實現[J].長春大學學報,2014(08):1035-1037.
TP213
A
1673-260X(2017)11-0016-02
2017-08-25
安徽省大學生創客實驗室項目(2016ckjh095);安徽新華學院校級自然科研項目(2015zr005);安徽省質量工程《EDA技術》大規模在線開放課程(MOOC)示范項目(2016mooc191)