條碼技術最早產(chǎn)生在風聲鶴唳的二十年代,誕生于Westinghouse的實驗室里。那時候?qū)﹄娮蛹夹g應用方面的每一個設想都使人感到非常新奇。他的想法是在信封上做條碼標記,條碼中的信息是收信人的地址,就象今天的郵政編碼。為此Kermode發(fā)明了最早的條碼標識,設計方案非常的簡單,即一個"條"表示數(shù)字"1",二個"條"表示數(shù)字"2",以次類推。然后,他又發(fā)明了由基本的元件組成的條碼識讀設備:一個掃描器(能夠發(fā)射光并接收反射光);一個測定反射信號條和空的方法,即邊緣定位線圈;和使用測定結果的方法,即譯碼器。
基于ARM單片機的條碼定位技術具有讀數(shù)客觀、測量速度快、精度高的優(yōu)點,可以克服傳統(tǒng)目視讀數(shù)存在的讀數(shù)過程繁瑣、讀數(shù)時間長、人為誤差大、自動化程度低等缺點。該技術具有相當廣泛的應用領域,既適合于近距離、高精度定位要求的各種光電絕對式位移編碼器;也適合于測量距離大范圍變化、大量程要求的大地高程測量、大壩沉陷觀測、路面平整度測量等方面。本文提出了一種基于ST半導體公司的32位高性能處理器STR912FW44X6的測量系統(tǒng)方案。
系統(tǒng)結構
本系統(tǒng)由以下幾個部分組成:條碼標尺、光學系統(tǒng)、CMOS圖像采集模塊、STR912主控板、鍵盤與液晶顯示模塊、電源模塊和計算機測試系統(tǒng)。 硬件結構框圖如圖1所示。
系統(tǒng)工作原理如下:帶有精密位置信息的條碼圖像通過光學系統(tǒng),成像在CMOS圖像傳感器光敏面上,STR912FW44X6處理器對SVI公司的LIS-1024圖像傳感器進行自動曝光控制后,采集圖像信息,經(jīng)過算法處理,獲得條碼帶有的位置信息。
當系統(tǒng)進行高速圖像采集時,STR912FW44X6處理器將采集信號通過以太網(wǎng)接口送往計算機測量系統(tǒng),進行最終的數(shù)據(jù)處理。
硬件設計
圖像采集模塊
圖像采集模塊主要由線陣CMOS圖像傳感器(LIS-1024)、運算放大器(TLV2221IDBVR)組成。視頻信號經(jīng)運算放大器放大后傳送到STR912FW44X6主處理器進行A/D轉(zhuǎn)換,轉(zhuǎn)變?yōu)閿?shù)字圖像信號。 字串8
STR912FW44X6主處理器直接控制圖像采集時序,圖像采集模塊本身并沒有自動曝光功能,對環(huán)境光強的變化需要由主芯片對采集到的圖像信號進行分析,然后通過對圖像傳感器的控制來實現(xiàn)自適應環(huán)境光強的功能。
主機板模塊
系統(tǒng)主芯片是基于ARM966E-S核的高性能嵌入式芯片STR912FW44X6,運算速度達96MIPS,支持單周期DSP指令。芯片的系統(tǒng)外圍包括時鐘、復位、電源管理、向量中斷控制器(VIC)、內(nèi)部PLL、RTC、定時器、9個可編程DMA通道和多達80個GPIO.還有8通道10位ADC、3相電機控制器、PWM輸出和多種通訊接口。
芯片內(nèi)建雙組Flash,可利用芯片上任意通訊口實現(xiàn)在系統(tǒng)編程功能。主芯片外接1 片64MB內(nèi)存(芯片ST-M25P64)來擴展存儲空間。
主機板外圍接口
主要有CMOS圖像傳感器接口、RS-232接口、I2C接口和10/100M以太網(wǎng)接口。
CMOS圖像傳感器的接口主要實現(xiàn)對圖象傳感器的自動曝光控制和圖象采集;RS-232接口(芯片SP3222)實現(xiàn)程序下載,與上位機通訊,接受上位機指令控制;I2C接口實現(xiàn)主芯片與鍵盤和液晶顯示模塊之間的通訊;10/100M以太網(wǎng)接口(芯片STE100P)配合計算機軟件實現(xiàn)高速圖像采集。 ARM開發(fā)論壇
鍵盤與液晶顯示屏模塊
鍵盤模塊選用ATMega48芯片實現(xiàn)鍵盤控制和I2C通訊,以及LCD屏模塊I2C通訊。
軟件設計
系統(tǒng)軟件的流程如圖2所示。
軟件功能
軟件的功能主要是圖像的條碼定位算法,包括以下內(nèi)容:
條碼檢測:從條碼信號中提取各種特征參量,通常包括各條碼邊緣位置、中心、寬度的檢測,碼字劃分。
根據(jù)標尺已知參數(shù)確定物像比,同時求出視距,計算基準位置相對于目標碼位置的相對距離,按物像比放大到真實尺寸d2(精度結果)。
. 解碼:相當于信源編碼的逆過程,計算目標碼字的碼字位置d1(粗讀結果)。標尺最終讀數(shù)ds為粗讀與精讀結果之和:ds=d1+d2.
本系統(tǒng)采用了等間隔周期性位移條碼,利用條碼等間距結構,通過提取與條碼等間距對應的特征譜線計算物像比,進而得到條碼的等效寬度序列,最后根據(jù)條碼周期性實現(xiàn)解碼。 ARM
軟件架構
整個軟件采用嵌入式操作系統(tǒng)mCOS-II作為主要載體,軟件主要分五個線程,系統(tǒng)上電啟動后五個線程并行工作。五個線程分別是:串口控制、I2C接口控制、以太網(wǎng)接口控制、系統(tǒng)菜單控制、數(shù)據(jù)采集和解碼。
測試結果
為了考察系統(tǒng)的性能,設計了與精度為0.004mm的螺旋測微計比對實驗。利用螺旋測微計測量條碼標尺實際移動的數(shù)值,每次條碼標尺移動0.500mm,總共測量11次數(shù)據(jù),得到11個不同位置處的條碼值,計算差值進行比對。測量結果如表1所示。
從測量數(shù)據(jù)看出,系統(tǒng)測量數(shù)據(jù)的偏差值在±0.0185mm以內(nèi),說明系統(tǒng)的測量達到了一定的精度。
對系統(tǒng)分辨率作了初步測試。保持條碼和測量系統(tǒng)的相對位置不變,連續(xù)測量10次數(shù)據(jù),如表2所示。
測量數(shù)據(jù)平均值為130.5049mm,系統(tǒng)測量算術偏差在±0.3mm內(nèi),即現(xiàn)有系統(tǒng)的分辨率約為0.3mm.采用系統(tǒng)誤差標定,軟件算法改進等措施后,有望進一步提高系統(tǒng)的測量精度。
結語
本系統(tǒng)是一種基于ARM的精密視覺測量平臺,實現(xiàn)了條碼的精密測量功能。在該平臺上進一步開發(fā),形成的系統(tǒng)可以應用于一維、二維長度的精密測量,具有較為廣闊的應用前景。