一種一維激光條碼的快速識別方法及裝置制造方法
【專利摘要】本發(fā)明提出了一種一維激光條碼的快速識別方法,包括:SOS邊沿信號是否到來,如是,開始接收DATA條碼數(shù)據(jù)并執(zhí)行下一步驟;否則,繼續(xù)判斷;取得始端空白區(qū)數(shù)據(jù)及條碼字符數(shù)據(jù)并存在緩沖區(qū)中;開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,設(shè)定時間是否到來,如是,下一邊沿信號是否到來;否則,執(zhí)行下一步驟;如下一邊沿信號到來則執(zhí)行下一步驟;否則,等待直到到來并執(zhí)行下一步驟;開始識讀;將緩沖區(qū)數(shù)據(jù)轉(zhuǎn)存到正向及反向緩沖區(qū)并執(zhí)行下一步驟,開始進入對下一條碼數(shù)據(jù)的接收并返回;解碼;輸出條碼。本發(fā)明還涉及一種實現(xiàn)上述方法的裝置。實施本發(fā)明的一維激光條碼的快速識別方法及裝置,具有以下有益效果:節(jié)省時間、識讀速度較快。
【專利說明】一種一維激光條碼的快速識別方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一維條碼領(lǐng)域,特別涉及一種一維激光條碼的快速識別方法及裝置。
【背景技術(shù)】
[0002]目前市面上對DATA(串行條碼數(shù)據(jù))條碼信號的接收都是由SOS (串行條碼數(shù)據(jù)掃描周期)邊沿信號作為開始及結(jié)束周期,也就是當SOS邊沿信號到來時,開始接收DATA條碼數(shù)據(jù),當下一個SOS邊沿信號到來時,結(jié)束DATA條碼數(shù)據(jù)的接收,然后再開始識讀,這樣在DATA條碼信號占用時間短的情況下,下一個SOS邊沿信號還未到來時就結(jié)束了對DATA條碼數(shù)據(jù)的接收,并要等待SOS邊沿信號到來才開始識讀,這樣從DATA條碼數(shù)據(jù)結(jié)束接收到下一 SOS邊沿信號到來之間的時間段內(nèi)沒有做任何事情,致使這個時間段不能被充分的利用,造成時間的浪費,而且識讀速度較慢。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述浪費時間、識讀速度較慢的缺陷,提供一種節(jié)省時間、識讀速度較快的一維激光條碼的快速識別方法及裝置。
[0004]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種一維激光條碼的快速識別方法,包括如下步驟:
A)判斷SOS周期信號的邊沿信號是否到來,如是,開始接收DATA條碼數(shù)據(jù)并執(zhí)行步驟B);否則,繼續(xù)進行本步驟的判斷;所述DATA條碼數(shù)據(jù)包括兩側(cè)的空白區(qū)數(shù)據(jù)和位于所述空白區(qū)之間的DATA條碼字符數(shù)據(jù);所述DATA條碼字符數(shù)據(jù)包括依次交替排列的條和空,一個所述條或空為一個單元;
B)取得始端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中;
C)取得所述始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù)并存放在緩沖區(qū)中;
D)開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,并判斷設(shè)定時間是否到來,如是,執(zhí)行步驟F);否則,執(zhí)行步驟E);所述設(shè)定時間至少大于所述單元的時間寬度的設(shè)定倍數(shù);
E)判斷所述SOS周期信號的下一邊沿信號是否到來,如是,執(zhí)行步驟F);否則,等待直到所述SOS周期信號的下一邊沿信號到來并執(zhí)行步驟F);
F)對所述緩沖區(qū)中的數(shù)據(jù)開始識讀;
G)將所述緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,并將所述緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)轉(zhuǎn)存到反向緩沖區(qū)中并執(zhí)行步驟H),同時開始進入對下一個DATA條碼數(shù)據(jù)的接收并返回步驟B);
H)對所述正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼;
I)輸出所述正向緩沖區(qū)中的數(shù)據(jù)或所述反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼。
[0005]在本發(fā)明所述的一維激光條碼的快速識別方法中,所述設(shè)定時間大于所述DATA條碼數(shù)據(jù)中最后一個單元的時間寬度的3倍。
[0006]在本發(fā)明所述的一維激光條碼的快速識別方法中,所述步驟H)進一步包括: HI)判斷所述正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征,如是,執(zhí)行步驟H2);否則,執(zhí)行步驟H3);
H2)判斷是否對所述第一條碼類型進行識讀,如是,執(zhí)行步驟I);否則,執(zhí)行步驟H3);H3)判斷所述反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征,如是,執(zhí)行步驟H4);否則,執(zhí)行步驟H5);
H4)判斷是否對所述第一條碼類型進行識讀,如是,執(zhí)行步驟I);否則,執(zhí)行步驟H5);H5)按照所述步驟HI)、H2)、H3)和H4)的方式再判斷是否符合其他條碼類型的特征,如是,執(zhí)行步驟I);否則,取得下一個DATA條碼數(shù)據(jù)并返回步驟F)。
在本發(fā)明所述的一維激光條碼的快速識別方法中,所述特征為所述DATA條碼數(shù)據(jù)的編碼元素的寬窄特征,所述DATA條碼數(shù)據(jù)為數(shù)字量或模擬量。
[0007]在本發(fā)明所述的一維激光條碼的快速識別方法中,所述步驟I)中的條碼通過USB
直接輸出。
[0008]本發(fā)明還涉及一種實現(xiàn)上述一維激光條碼的快速識別方法的裝置,包括:
邊沿信號判斷單元:用于判斷SOS周期信號的邊沿信號是否到來,如是,開始接收DATA
條碼數(shù)據(jù);否則,繼續(xù)進行判斷;所述DATA條碼數(shù)據(jù)包括兩側(cè)的空白區(qū)數(shù)據(jù)和位于所述空白區(qū)之間的DATA條碼字符數(shù)據(jù);所述DATA條碼字符數(shù)據(jù)包括依次交替排列的條和空,一個所述條或空為一個單元;
始端數(shù)據(jù)取得單元:用于取得始端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中;
字符數(shù)據(jù)取得單元:用于取得所述始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù)并存放在緩沖區(qū)中;
終端數(shù)據(jù)取得單元:用于開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,并判斷設(shè)定時間是否到來;所述設(shè)定時間至少大于所述單元的時間寬度的設(shè)定倍數(shù);
邊沿信號判斷單元:用于判斷所述SOS周期信號的下一邊沿信號是否到來,并在未到來時等待直到所述SOS周期信號的下一邊沿信號到來;
識讀單元:用于對所述緩沖區(qū)中的數(shù)據(jù)開始識讀;
數(shù)據(jù)轉(zhuǎn)存單元:用于將所述緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,并將所述緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)轉(zhuǎn)存到反向緩沖區(qū)中,同時開始進入對下一個DATA條碼數(shù)據(jù)的接收;
解碼單元:用于對所述正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼;
條碼輸出單元:用于輸出所述正向緩沖區(qū)中的數(shù)據(jù)或所述反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼。
[0009]在本發(fā)明所述的實現(xiàn)上述一維激光條碼的快速識別方法的裝置中,所述設(shè)定時間大于所述DATA條碼數(shù)據(jù)中最后一個單元的時間寬度的3倍。
[0010]在本發(fā)明所述的實現(xiàn)上述一維激光條碼的快速識別方法的裝置中,所述解碼單元進一步包括:
正向緩沖數(shù)據(jù)判斷模塊:用于判斷所述正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征;
識讀模塊:用于判斷是否對所述第一條碼類型進行識讀;
反向緩沖數(shù)據(jù)判斷模塊:用于判斷所述反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征; 識讀判斷模塊:用于判斷是否對所述第一條碼類型進行識讀,如不是,則繼續(xù)判斷是否符合其他條碼類型的特征;
其他類型條碼判斷模塊:用于按照所述正向緩沖數(shù)據(jù)判斷模塊、識讀模塊、反向緩沖數(shù)據(jù)判斷模塊和識讀判斷模塊中的方式再判斷是否符合其他條碼類型的特征;如不符合,取得下一個DATA條碼數(shù)據(jù)并返回。
[0011]在本發(fā)明所述的實現(xiàn)上述一維激光條碼的快速識別方法的裝置中,所述特征為所述DATA條碼數(shù)據(jù)的編碼元素的寬窄特征,所述DATA條碼數(shù)據(jù)為數(shù)字量或模擬量。
[0012]在本發(fā)明所述的實現(xiàn)上述一維激光條碼的快速識別方法的裝置中,所述條碼輸出單元中的條碼通過USB直接輸出。
[0013]實施本發(fā)明的一維激光條碼的快速識別方法及裝置,具有以下有益效果:由于在開始取得終端空白區(qū)數(shù)據(jù)時并判斷設(shè)定時間是否到來,當設(shè)定時間到來時,就開始識讀;當設(shè)定時間未到來時,則判斷SOS周期信號的下一邊沿信號是否到來,如果到來,則開始識讀;這樣就將接收完DATA條碼數(shù)據(jù)到下一個SOS邊沿信號到來之間的時間充分利用起來,提前開始識讀,所以其節(jié)省時間、識讀速度較快。
【專利附圖】
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明一維激光條碼的快速識別方法及裝置一個實施例中方法的流程圖; 圖2為所述實施例中DATA條碼波形示意圖;
圖3為所述實施例中解碼的具體流程圖;
圖4是所述實施例中裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0016]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0017]在本發(fā)明一維激光條碼的快速識別方法及裝置實施例中,其方法的流程圖如圖1所示。圖1中,該方法包括如下步驟:
步驟SOl判斷SOS周期信號的邊沿信號是否到來:本步驟中,判斷SOS周期信號的邊沿信號是否到來,如果到來,則執(zhí)行步驟S02 ;否則,繼續(xù)進行本步驟的判斷。值得一提的是,這里的SOS周期信號的邊沿信號可以是上升沿信號,也可以是下降沿信號。
[0018]步驟S02開始接收DATA條碼數(shù)據(jù):如果上述步驟SOl的判斷結(jié)果為是,則執(zhí)行本步驟。本實施例中,DATA條碼數(shù)據(jù)是一維條碼解碼的數(shù)據(jù),DATA條碼數(shù)據(jù)包括兩側(cè)的空白區(qū)數(shù)據(jù)和位于空白區(qū)之間的DATA條碼字符數(shù)據(jù);DATA條碼字符數(shù)據(jù)掃描識讀后需要傳輸處理,左右兩側(cè)的空白區(qū)僅供條碼掃描識讀時使用,不需要參與信息代碼傳輸。DATA條碼字符數(shù)據(jù)包括依次交替排列的條(黑條)和空(空白),條碼信息靠條和空的不同寬度和位置來傳遞,包含條碼所表達的特定信息。上述一個條或空為一個單元;兩側(cè)的空白區(qū)分別叫做DATA條碼字符的始端空白區(qū)和終端空白區(qū)。本步驟中,準備好開始接收DATA條碼數(shù)據(jù)。
[0019]步驟S03取得始端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中:本步驟中,當SOS周期邊沿信號到來時,開始獲取始端空白區(qū)數(shù)據(jù),并將其存放在緩沖區(qū)中。值得一提的是,本實施例中,將空白區(qū)和空設(shè)置成高電平,將黑條設(shè)置成低電平,請參見圖2中的DATA條碼波形。當然,在其他實施例中,也可以將空白區(qū)和空設(shè)置成低電平,將黑條設(shè)置成高電平。
[0020]步驟S04取得始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù)并存放在緩沖區(qū)中:本步驟中,在始端空白區(qū)的高電平發(fā)生跳變時開始取得始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù),并將該條碼字符數(shù)據(jù)存放在緩沖區(qū)中。
[0021]步驟S05開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,并判斷設(shè)定時間是否到來:本步驟中,當條碼字符數(shù)據(jù)的最后一個黑條的低電平發(fā)生跳變時,開始取得終端空白區(qū)數(shù)據(jù),并將終端空白區(qū)數(shù)據(jù)存放在緩沖區(qū)中,同時從最后一個黑條的低電平發(fā)生跳變的時刻開始判斷設(shè)定時間是否到來,如是,執(zhí)行步驟S08 ;否則,執(zhí)行步驟S06。本實施例中,設(shè)定時間至少大于單元(黑條或空白)的時間寬度的設(shè)定倍數(shù),設(shè)定倍數(shù)可根據(jù)實際情況進行設(shè)定。具體地,本實施例中,設(shè)定時間大于DATA條碼數(shù)據(jù)中最后一個單元的寬度的3倍,請參見圖2中Hn,圖2中,設(shè)定時間為Hn > 3Ln。當然,根據(jù)具體情況,也可以調(diào)整Hn的大小,比如:可以是Hn > 2Ln。這樣就將接收完DATA條碼數(shù)據(jù)到下一個SOS邊沿信號到來之間的時間充分利用起來,提前開始識讀,所以其節(jié)省時間、識讀速度較快。
[0022]步驟S06判斷SOS周期信號的下一邊沿信號是否到來:如果上述步驟S05的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,判斷SOS周期信號的下一邊沿信號是否到來,也即判斷與SOS周期信號的上一邊沿信號相鄰的下一個沿信號是否到來,如是,執(zhí)行步驟S08 ;否貝U,執(zhí)行步驟S07。
[0023]步驟S07等待直到SOS周期信號的下一邊沿信號到來:如果上述步驟S06的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,一直等待,到SOS周期信號的下一邊沿信號到來。執(zhí)行完本步驟,執(zhí)行步驟S08。
[0024]步驟S08對緩沖區(qū)中的數(shù)據(jù)開始識讀:本步驟中,計算機設(shè)備準備開始對緩沖區(qū)中的數(shù)據(jù)開始識讀。執(zhí)行完本步驟,執(zhí)行步驟S09,同時開始進入對下一個DATA條碼數(shù)據(jù)的接收并返回步驟S02。
[0025]步驟S09將緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,并將緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)轉(zhuǎn)存到反向緩沖區(qū)中:本步驟中,將緩沖區(qū)中存放的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,也即將緩沖區(qū)中存放的數(shù)據(jù)按正向讀取的順序轉(zhuǎn)存到正向緩沖區(qū)中,同時將緩沖區(qū)中的數(shù)據(jù)按反向讀取的順序轉(zhuǎn)存到反向緩沖區(qū)中。反向緩沖區(qū)中的數(shù)據(jù)是正向緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)。
[0026]步驟SlO對正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼:本步驟中,對正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼,關(guān)于如何具體地解碼,稍后會有詳細描述。
[0027]步驟Sll輸出正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼:本步驟中,輸出正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼,這是輸出的條碼為一維條碼,也就是已解碼的字符數(shù)據(jù)。比如:一維條碼可以是EAN13、EAN8、UPC-A、UPC-E、CODABAR(NW-7)、C0DE39、C0DE93、INTERLEAVED_20F5、STANDARD_20F5、MATRIX_20F5、CODE 128, EAN128(GS1-128)、CODElU CHINESE_P0ST 等。值得一提的是,本實施例中,一維條碼的識別方式為激光識別,當然,在其他實施例中,一維條碼的識別方式也可以是CCD識別或CMOS攝像頭識別?,F(xiàn)有技術(shù)中的USB不是直接輸出,而是采用串口 TTL轉(zhuǎn)USB,或者是PS2轉(zhuǎn)USB,這樣增加了外圍接口轉(zhuǎn)換芯片電路,從而增加生成成本,加大售后服務(wù)難度,降低輸出條碼數(shù)據(jù)速度。值得一提的是,本實施例中,條碼通過USB直接輸出的,這樣就不需要將串口 TTL轉(zhuǎn)USB或?qū)S2轉(zhuǎn)USB后再輸出條碼,所以減少了外圍電路,降低了生成成本,同時提高輸出條碼字符數(shù)據(jù)速度。
[0028]對于本實施例而言,上述步驟SlO還可進一步細化,其細化后的具體流程圖如圖3所示。圖3中,步驟SlO進一步包括:
步驟SlOl判斷正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征:本步驟中,判斷正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征,本實施例中,上述特征為DATA條碼數(shù)據(jù)的編碼元素的寬窄特征(時間寬度特征),如果本步驟的判斷結(jié)果為是,則執(zhí)行步驟S102 ;否貝U,執(zhí)行步驟S103。
[0029]步驟S102判斷是否對第一條碼類型進行識讀:如果上述步驟SlOl的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,判斷是否對第一條碼類型進行識讀,如是,執(zhí)行步驟Sll ;否貝U,執(zhí)行步驟S103。
[0030]步驟S103判斷反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征:如果上述步驟S102的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,判斷反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征,如是,則執(zhí)行步驟S104 ;否則,執(zhí)行步驟S105。
[0031]步驟S104判斷是否對第一條碼類型進行識讀:如果上述步驟S103的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,判斷是否對第一條碼類型進行識讀,如是,執(zhí)行步驟Sll ;否貝U,執(zhí)行步驟S105。
[0032]步驟S105按照所述步驟S101、S102、S103和S104的方式再判斷是否符合其他條碼類型的特征:如果上述步驟S104的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,按照所述步驟S101、S102、S103和S104的方式再判斷是否符合其他條碼類型的特征,如果判斷的結(jié)果為是,則執(zhí)行步驟Sll ;否則,執(zhí)行步驟S106。換句話說,本實施例中解碼時,對每一條碼類型依次進行判斷的,直到找出正向緩沖區(qū)中的數(shù)據(jù)或正向緩沖區(qū)中的數(shù)據(jù)所符合的條碼類型。
[0033]步驟S106取得下一個DATA條碼數(shù)據(jù):本步驟中,取得下一個DATA條碼數(shù)據(jù),并返回步驟S08。
[0034]現(xiàn)有技術(shù)中DATA條碼數(shù)據(jù)為數(shù)字量,造成條碼掃描信號信息量減少而制約讀碼性能。值得一提的是,本實施例中,DATA條碼數(shù)據(jù)為數(shù)字量或模擬量,與現(xiàn)有技術(shù)相比,本發(fā)明增加了條碼掃描信號信息量。
[0035]本實施例還涉及一種實現(xiàn)上述一維激光條碼的快速識別方法的裝置,其結(jié)構(gòu)示意圖如圖4所示。圖4中,該裝置包括邊沿信號判斷單元1、始端數(shù)據(jù)取得單元2、字符數(shù)據(jù)取得單元3、終端數(shù)據(jù)取得單元4、邊沿信號判斷單元5、數(shù)據(jù)轉(zhuǎn)存單元6、解碼單元7和條碼輸出單元8 ;其中,邊沿信號判斷單元I用于判斷SOS周期信號的邊沿信號是否到來,如是,開始接收DATA條碼數(shù)據(jù);否則,繼續(xù)進行判斷;DATA條碼數(shù)據(jù)包括兩側(cè)的空白區(qū)數(shù)據(jù)和位于空白區(qū)之間的DATA條碼字符數(shù)據(jù);DATA條碼字符數(shù)據(jù)包括依次交替排列的條和空,一個條或空為一個單元;始端數(shù)據(jù)取得單元2用于取得始端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中;字符數(shù)據(jù)取得單元3用于取得始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù)并存放在緩沖區(qū)中;終端數(shù)據(jù)取得單元4用于開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,并判斷設(shè)定時間是否到來;設(shè)定時間至少大于單元的時間寬度的設(shè)定倍數(shù);邊沿信號判斷單元5用于判斷SOS周期信號的下一邊沿信號是否到來,并在未到來時等待直到SOS周期信號的下一邊沿信號到來;識讀單元6用于對緩沖區(qū)中的數(shù)據(jù)開始識讀;數(shù)據(jù)轉(zhuǎn)存單元7用于將緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,并將緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)轉(zhuǎn)存到反向緩沖區(qū)中,同時開始進入對下一個DATA條碼數(shù)據(jù)的接收;解碼單元8用于對正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼;條碼輸出單元9用于輸出正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼。上述設(shè)定時間大于DATA條碼數(shù)據(jù)中最后一個單元的時間寬度的3倍。由于搶占接收DATA條碼數(shù)據(jù)結(jié)束時間,提前識讀,所以縮短了識讀時間,提高了識讀速度。同時,本實施例中,條碼輸出單元9中的條碼通過USB直接輸出,所以減少了外圍電路,降低了生成成本,同時提高輸出條碼字符數(shù)據(jù)速度。DATA條碼數(shù)據(jù)為數(shù)字量或模擬量,所以其增加了條碼掃描信號信息量。
[0036]本實施例中,解碼單元8進一步包括正向緩沖數(shù)據(jù)判斷模塊81、識讀模塊82、識讀判斷模塊83和其他類型條碼判斷模塊84 ;其中,正向緩沖數(shù)據(jù)判斷模塊81用于判斷正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征;該特征為DATA條碼數(shù)據(jù)的編碼元素的寬窄特征(時間寬度特征),識讀模塊82用于判斷是否對第一條碼類型進行識讀;反向緩沖數(shù)據(jù)判斷模塊83用于判斷反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征;識讀判斷模塊84用于判斷是否對第一條碼類型進行識讀,如不是,則繼續(xù)判斷是否符合其他條碼類型的特征;其他類型條碼判斷模塊85用于按照正向緩沖數(shù)據(jù)判斷模塊81、識讀模塊82、反向緩沖數(shù)據(jù)判斷模塊83和識讀判斷模塊83中的方式再判斷是否符合其他條碼類型的特征;如不符合,取得下一個DATA條碼數(shù)據(jù)并返回。
[0037]總之,在本實施例中,由于搶占接收DATA條碼信號的結(jié)束時間,提前識讀,縮短了識讀時間,所以整體提高了識讀速度;同時,由于采集的DATA條碼信號,可同時支持整型處理(二值化)后的數(shù)字化條碼信號,支持整型處理(二值化)前的模擬條碼信號,所以其增加了條碼掃描信號信息量;此外,由于條碼直接通過USB輸出,所以其提高了輸出條碼字符數(shù)據(jù)速度。
[0038]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種一維激光條碼的快速識別方法,其特征在于,包括如下步驟: A)判斷SOS周期信號的邊沿信號是否到來,如是,開始接收DATA條碼數(shù)據(jù)并執(zhí)行步驟B);否則,繼續(xù)進行本步驟的判斷;所述DATA條碼數(shù)據(jù)包括兩側(cè)的空白區(qū)數(shù)據(jù)和位于所述空白區(qū)之間的DATA條碼字符數(shù)據(jù);所述DATA條碼字符數(shù)據(jù)包括依次交替排列的條和空,一個所述條或空為一個單元; B)取得始端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中; C)取得所述始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù)并存放在緩沖區(qū)中; D)開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,并判斷設(shè)定時間是否到來,如是,執(zhí)行步驟F);否則,執(zhí)行步驟E);所述設(shè)定時間至少大于所述單元的時間寬度的設(shè)定倍數(shù); E)判斷所述SOS周期信號的下一邊沿信號是否到來,如是,執(zhí)行步驟F);否則,等待直到所述SOS周期信號的下一邊沿信號到來并執(zhí)行步驟F); F)對所述緩沖區(qū)中的數(shù)據(jù)開始識讀; G)將所述緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,并將所述緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)轉(zhuǎn)存到反向緩沖區(qū)中并執(zhí)行步驟H),同時開始進入對下一個DATA條碼數(shù)據(jù)的接收并返回步驟B); H)對所述正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼; I)輸出所述正向緩沖區(qū)中的數(shù)據(jù)或所述反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼。
2.根據(jù)權(quán)利要求1所述的一維激光條碼的快速識別方法,其特征在于,所述設(shè)定時間大于所述DATA條碼數(shù)據(jù)中最后一個單元的時間寬度的3倍。
3.根據(jù)權(quán)利要求1或2所述的一維激光條碼的快速識別方法,其特征在于,所述步驟H)進一步包括: Hl)判斷所述正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征,如是,執(zhí)行步驟H2);否則,執(zhí)行步驟H3); H2)判斷是否對所述第一條碼類型進行識讀,如是,執(zhí)行步驟I);否則,執(zhí)行步驟H3); H3)判斷所述反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征,如是,執(zhí)行步驟H4);否則,執(zhí)行步驟H5); H4)判斷是否對所述第一條碼類型進行識讀,如是,執(zhí)行步驟I);否則,執(zhí)行步驟H5); H5)按照所述步驟HI)、H2)、H3)和H4)的方式再判斷是否符合其他條碼類型的特征,如是,執(zhí)行步驟I);否則,取得下一個DATA條碼數(shù)據(jù)并返回步驟F)。
4.根據(jù)權(quán)利要求3所述的一維激光條碼的快速識別方法,其特征在于,所述特征為所述DATA條碼數(shù)據(jù)的編碼元素的寬窄特征,所述DATA條碼數(shù)據(jù)為數(shù)字量或模擬量。
5.根據(jù)權(quán)利要求4所述的一維激光條碼的快速識別方法,其特征在于,所述步驟I)中的條碼通過USB直接輸出。
6.一種實現(xiàn)如權(quán)利要求1所述的一維激光條碼的快速識別方法的裝置,其特征在于,包括: 邊沿信號判斷單元:用于判斷SOS周期信號的邊沿信號是否到來,如是,開始接收DATA條碼數(shù)據(jù);否則,繼續(xù)進行判斷;所述DATA條碼數(shù)據(jù)包括兩側(cè)的空白區(qū)數(shù)據(jù)和位于所述空白區(qū)之間的DATA條碼字符數(shù)據(jù);所述DATA條碼字符數(shù)據(jù)包括依次交替排列的條和空,一個所述條或空為一個單元; 始端數(shù)據(jù)取得單元:用于取得始端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中; 字符數(shù)據(jù)取得單元:用于取得所述始端空白區(qū)數(shù)據(jù)之后的條碼字符數(shù)據(jù)并存放在緩沖區(qū)中; 終端數(shù)據(jù)取得單元:用于開始取得終端空白區(qū)數(shù)據(jù)并存放在緩沖區(qū)中,并判斷設(shè)定時間是否到來;所述設(shè)定時間至少大于所述單元的時間寬度的設(shè)定倍數(shù); 邊沿信號判斷單元:用于判斷所述SOS周期信號的下一邊沿信號是否到來,并在未到來時等待直到所述SOS周期信號的下一邊沿信號到來; 識讀單元:用于對所述緩沖區(qū)中的數(shù)據(jù)開始識讀; 數(shù)據(jù)轉(zhuǎn)存單元:用于將所述緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)存到正向緩沖區(qū)中,并將所述緩沖區(qū)中的數(shù)據(jù)的逆向數(shù)據(jù)轉(zhuǎn)存到反向緩沖區(qū)中,同時開始進入對下一個DATA條碼數(shù)據(jù)的接收; 解碼單元:用于對所述正向緩沖區(qū)中的數(shù)據(jù)或反向緩沖區(qū)中的數(shù)據(jù)進行解碼; 條碼輸出單元:用于輸出所述正向緩沖區(qū)中的數(shù)據(jù)或所述反向緩沖區(qū)中的數(shù)據(jù)所對應(yīng)類型的條碼。
7.根據(jù)權(quán)利要求6所述的實現(xiàn)所述一維激光條碼的快速識別方法的裝置,其特征在于,所述設(shè)定時間大于所述DATA條碼數(shù)據(jù)中最后一個單元的時間寬度的3倍。
8.根據(jù)權(quán)利要求6或7所述的實現(xiàn)所述一維激光條碼的快速識別方法的裝置,其特征在于,所述解碼單元進一步包括: 正向緩沖數(shù)據(jù)判斷模塊:用于判斷所述正向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征; 識讀模塊:用于判斷是否對所述第一條碼類型進行識讀; 反向緩沖數(shù)據(jù)判斷模塊:用于判斷所述反向緩沖區(qū)中的數(shù)據(jù)是否符合第一條碼類型的特征; 識讀判斷模塊:用于判斷是否對所述第一條碼類型進行識讀,如不是,則繼續(xù)判斷是否符合其他條碼類型的特征; 其他類型條碼判斷模塊:用于按照所述正向緩沖數(shù)據(jù)判斷模塊、識讀模塊、反向緩沖數(shù)據(jù)判斷模塊和識讀判斷模塊中的方式再判斷是否符合其他條碼類型的特征;如不符合,取得下一個DATA條碼數(shù)據(jù)并返回。
9.根據(jù)權(quán)利要求8所述的實現(xiàn)所述一維激光條碼的快速識別方法的裝置,其特征在于,所述特征為所述DATA條碼數(shù)據(jù)的編碼元素的寬窄特征,所述DATA條碼數(shù)據(jù)為數(shù)字量或模擬量。
10.根據(jù)權(quán)利要求9所述的實現(xiàn)所述一維激光條碼的快速識別方法的裝置,其特征在于,所述條碼輸出單元中的條碼通過USB直接輸出。
【文檔編號】G06K7/10GK104424459SQ201310375780
【公開日】2015年3月18日 申請日期:2013年8月23日 優(yōu)先權(quán)日:2013年8月23日
【發(fā)明者】李飛龍, 謝楠, 謝世偉 申請人:廣州市韋爾訊信息科技有限公司