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