文獻標識碼:A
文章編號:0258-7998(2010)08-0088-04
隨著汽車的普及和維修業(yè)的不斷發(fā)展,人們對汽車車身在維修中的檢測系統(tǒng)提出了越來越高的要求,。傳統(tǒng)的機械式測量系統(tǒng)已經(jīng)不能滿足現(xiàn)代汽車測量和維修檢測的要求,。在國外,意大利的Spanesi公司、瑞典的Caroliner公司開發(fā)的車身電子測量系統(tǒng)在測量精度,、操作性方面雖有一定的優(yōu)勢,然而它們不能進行同時多點測量,已不能適應(yīng)現(xiàn)代汽車維修業(yè)對檢測技術(shù)的要求,。利用激光掃描技術(shù)可實現(xiàn)對車身三維尺寸的測量,滿足了現(xiàn)代汽車維修業(yè)對檢測技術(shù)的新要求。對于激光掃描測量的方法,國內(nèi)還鮮有相關(guān)的報道[1-2],。
基于合作靶標的激光掃描車身坐標測量系統(tǒng),,是運用四光束激光掃描測量原理,綜合運用激光,、光電,、精密測量等技術(shù)進行非接觸二維或者三維坐標測量的檢測系統(tǒng)。它具有非接觸測量,、不易損傷表面,、結(jié)構(gòu)簡單、測量距離大,、測量點小,、抗干擾性強、速度快,、實時性好、精度高,、能同時進行多點測量等特點,。該系統(tǒng)主要應(yīng)用于汽車維修業(yè),通過測量保證維修后的事故車車身狀況達到原車出廠時的技術(shù)要求,。本文對激光掃描車身坐標測量系統(tǒng)的數(shù)據(jù)采集與處理部分作了詳細介紹,。
1 測量系統(tǒng)結(jié)構(gòu)
測量系統(tǒng)結(jié)構(gòu)框圖如圖1所示,檢測系統(tǒng)由特征靶標,、連接頭,、電機掃描裝置、激光器及其驅(qū)動電路,、光路轉(zhuǎn)折系統(tǒng),、霍爾傳感器、光電轉(zhuǎn)換及信號預處理模塊,、數(shù)據(jù)采集與AVR處理及上位機組成,。每個電機掃描裝置由電機及其驅(qū)動電路,、反射鏡、反射鏡固定托盤和安裝于反射鏡固定盤側(cè)面的小磁鐵組成,。工作時,,電機帶動平面鏡旋轉(zhuǎn),當掃描激光束經(jīng)由旋轉(zhuǎn)的平面鏡反射到特征靶標上時,由于特征靶標上面貼有原向回歸反射膜,,投射光束經(jīng)過反射膜反射后按原光路返回,,激光束經(jīng)過靶標反射后經(jīng)由平面鏡反射至激光轉(zhuǎn)折光路中;經(jīng)兩個平行的45°角平面鏡反射后,,光信號經(jīng)過光電轉(zhuǎn)換及預處理進入數(shù)據(jù)采集系統(tǒng),,和霍爾傳感器產(chǎn)生的電機旋轉(zhuǎn)同步脈沖信號一起控制數(shù)據(jù)采集電路,經(jīng)過數(shù)據(jù)處理得到初步的測量點在傳感器系統(tǒng)內(nèi)的三維坐標后,,送入上位機,。計算機把送來的數(shù)據(jù)進行計算及坐標變換得出車身三維坐標測量結(jié)果,并進行顯示或打印輸出,。
2 CPLD信號邏輯處理
數(shù)據(jù)采集與處理電路包括邏輯控制電路,、緩存器電路、單片機接口電路等,。它們的關(guān)系結(jié)構(gòu)如圖2所示,。邏輯控制電路采集各個傳感器的信號,然后將信號經(jīng)4個緩存器緩存后傳送給單片機,;單片機結(jié)合軟件實現(xiàn)對靶標的識別,、三維坐標計算,通過串行通信與上位機連接,,接收上位機的命令并將處理后的數(shù)據(jù)送入上位機打印顯示[3-4],。其中傳感器的信號總共有6路,包括4路由光電模塊采集進來的光電信號和2路霍爾信號,。邏輯控制電路選用CPLD,,緩存器選用FIFO芯片,單片機選用ATmega128型AVR單片機,。
2.1 PIN數(shù)字脈沖信號預處理
首先以霍爾傳感器輸出波形為粗定位(波形1),,從PIN輸出的數(shù)字脈沖信號(波形2)中提取出采樣周期定位波形,然后以此定位波形為基礎(chǔ)定位出數(shù)據(jù)采樣周期,,在整個數(shù)據(jù)采樣周期內(nèi)對數(shù)字脈沖信號進行計數(shù)填充,。采樣周期定位脈沖(波形3)的下降沿是以PIN輸出信號的定位脈沖的下降沿來定位的,其上升沿是以霍爾傳感器輸出脈沖的上升沿來定位的,。提取出來的采樣周期定位波形如圖3中波形3所示,。
2.2 采樣數(shù)據(jù)周期產(chǎn)生電路
由于掃描器在不停地旋轉(zhuǎn),為了保證AVR獲得正確的掃描數(shù)據(jù),,采樣數(shù)據(jù)應(yīng)該是一個完整周期內(nèi)的數(shù)據(jù),,因此必須嚴格控制采樣周期的完整性,。為此設(shè)計了由AVR輸出信號控制的采樣周期產(chǎn)生電路。此電路以采樣周期定位脈沖和AVR控制信號為輸入,,采樣周期信號和采樣周期終止信號為輸出,。在QUARTUSII9.0中進行仿真之后的波形如圖4所示,圖中tb為采樣周期定位脈沖輸入,,clear為AVR輸出的控制使能信號,,tout1為產(chǎn)生的采樣周期信號,flag為采樣周期結(jié)束信號,。
2.3 CPLD對FIFO芯片的直接控制
CPLD的主要作用是將數(shù)字脈沖信號計數(shù)填充后,,在控制信號使能控制下將數(shù)據(jù)寫入FIFO芯片中,因而CPLD中設(shè)計了對FIFO進行直接控制的功能模塊,,包括FIFO清空和寫入,。
2.3.1 FIFO數(shù)據(jù)清空
當FIFO中數(shù)據(jù)滿時或AVR啟動數(shù)據(jù)采集周期時都要先將FIFO中的數(shù)據(jù)清零,以防止FIFO溢出造成數(shù)據(jù)丟失或采集到錯誤的數(shù)據(jù),。針對FIFO清零時序,,設(shè)計了由AVR控制的清零電路模塊。執(zhí)行清零FIFO命令時,,首先向CPLD中寫入清零信號MR電平拉低命令,,命令字為0xF0;然后向CPLD中寫入清零信號MR電平拉高命令,,命令字為0x0F(任何非0xF0均可),。由于AVR單片機的時鐘脈沖為8 MHz,因而這一過程必定能夠滿足清零脈沖的持續(xù)時間要求,,F(xiàn)IFO即被清空,。
2.3.2 單路FIFO數(shù)據(jù)寫入
光電二極管接收的信號經(jīng)前置放大及整形后頻率比較高,由于系統(tǒng)一共有4路信號,,AVR來不及直接去讀取每個跳變沿的計數(shù)值,因而通過FIFO暫時緩存,,待采樣周期過后,AVR再從FIFO中讀出計數(shù)值,。要把計數(shù)值寫入FIFO中,必須有正確的寫信號,,CY7C433對讀寫信號的時序有要求,,寫信號脈寬tPW≥15 ns,數(shù)據(jù)建立時間tSD≥8 ns,,數(shù)據(jù)保持時間tHD無最小值要求,。據(jù)此本文設(shè)計了圖5所示的FIFO數(shù)據(jù)寫信號產(chǎn)生電路,這一電路實質(zhì)上是一個跳沿提取電路,。輸入的數(shù)字脈沖信號首先經(jīng)過三個觸發(fā)器延時三個時鐘周期,,之后對原信號進行異或,,這樣在信號的每個跳沿到來時便能產(chǎn)生一個3個時鐘脈沖寬度的低電平脈沖。當CPLD時鐘選為40 MHz時,,此低電平脈沖的脈寬為75 ns,,足以滿足FIFO對寫信號的要求。
在此低電平寫信號產(chǎn)生后還要經(jīng)過一級觸發(fā)器進行時鐘同步,,以避免CPLD設(shè)計中經(jīng)常出現(xiàn)的競爭與冒險問題[5],,同時將其上升沿同步于時鐘脈沖的下降沿,正好滿足FIFO寫入時序中對數(shù)據(jù)建立時間的要求,。
2.3.3 4路FIFO數(shù)據(jù)處理
在整個系統(tǒng)中共有4個激光掃描傳感器,,即會產(chǎn)生4路信號,且每路信號都會生成獨立的FIFO寫信號,,因而共產(chǎn)生4路寫信號,。當4路寫信號中有2路或多路信號同時到來時,寫入FIFO中的數(shù)據(jù)會產(chǎn)生紊亂,,而造成數(shù)據(jù)寫入錯誤或數(shù)據(jù)丟失,。因此,設(shè)計了一個多路寫信號處理電路,,當只有某一路信號中有寫信號產(chǎn)生時,,寫信號處理電路中產(chǎn)生一個與之對應(yīng)的寫信號脈沖;當某兩路或多路信號中有寫信號產(chǎn)生時,,只產(chǎn)生一個與之對應(yīng)的寫信號脈沖,。為了避免數(shù)據(jù)丟失,為數(shù)據(jù)加上4位的數(shù)據(jù)來源標志位,,當多路信號同時到達時,,對應(yīng)于有寫信號產(chǎn)生的標志位置“1”。多路寫信號處理電路如圖6所示,。
多路寫信號處理電路在QuartusII9.0環(huán)境下的仿真結(jié)果如圖7所示,,圖中sgg為輸入的單路寫信號脈沖,wrout為輸出的多路寫信號[6-7],。
3 AVR數(shù)據(jù)采集
3.1 FIFO地址譯碼電路
CY7C433芯片的數(shù)據(jù)寬度為9 bit,因而本系統(tǒng)中采用了4片F(xiàn)IFO芯片進行擴展,。AVR的數(shù)據(jù)總線位寬為8 bit,為了降低外圍電路的復雜性,,每個FIFO芯片只用其中的8位,,在讀取時按照從高8位到低8位的順序進行數(shù)據(jù)讀取。因此,,共需要4個讀信號才能將一個數(shù)據(jù)完整地讀入AVR中,。數(shù)據(jù)的讀取方式為,給每個FIFO芯片配置一個唯一的數(shù)據(jù)地址,數(shù)據(jù)按址讀取,。為此本文設(shè)計了相應(yīng)的FIFO讀信號地址譯碼電路,,輸出信號控制FIFO芯片的讀信號使能端。首先地址信號通過一個2-4譯碼器進行譯碼,譯碼結(jié)果與寫信號同步后輸出即得到4個FIFO芯片的讀使能信號,。
3.2 數(shù)據(jù)采集程序流程圖
綜合前文所有的分析說明,,編寫了AVR+CPLD+FIFO信號的C語言程序,圖8是程序流程圖,。該程序中包含了FIFO清零,、采集周期啟停控制,、FIFO狀態(tài)判斷,、數(shù)據(jù)來源分析、數(shù)據(jù)有效性判斷等多個子項,,最終采集得到一個掃描周期的準確,、有效的數(shù)據(jù)以供后續(xù)電路進行處理。通過試驗證明,,程序達到了預期目的,。
本文對激光掃描車身坐標測量系統(tǒng)的數(shù)據(jù)采集部分進行了深入研究,設(shè)計了基于“AVR+FIFO+CPLD”的數(shù)據(jù)采集及處理模塊,;解決了當多路信號有數(shù)據(jù)同時傳輸時,,如何將數(shù)據(jù)完整地寫入FIFO的問題,實現(xiàn)了數(shù)據(jù)的有效采集,;編寫了完整的CPLD控制程序和AVR數(shù)據(jù)采集程序,,為準確測量待測點的坐標提供了可靠的數(shù)據(jù)來源。
參考文獻
[1] 戴耀輝,臧杰.車身損傷測量在車身修理中的重要性及其方法[J].汽車技術(shù),2003(12):43-47.
[2] 李家漢,劉文輝.白車身三坐標檢測點的布置及優(yōu)化[J]. 華東交通大學學報,2003,20(5):107-110.
[3] 李玉娟,王琪.基于ATmega128L的智能探測車的設(shè)計與實現(xiàn)[J].自動化技術(shù)與應(yīng)用,,2007,,26(3):42-44.
[4] 盧山,于繼銘.基于AVR單片機和CPLD的核磁共振儀床體檢測系統(tǒng)[J].機械與電子,2007(7):40-42.
[5] 孫加存.淺析FPGA/PLD設(shè)計中的競爭與冒險問題[J]. 大眾科技,,2005(4):140-141.
[6] 班瑩.基于靶標合作的三維坐標激光測量系統(tǒng)的研究[D].天津:天津大學,2007.
[7] MENDES A, BENTO L C, NUNE U R. Multi2target detection and tracking with a laserscanner[C]//2004 IEEE Intelligent Vehicles Symposium,2004:796-801.