服務(wù)熱線
13713178909
電 話:13713178909
地 址:廣東省東莞市南城區(qū)白馬黃金路1號天安數(shù)碼城A1棟1105
聯(lián)系人:張先生
手機(jī):13713178909
QQ:398405621
重慶分公司
聯(lián)系人:李小姐
手機(jī):18102328695
地 址:重慶市南岸區(qū)茶園新區(qū)玉馬路8號中國智能企業(yè)園D棟419
條碼技術(shù)為快速準(zhǔn)確的數(shù)據(jù)采集,、數(shù)據(jù)錄入提供了有效、可靠的手段,,它與計(jì)算機(jī),、網(wǎng)絡(luò)通訊等一起構(gòu)成了現(xiàn)代商業(yè)自動化的基礎(chǔ),在發(fā)達(dá)國家得到了非常普通的應(yīng)用,,如在超級市場中大量使用的激光全向掃描識讀器,。全向識讀器一方面能幫助商場提高工作效率而產(chǎn)生效益,另一方面,,它具有高的附加值能使制造者獲利,。隨著國際市場一體化的趨勢,我國商品條形碼的普及率越來越高,,條碼輸入設(shè)備作為信息化技術(shù)之一受到高度重視,。
高速譯碼是全向掃描識讀器的關(guān)鍵。全向掃描識讀器在工作時有它的特殊性,,一方面,,光點(diǎn)掃描速度很高,,條碼的*小條、空對應(yīng)的脈沖寬度僅為1~2μs,;另一方面,,在掃描信號中可能會有大量雜散背景存在,如掃描到的文字,、圖案,、或未被完整掃描的條碼,再考慮到自動碼制識別,,這意味著譯碼系統(tǒng)在真正譯碼前有大量的預(yù)處理工作,。按照我國目前的微電子工藝水平,還無力研制全集成的高速硬件譯碼芯片,,而僅基于單片機(jī)的軟件譯碼系統(tǒng)的速度不能滿足譯碼要求,,下面我們采用了用硬件預(yù)處理結(jié)合軟件譯碼的方法實(shí)現(xiàn)高速譯碼。
1 識讀器原理
光學(xué)系統(tǒng)包括半導(dǎo)體激光器發(fā)射系統(tǒng)和光學(xué)轉(zhuǎn)鏡掃描機(jī)構(gòu),,它們在工作區(qū)域產(chǎn)生所需的多線掃描圖案,,保證當(dāng)條碼以任何方向移過工作區(qū)時必定被掃描到。當(dāng)光點(diǎn)掃描一條碼時,,漫反射光強(qiáng)隨光點(diǎn)落在條(低反射率)或空(高反射率)上的反射率不同而變化,。這個信號幅度變化的時間間隔反映條碼的條空的寬窄,光電接收系統(tǒng)接收從條碼上漫反射回來的光信號,,經(jīng)整形后轉(zhuǎn)換成可供譯碼的脈沖信號,。高速譯碼器將脈沖信號翻譯成為被掃描的條碼所代表的值,并通過輸出接口電路輸出該條碼值
2 高速譯碼系統(tǒng)設(shè)計(jì)
我們目前的研制主要針對常用商品條碼,,每種條碼都有自已的特征,。以EAN碼(EAN-13碼,EAN-8碼)為例,,碼串由起始符,、數(shù)據(jù)符、中間符,、數(shù)據(jù)符和結(jié)束符組成,。起始符由一個寬空和三個等寬度(單位寬度)的條空條組成,寬空的寬度應(yīng)至少8倍于單位寬度,;中間符由五個等寬度(單位寬度)的空條空條空組成,;結(jié)束符由三個等寬度(單位寬度)的條空條和一個寬空組成。在數(shù)據(jù)符中,,每個數(shù)據(jù)由四個條空組成,,寬度比在1~4之間,總寬度為7個單位寬度,,碼串的總長度也是確定的,。這些特征是EAN碼信號區(qū)別于背景信號的根據(jù)。
在光學(xué)系統(tǒng)中,,光點(diǎn)掃描的線速度約為60~120m/s,。一般,條碼條空的*小寬度約0.25mm,,*寬約2.5mm左右,,因此,*小脈沖寬度約2μs,,*大脈沖寬度40μs,。當(dāng)商品移過掃描區(qū)時,掃描到的文字,,圖案和未被完整掃描的條碼形成雜散背景,,再考慮到自動碼制識別,如果只用簡單的單片機(jī)系統(tǒng),,則譯碼速度太慢,,不能滿足要求。因此,,在我們的設(shè)計(jì)中,,譯碼硬件系統(tǒng)包括預(yù)處理單元和單片機(jī)譯碼單元兩部分。
2.1預(yù)處理單元
預(yù)處理單元完成從信號序列中實(shí)時提取條碼信號并保存在數(shù)據(jù)緩沖區(qū)的功能,,對條碼的譯碼由單片機(jī)完成,。
輸入信號為已經(jīng)整形的脈沖數(shù)字信號,脈沖寬度對應(yīng)于條碼條,、空及雜散線條的寬度,,為模擬量。在預(yù)處理中首先用非線性計(jì)數(shù)器對該寬度進(jìn)行模數(shù)轉(zhuǎn)換,,分辨率為9位,,當(dāng)寬度超過9位時,計(jì)數(shù)值鎖定在滿度,。用非線性除法器計(jì)算相鄰條,、空或空、條的寬度比,??紤]到條碼印刷、掃描光點(diǎn)及電子電路等環(huán)節(jié)會給寬度帶來誤差,,寬度比不會是理論上的整數(shù),,因此,非線性除法器設(shè)計(jì)成誤差包容,,且輸出經(jīng)過取整和分類,,僅為多個有效比值1,、2、3,、4,、8和一個異常比值0。比值進(jìn)入一系列狀態(tài)機(jī)進(jìn)行狀態(tài)計(jì)算,,狀態(tài)機(jī)的數(shù)量與條碼種類數(shù)及每類條碼的特征數(shù)有關(guān),。每類條碼占用獨(dú)立的一組狀態(tài)機(jī),對EAN碼,,有三個狀態(tài)機(jī),,分別檢測起始符、中間符和結(jié)束符,。當(dāng)以空起頭的連續(xù)四個條空其寬度比滿足7:1:1時,,判斷為一個有效的起始符,起始符狀態(tài)機(jī)輸出為真,;當(dāng)以空起頭的連續(xù)五個條空其寬度比滿足1:1:1:1時,,判斷為一個有效的中間符,中間符狀態(tài)機(jī)輸出為真,;當(dāng)以條起頭的連續(xù)四個條空其寬度比滿足1:1:7時,,判斷為一個有效的結(jié)束符,結(jié)束符狀態(tài)機(jī)輸出為真,。因此,,根據(jù)狀態(tài)機(jī)的輸出真假及順序判斷一段信號是否是條碼,作出的判斷產(chǎn)生緩沖區(qū)的控制信號,,決定是否把當(dāng)前的輸入信號保存,。當(dāng)找出一組條碼信號后,產(chǎn)生聯(lián)絡(luò)信號通知單片機(jī)進(jìn)行譯碼,。輸出信號包括數(shù)字化的條,、空的寬度和聯(lián)絡(luò)信號。由于狀態(tài)計(jì)算及狀態(tài)判斷是實(shí)時和并行的,,所以可實(shí)現(xiàn)實(shí)時判斷條碼種類,、阻止非條碼信號進(jìn)入緩沖區(qū)等功能。
預(yù)處理單元采用可編程邏輯器件實(shí)現(xiàn),,具有高的集成度和可靠性,。用硬件描述語言進(jìn)行設(shè)計(jì),在軟件開發(fā)環(huán)境下用測試矢量進(jìn)行100%的設(shè)計(jì)功能測試,,測試通過后硬件不需要再調(diào)試,,因此研制效率很高。預(yù)處理響應(yīng)時間應(yīng)不大于*小條碼寬度所對應(yīng)的時間,我們?nèi)?μs,。按框圖,,預(yù)處理分6個步驟,其中非線性除法器延時不大于200ns,,其余每個步驟延時不大于50ns,,總延時不大于500ns。我們采用美國Atmel公司的EPLD器件ATV2500,,用2片芯片實(shí)現(xiàn)了上述功能。經(jīng)使用表明預(yù)處理響應(yīng)時間小于1μs,,達(dá)到設(shè)計(jì)要求,。
2.2單片機(jī)譯碼單元
條碼值的翻譯用單片機(jī)完成。單片機(jī)采用美國Dallas公司的80C320,,它是內(nèi)核改進(jìn)型的51系列單片機(jī),,有中等的運(yùn)算速度。系統(tǒng)原理如圖3所示,,整個電路以單片機(jī)為核心,,包括存放程序的存儲器、預(yù)處理器接口電路,、激光二極管控制電路,、RS-232串行通訊接口電路、仿鍵盤輸出接口電路,、電機(jī)控制電路和用以指示譯碼成功的發(fā)聲發(fā)光電路,。輸入數(shù)據(jù)來自數(shù)據(jù)緩沖區(qū),由于緩沖區(qū)的數(shù)據(jù)已基本上是條碼數(shù)據(jù),,單片機(jī)只須進(jìn)行單一的碼值譯碼,,對運(yùn)算速度要求大大降低。軟件設(shè)計(jì)包括對信號的進(jìn)一步篩選,,碼值的確定,,奇偶校驗(yàn);轉(zhuǎn)鏡電機(jī)與激光二極管的自動開啟和關(guān)閉,,任選的RS-232串行通訊或仿健盤輸出方式與主機(jī)通訊,,以及表明譯碼成功的聲光指示等。程序用C-51語言編寫,,無糾錯的一次譯碼約需10ms,,一位糾錯的一次譯碼約需40ms。*終輸出采用3取2策略,,以提高正確率,。
總之,把高速譯碼系統(tǒng)與光學(xué)掃描系統(tǒng)連用后組成的識讀器,,經(jīng)實(shí)測具有良好的性能,,其譯碼速度和成功率達(dá)到了實(shí)際使用要求,。