專利名稱:一種條碼解碼裝置及方法
技術領域:
本發(fā)明涉及條碼識別處理領域,特別涉及一種條碼解碼裝置及方法。
背景技術:
隨著計算機技術的飛速發(fā)展,以及條碼技術的廣泛應用,大量的信息都使用條碼進行編制,如各種個人信息、產(chǎn)品信息、出版物信息等。
條碼的應用十分廣泛,在各種應用領域中,使用多種條碼規(guī)范或標準。對應每種條碼規(guī)范或標準,有多種解碼譯碼規(guī)則。根據(jù)不同的解碼譯碼規(guī)則,條碼可能用于表示不同格式及長度的字母、字符或數(shù)字。用戶若需對多種條碼進行掃描解碼,必須使用多種條碼解碼設備,造成浪費及使用不便。
在現(xiàn)有的條碼技術中,多數(shù)條碼規(guī)范僅能表示數(shù)字,條碼表達的信息不夠直觀,用戶無法直接讀懂。例如,現(xiàn)有國際通用一維條碼標準有EAN、UPC、交叉25碼、128碼、93碼、MSI碼、庫德巴碼、39碼等多種,但其中僅39碼及128碼規(guī)范能同時表示英文字母及數(shù)字,對普通用戶來說,使用條碼作為信息載體存在信息不夠直觀的缺陷。
現(xiàn)已出現(xiàn)將多國文字例如漢字信息編成條碼的方法,將一組用戶自定義的字符集通過漢字編碼標準編為一組數(shù)字,再將該組數(shù)字通過條碼標準編為條碼,即可將漢字信息存儲在條碼中。該方法可大大擴展條碼的應用功能及應用范圍,正逐步得到普及。
參照圖1說明現(xiàn)有技術的一種條碼編碼過程。用戶自定義字符集可以僅包括一種字符如“hello”、“780716”、“你好”;也可以包括漢字、英文字母、數(shù)字等多種字符,例如自定義字符集“中國2008BEIJING”。采用現(xiàn)有的條碼標準,多數(shù)僅能對數(shù)字組成的字符集進行編碼,而少數(shù)能對含有英文字母的字符集編碼,對含有漢字字符集的編碼可能需要一次以上的編碼。
以字符集“中國2008BEIJING”為例,具體編碼過程為首先對該字符集進行一次編碼(步驟101),需要分析字符集中字符的組成對于數(shù)字、英文字符信息,條碼標準能夠一次編碼成為條碼信息,則在一次編碼中不作處理而直接進入二次編碼;而對于漢字信息,需要先根據(jù)有關漢字編碼標準將每個漢字轉換為對應的一組數(shù)字或英文字母的組合例如將“中國”轉換為“a000800a”,以供二次編碼。一次編碼將產(chǎn)生可進行二次編碼的符合條碼標準的標準字符集,從而前述的用戶自定義字符集“中國2008BEIJING”將被轉換為標準字符集“a000800a2008BEIJING”。
進入二次編碼階段(步驟102),根據(jù)條碼標準,將上述標準字符集編碼成為最終結果條碼輸出,前述標準字符集將被編為如圖1所示的條碼。
至此,用戶自定義字符集經(jīng)兩次編碼過程,成為結果條碼輸出。所述一次、二次編碼可合并為一個編碼過程(步驟103)統(tǒng)一完成。
由上述編碼過程得出的條碼信息僅僅使用相應條碼標準進行解碼,僅能得出符合條碼標準的標準字符集,還不能很好地還原為原始信息;還需再經(jīng)二次解碼過程,才能還原成為用戶自定義的字符集。但現(xiàn)有技術中,對這類條碼的應用還不普及,用戶需要額外的解碼程序甚至解碼設備才能完成兩次甚至更多次解碼過程,給使用造成不便。
另一方面,現(xiàn)有的條碼掃描、解碼設備多數(shù)僅能根據(jù)預設的掃描程序,將條碼掃描解碼后輸出,輸出數(shù)據(jù)只有一種,無法滿足用戶對條碼更復雜、更高層次的應用需求,無法根據(jù)用戶要求靈活進行條碼掃描、解碼操作,不利于條碼在更大范圍內(nèi)的使用。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術的上述問題,本發(fā)明的目的在于提供一種條碼解碼裝置及方法,能夠對多種條碼進行多級解碼,轉換為用戶自定義的字符集,并且能夠實現(xiàn)條碼信息處理過程中多級處理結果數(shù)據(jù)的輸出。
根據(jù)本發(fā)明的一方面,提供一種條碼解碼裝置,包括解碼單元,用于根據(jù)所讀取條碼的類型,確定相應的解碼方法,并根據(jù)所述解碼方法對所述條碼進行解碼;接口單元,用于接收條碼掃描器件提供的條碼掃描結果,和向外部輸出所述條碼解碼的結果和/或系統(tǒng)信息;控制單元,用于控制所述條碼解碼裝置內(nèi)各單元的操作,協(xié)助解碼單元進行解碼。
在本發(fā)明的上述條碼解碼裝置中,所述解碼單元、接口單元可以分別與控制單元連接,通過控制單元傳送數(shù)據(jù);或者所述解碼單元、接口單元相互連接,根據(jù)控制單元的控制,直接傳送數(shù)據(jù)。
所述解碼單元可優(yōu)選包括一次解碼單元,用于根據(jù)與所讀取的條碼相應的解碼方法進行一次解碼;和二次解碼單元,用于對所述一次解碼后的結果數(shù)據(jù)進行二次解碼;其中,所述一次解碼單元與所述二次解碼單元為獨立的單元,或合并為一個單元。所述接口單元可優(yōu)選包括第一接口單元,用于接收來自所述條碼掃描器件的條碼掃描結果并處理為適合于所述解碼單元處理的信號;和第二接口單元,用于接收外部設備控制信號或向外部設備輸出條碼解碼結果數(shù)據(jù)及系統(tǒng)信息。
在上述條碼解碼裝置中,所述接口單元進一步可包括選擇單元,根據(jù)外部指令或預先設定,在條碼掃描結果和/或解碼處理結果中選擇一個或多個輸出。根據(jù)本發(fā)明的一種方案,所述控制單元還可根據(jù)外部指令或預先設定,控制選擇對條碼掃描結果的處理級別,所述處理級別包括不進行任何解碼處理、僅進行一級解碼處理或一級以上的逐級解碼處理,并且根據(jù)外部指令或預先設定,控制輸出條碼掃描結果和/或解碼處理結果中的一個或多個。此外,所述控制單元還可連接到條碼掃描器件,并控制條碼掃描器件的電源供應、掃描開始、結束和/或掃描器件參數(shù)的設置。
在上述條碼解碼裝置中還可包括一存儲單元,用于暫存或長期存儲條碼掃描的歷史記錄、各級處理結果、系統(tǒng)狀態(tài)信息、各種類型的條碼庫、條碼對照表、字庫、字符對照表和/或有關參數(shù),并可根據(jù)外部指令添加、修改、升級或刪除上述數(shù)據(jù)。
在上述條碼解碼裝置中還可進一步包括一用戶接口單元,用于接收用戶控制信息,或向用戶反饋條碼處理信息和系統(tǒng)狀態(tài),所述用戶接口單元可包括用戶輸入單元,其類型包括鍵盤、按鍵和/或手寫輸入方式的至少一種,用于接收用戶控制信息;和/或用戶輸出單元,包括指示燈、顯示屏、蜂鳴器和/或喇叭的至少一種,用于向用戶反饋條碼掃描結果、系統(tǒng)信息和/或數(shù)據(jù)處理結果信息。
根據(jù)本發(fā)明的另一方面,提供一種條碼解碼方法,包括如下步驟1)掃描單元讀取條碼,得到條碼掃描結果;2)判斷所述條碼的類型,根據(jù)判斷結果確定相應的解碼方法;3)根據(jù)所確定的解碼方法對所述條碼掃描結果進行解碼處理。
在上述方法中,所述條碼的類型包括一維條碼、二維條碼和混合條碼。對所述條碼的解碼包含一次和/或二次解碼處理過程。并且可根據(jù)外部指令或預先設定,對條碼掃描結果進行逐級解碼處理,從所述各級解碼處理結果中選擇一個或多個輸出。
本發(fā)明所述的條碼解碼裝置及方法可以方便地識別多種條碼信息,并將其解碼為用戶自定義的字符集,易于用戶使用;并且能夠實現(xiàn)條碼信息處理過程中,多級處理結果數(shù)據(jù)的選擇輸出。為本條碼解碼裝置增設一種條碼對應的解碼方法及其對應條碼庫、條碼對照表或有關參數(shù),即可多識別一種標準條碼,易于擴展應用。本發(fā)明的條碼解碼裝置還可以通過如USB、SPI、IEEE1394、藍牙等通用接口技術與計算機等其他外部設備方便地進行數(shù)據(jù)交換。同時本發(fā)明的條碼解碼裝置還能夠進行條碼處理結果的暫存或永久存儲。
本發(fā)明的條碼解碼裝置及方法可使用在條碼掃描器件、手持設備或終端上,識別證件、名片、貨品、圖書、票據(jù)等的條碼,獲取相關數(shù)據(jù)信息并解碼成為用戶自定義的字符集或直觀的文字、字符及數(shù)字信息;可應用在商業(yè)自動化系統(tǒng)、倉儲管理、交通管理、金融文件管理、商業(yè)文件管理、醫(yī)療管理、個人身份識別以及各種分類技術方面,滲透到計算機管理及日常生活的各個領域。
圖1本發(fā)明涉及的條碼編碼原理示意圖;圖2本發(fā)明第一實施例的條碼解碼裝置結構示意圖;圖3本發(fā)明第一實施例的條碼解碼裝置的改進結構示意圖;圖4本發(fā)明第一實施例的具體工作流程示意圖;圖5本發(fā)明又一實施例的條碼解碼裝置結構示意圖;圖6A本發(fā)明又一實施例從設備方式SPI接口示意圖;圖6B本發(fā)明又一實施例主設備方式SPI接口示意圖;圖7本發(fā)明又一實施例應用原理示意圖。
具體實施例方式
下面將參照附圖并結合具體的實施例,對本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點作進一步說明。
圖2是本發(fā)明第一實施例的條碼解碼裝置結構示意圖。參照圖2,本實施例的條碼解碼裝置100包括接口單元11、一次解碼單元12、二次解碼單元14和控制單元13。所述條碼解碼裝置通過接口單元11與掃描器件10和/或外部設備電連接,接口單元11與控制單元13電連接;一次解碼單元12、二次解碼單元14及控制單元13相互電連接。
所述掃描器件10可以采用CCD光電掃描方式、激光掃描方式或接觸式掃描方式工作,對各種一維、二維或混合條碼信息進行掃描,并將所捕獲的條碼信息轉換成與之對應的條碼掃描結果,傳送到接口單元11。根據(jù)掃描器件10的不同類型,輸出的條碼掃描結果可以是數(shù)字信息或模擬信號。所述掃描器件10既可以是一維掃描器件,用于掃描一維條碼;也可以是二維掃描器件,用于掃描二維條碼,還可以是混合條碼掃描器件,用于掃描混合條碼。本發(fā)明并不對此加以限制。
所述的接口單元11可以包括多種接口,負責條碼解碼裝置100與外部設備的信息交換。所述接口單元11可以包括多種接口,例如掃描器件接口,用于接收條碼掃描結果,以及外部設備接口,用于接收外部設備控制信號或向外部設備輸出條碼解碼結果數(shù)據(jù)及系統(tǒng)信息。
其中,掃描器件接口用于接收來自掃描器件10的條碼掃描結果并進行整形、量化等初步處理,供一次解碼單元12進行解碼。接口單元11的掃描器件接口既可以連接模擬式掃描器件也可以連接入數(shù)字式掃描器件。當掃描器件10為模擬式時,該接口單元11的掃描器件接口負責接收模擬信號并對該信號整形及量化;當掃描器件10為數(shù)字式的時候,該接口單元11的掃描器件接口僅需進行信息的量化。
所述外部設備接口可以進一步包含多種標準接口,用于與外部設備進行數(shù)據(jù)雙向交流;還負責根據(jù)所選擇的具體接口標準將數(shù)據(jù)進行打包輸出或所將輸入的數(shù)據(jù)解包后送到控制單元13。
所述外部設備接口可以是Serial ATA、RS232、I2C、USB、SPI、IEEE1394、IrDA接口、藍牙接口、IEEE802.11a、IEEE802.11b、IEEE802.11g、普通I/O或并行接口總線的一種或多種。所述接口符合上述一種或幾種協(xié)議所定義的規(guī)范和標準;當所述條碼解碼裝置100連接外部設備后,本發(fā)明裝置的接口單元11中的外部設備接口即按照接口協(xié)議所遵循的規(guī)范方法進行數(shù)據(jù)交換。
例如,當采用USB1.1標準時,所述條碼解碼裝置100是作為設備端來應用的,通過該接口,條碼解碼裝置100作為從設備與主設備連接,接受主設備的指示;所述主設備可以是個人電腦、電腦終端、手持數(shù)據(jù)處理器等。
外部設備接口也可以采用SPI標準,所述條碼解碼裝置100既可以作為主設備也可以作為從設備。當條碼解碼裝置100作為主設備時,可以外接多個具有SPI接口的從設備,例如LCD、單片機等;所述條碼解碼裝置100識別和驅動所述從設備,對其發(fā)布指示,控制從設備工作。當外部設備接口采用SPI接口時,數(shù)據(jù)輸入輸出可以包的形式,每個數(shù)據(jù)包可以固定為32位;SPI是雙向接口,在同一個時間內(nèi)既可以輸入又可以輸出。
在本實施例中,外部設備接口還連接有一液晶顯示器件17(圖未示)。
控制單元13用于協(xié)調控制其他單元工作,進行數(shù)據(jù)處理,完成用戶應用數(shù)據(jù)格式處理如驅動外部設備、數(shù)據(jù)解包信息提取等??刂茊卧?3內(nèi)可以設置應用程序,結合其應用程序可以激活一次解碼單元12對條碼掃描結果進行一次解碼;進一步還可激活二次解碼單元14對經(jīng)一次解碼單元12處理過的一次解碼結果進行二次解碼操作。所述控制單元13還可以控制接口單元11接收或發(fā)出數(shù)據(jù),后文將對對此加以說明。
一次解碼單元12用于對已經(jīng)量化后的條碼掃描數(shù)據(jù)進行一次解碼,得出一次解碼結果數(shù)據(jù),即符合條碼標準的標準字符集。由于條碼有多種標準,每種條碼需要按照自己的標準定義,采用對應于該種條碼標準的解碼方法來進行一次解碼。
如果某種解碼方法需要使用條碼庫、條碼對照表或有關參數(shù)來提供條碼的特征信息,則需為該解碼方法配置相應的庫、表或參數(shù)。一次解碼由一次解碼單元12或控制單元13查詢對應于該種條碼的條碼庫、條碼對照表或參照有關參數(shù)完成。對應EAN、UPC、交叉25碼、128碼、93碼、MSI碼、庫德巴碼、39碼標準等多種一維條碼標準,以及PDF417碼、Code49碼、Code 16K碼、Data Matrix碼、MaxiCode等多種二維條碼標準,以及混合碼標準,可設置多個條碼庫、條碼對照表或參數(shù)。所述條碼庫、條碼對照表或有關參數(shù)可存儲或固化在一次解碼單元12或控制單元13中,也可存放在外部設備中,由條碼解碼裝置100調用。
二次解碼單元14負責根據(jù)一次解碼單元的解碼結果數(shù)據(jù)進行二次解碼,二次解碼將形成二次解碼結果,即用戶自定義的字符集。
如果二次解碼規(guī)則支持漢字等多國語言文字,需要字庫、字符對照表或有關參數(shù)來提供字符的特征信息,則需為該解碼方法配置相應庫、對照表或參數(shù)。例如二次解碼規(guī)則支持漢字,則可以設置中文字庫或ASCII字庫等,該字庫可以用國家標準碼如GB2312等方法編制。
二次解碼由二次解碼單元14或控制單元13查詢對應該種語言文字的字庫、字符對照表、或參照有關參數(shù),將符合條碼標準的標準字符集翻譯成用戶自定義字符集的ASCII信息,或其對應LCD顯示字模。對應不同語言或其他解碼規(guī)則,可設置多個字庫、字符對照表、有關參數(shù)。所述字庫、字符對照表或有關參數(shù)可存儲或固化在二次解碼單元14或控制單元13中,也可存放在外部設備中,由條碼解碼裝置100調用。
所述的液晶顯示器件17可在控制單元13的控制下,通過接口單元11接收并顯示條碼解碼裝置100的數(shù)據(jù)、系統(tǒng)信息等。
所述條碼解碼裝置100可以制成為集成電路,封裝在一個芯片中,也可制成功能模塊,連接或裝載在外部設備上,由外部設備調用,與外部設備共同工作。此時,可通過接口單元11的標準總線獲取電源,并通過電源變換電路為其提供所需要的各種電源供應;或通過電池等自帶電源或混合供電方式提供電源供應。所述電源還可采用省電模式,以便條碼解碼裝置100和/或掃描器件10在空閑時,切斷或降低對條碼解碼裝置100內(nèi)單元的供電,以節(jié)約電能。
所述條碼解碼裝置100也可制成獨立設備,不需任何外部設備即可獨立工作。此時可采用以下電源供電方式當條碼解碼裝置100獨立工作時,可通過電池等自帶電源或外接電源提供電源供應;當所述條碼解碼裝置100連接外部設備時,可通過接口單元11的標準總線獲取電源,并通過電源變換電路為其提供所需要的各種電源供應;此外,還可采用混合供電方式,即結合總線供電與電池供電兩種方式供電。在本發(fā)明的條碼解碼裝置中,所述電源還可采用省電模式,以便條碼解碼裝置100和/或掃描器件10在空閑時,切斷或降低對條碼解碼裝置100內(nèi)單元的供電,以節(jié)約電能。
本實施例的條碼解碼裝置100可對經(jīng)由接口單元11輸入的條碼掃描結果進行一級或一級以上的多級處理,各級處理的結果數(shù)據(jù)都可經(jīng)過接口單元11輸出。從數(shù)據(jù)處理級別來說,共有條碼掃描、一次解碼、二次解碼等幾個級別的數(shù)據(jù)處理操作,分別產(chǎn)生條碼掃描結果、一次解碼結果、二次解碼結果數(shù)據(jù)。另有系統(tǒng)控制操作產(chǎn)生系統(tǒng)信息數(shù)據(jù)。對于一組條碼信息,本實施例的條碼解碼裝置100可以僅接收并輸出條碼掃描結果;也可以對條碼掃描結果進行一次解碼,輸出一次解碼結果,即符合條碼標準的標準字符集;還可以再對以用戶自定義字符集編碼的條碼的一次解碼結果進行二次解碼,輸出二次解碼結果即用戶自定義字符;還可以輸出系統(tǒng)信息;或者選擇其中多項數(shù)據(jù)信息輸出。
上述多種結果數(shù)據(jù)的處理選擇功能可由控制單元13或接口單元11實現(xiàn)。當采用控制單元13進行結果數(shù)據(jù)處理選擇時,其工作原理如下控制單元13根據(jù)預先設置或用戶指示,對來自接口單元11的條碼掃描結果選擇處理方法,包括送交接口單元11輸出或進行一次解碼;若選擇一次解碼,則將條碼掃描結果送交一次解碼單元12,并配合其進行一次解碼處理。
一次解碼處理完畢后,將一次解碼結果返回給控制單元13。控制單元13選擇對一次解碼結果的處理方法,包括傳送至接口單元11輸出或進行二次解碼;若選擇二次解碼,控制單元13將一次解碼結果傳送給二次解碼單元14,進行二次解碼處理。二次解碼結果仍將返回給控制單元13,由其傳送給接口單元11輸出。另外,控制單元13自身產(chǎn)生的控制信息或系統(tǒng)信息也將傳送給接口單元11輸出。
所述多級處理的結果數(shù)據(jù)也可以由接口單元11選擇輸出。接口單元11可從控制單元13取得各級處理的結果數(shù)據(jù),由接口單元中的選擇單元根據(jù)控制單元13的控制、用戶指示或預先設置,選擇一種或幾種輸出。其工作原理為,控制單元13不進行處理過程的選擇,條碼掃描結果以及經(jīng)過一次、二次解碼處理后的結果都經(jīng)控制單元13轉發(fā)到接口單元11;接口單元11接到上述多組結果數(shù)據(jù)后,根據(jù)預先的設置或者外部的指令,選擇其中一種或幾種輸出。
為提高數(shù)據(jù)處理效率,更加靈活地實現(xiàn)條碼掃描信息的多級處理及其處理結果的選擇輸出,可以對本實施例的條碼解碼裝置100進行如下改進將接口單元11分別與一次解碼單元12和二次解碼單元14建立連接(見圖3),從自身的掃描器件接口、一次解碼單元12、二次解碼單元14及控制單元13分別取得條碼掃描結果、一次解碼結果、二次解碼結果等結果數(shù)據(jù)和系統(tǒng)信息,再選擇其中的一種或幾種,通過外部設備接口輸出。另外,所述一次解碼單元12和二次解碼單元14之間也可建立連接,以在控制單元13或接口單元11的控制下,將一次解碼結果由一次解碼單元12直接傳送給二次解碼單元14。
還可在接口單元11、一次解碼單元12、二次解碼單元14各單元中設置直通/旁通的數(shù)據(jù)通路,通過硬件或軟件實現(xiàn)數(shù)據(jù)通路的選擇。其中直通是指將數(shù)據(jù)通過該單元,使用該單元的處理功能進行處理再輸出;而旁通是指不經(jīng)過該單元的處理,直接輸出。所述改進后的條碼解碼裝置100可采用上述接口單元11或控制單元13實現(xiàn)多級處理的選擇功能。
在改進的條碼解碼裝置上實現(xiàn)數(shù)據(jù)多級處理的原理與改進前相似,以接口單元11實現(xiàn)為例,具體做法如下所述各級處理的結果由接口單元11選擇輸出。條碼掃描結果由接口單元11接收后,傳送到一次解碼單元12進行一次解碼;一次解碼結果傳送到二次解碼單元14進行二次解碼,二次解碼結果再傳回接口單元11。所述數(shù)據(jù)傳送可通過控制單元13轉發(fā)或者直接通過單元間的連線傳送。接口單元11從各單元取得各級處理的結果數(shù)據(jù),再根據(jù)控制單元13的控制、或根據(jù)用戶指示、或預先設置,選擇一種或幾種結果數(shù)據(jù)輸出。
以上所述一次解碼單元12及二次解碼單元14在邏輯上可以合二為一,在物理上可以采用同一器件實現(xiàn);在一次解碼單元12及二次解碼單元14合并為一個應用解碼單元的情況下,所述條碼解碼裝置100可進行條碼掃描結果的整形、量化及應用解碼操作,并可分別輸出條碼掃描結果及應用解碼操作的結果,即用戶自定義字符集。
上述的數(shù)據(jù)處理選擇方式及其相應數(shù)據(jù)傳輸路徑不是唯一的,所述數(shù)據(jù)處理選擇方式可以是預先設定好的,也可以是在操作過程中根據(jù)用戶指令進行選擇,可根據(jù)實際情況進行調整。為實現(xiàn)一級或多級結果數(shù)據(jù)的處理選擇功能而進行的各種改進和調整不涉及本發(fā)明的實質內(nèi)容。
下面,說明在本發(fā)明的上述實施例的條碼解碼裝置100中進行條碼掃描解碼的方法。當該解碼方法采用控制單元13實現(xiàn)多種結果數(shù)據(jù)的處理選擇功能時,參照圖4的具體工作流程如下步驟401,條碼解碼裝置100上電后進行初始化工作,完成參數(shù)配置,設置內(nèi)部寄存器,可以包括采樣速率、量化值定標、工作模式配置,解碼模式配置、輸出數(shù)據(jù)通道配置、字庫配置等。初始化包括條碼解碼裝置100內(nèi)部的缺省初始化、外部設備對條碼解碼裝置100的初始化或條碼解碼裝置100對外部設備的初始化。所述與外部設備有關的初始化是通過接口單元11進行的。對于外部設備對條碼解碼裝置100的初始化操作,如果外部設備不對內(nèi)部寄存器進行設置,條碼解碼裝置100就使用缺省值作為初始化的值對自身進行初始化。
步驟402,在初始化完成后,條碼解碼裝置100查詢接口狀態(tài),判斷是否有數(shù)據(jù)輸入(步驟403)。如果接口有數(shù)據(jù)輸入請求,判斷其屬于掃描數(shù)據(jù)輸入請求還是配置數(shù)據(jù)輸入等其他請求(步驟404)。對于配置數(shù)據(jù)輸入等其他請求,接收配置數(shù)據(jù),進行相應配置操作(步驟405),而后返回步驟402,查詢接口輸入狀態(tài)。
如果是掃描數(shù)據(jù)輸入請求,則要對條碼進行掃描接收。根據(jù)掃描器件10的特性和與條碼解碼裝置100的通訊方式,對條碼掃描的具體做法可分為兩種一種是由條碼解碼裝置100或用戶對掃描器件10發(fā)出掃描指令,掃描器件10啟動掃描功能進入掃描狀態(tài),將得到的條碼掃描結果返回給條碼解碼裝置100;另一種是掃描器件10始終處于掃描狀態(tài),當其掃描到符合標準的條碼時,將該條碼的掃描結果傳送給條碼解碼裝置100。
步驟406,在取得條碼掃描結果后,條碼解碼裝置100進行條碼掃描結果數(shù)據(jù)的處理,首先判斷條碼掃描結果是否需要一次解碼。
如果需要進行一次解碼,則進行模式識別(步驟407),識別條碼的模式特征,判別條碼類別(步驟408)。否則直接將條碼掃描結果輸出,并返回步驟402,輪詢接口輸入狀態(tài)。
如果條碼模式特征符合條碼解碼裝置100預定的條碼標準之一,即屬于已知條碼,則根據(jù)條碼類型,調用相應解碼方法進行一次解碼(步驟409),否則返回錯誤信息并返回步驟402,輪詢接口輸入狀態(tài)。
一次解碼過程需要查詢條碼庫、條碼對照表或參照有關參數(shù),與解碼值對照表得出符合條碼標準的標準字符集。當一次解碼完畢后,檢查結果數(shù)據(jù)是否符合規(guī)范,是否合法、正確、完整(步驟410),對不合格的數(shù)據(jù)給出數(shù)據(jù)錯誤信息并返回步驟402,輪詢接口輸入狀態(tài)。對于合格的一次解碼結果,將其傳送給控制單元13,由其決定下一步處理方法(步驟411)。
如果不需進行二次解碼,則控制單元13將一次解碼結果,即符合條碼標準的標準字符集送到接口單元11輸出并給出數(shù)據(jù)有效信號;有效信號及錯誤信號既可以是采用中斷方式也可以是獨立信號方式。
如果需要進行二次解碼,則一次解碼結果被傳送到二次解碼單元14進行二次解碼(步驟412)。
二次解碼完成后,需檢查二次解碼結果,即用戶自定義字符集是否符合規(guī)范,是否合法、正確、完整(步驟413),對于合格的二次解碼結果,將其傳送給控制單元13,由其決定處理方法,如輸出。
在整個流程進行中,如果有指令要求結束流程,或按照預定設置應結束條碼解碼流程(步驟414),則結束整個流程;否則返回步驟402處,循環(huán)進行條碼的掃描解碼操作。
如果采用接口單元11選擇處理結果數(shù)據(jù),則上述流程將進行如下調整不需進行步驟406、411的判斷,而是直接依次進行一次、二次解碼,條碼掃描結果數(shù)據(jù)、一次解碼結果及二次解碼結果全部發(fā)送到接口單元11,接口單元11匯集各級處理結果后,根據(jù)控制單元13的控制、預先設置或用戶選擇,選出其中一項或幾項結果數(shù)據(jù)輸出。
圖5是本發(fā)明又一實施例的條碼解碼裝置200結構示意圖。本實施例的條碼解碼裝置200包括第一接口單元21、一次解碼單元22、二次解碼單元24、二次接口單元25和控制單元23。所述條碼解碼裝置200通過第一接口單元21與掃描器件10連接,通過第二接口單元25和外部設備連接。掃描器件10、第一接口單元21、一次解碼單元22、二次解碼單元24和二次接口單元25順序連接,所述各單元還分別與控制單元23連接。所述控制單元23還可以與掃描器件10連接,用于控制掃描器件10的掃描使能及工作方式。在實際應用中,所述掃描器件10、第一接口單元21、一次解碼單元22、二次解碼單元24以及第二接口單元25之間的連接可以是數(shù)據(jù)單向通路。
所述的第一接口單元21可以包括多種接口,負責條碼解碼裝置100與掃描器件10的信息交換,接收來自掃描器件10的條碼掃描結果并進行整形、量化等初步處理,供一次解碼單元22進行解碼;第一接口單元21既可以連接模擬式掃描器件也可以連接入數(shù)字式掃描器件。當掃描器件10為模擬式時,該第一接口單元21負責接收模擬信號并對該信號作整形及量化;當掃描器件10為數(shù)字式時,該第一接口單元21僅需進行信息的量化。
所述第二接口單元25可以包括多個接口,用于接收外部設備控制信號或向外部設備輸出條碼解碼結果數(shù)據(jù)及系統(tǒng)信息。第二接口單元25可以進一步包含多種標準接口,用于與外部設備進行數(shù)據(jù)雙向交流;還負責根據(jù)所選擇的具體接口標準將數(shù)據(jù)進行打包輸出或將輸入的數(shù)據(jù)解包后送到控制單元23。
所述標準接口可以是Serial ATA、RS232、I2C、USB、SPI、IEEE1394、IrDA接口、藍牙接口、IEEE802.11a、IEEE802.11b、IEEE802.11g、普通I/O或并行接口總線的一種或多種。本實施例采用SPI接口與外部設備連接。
所述外部設備可以是個人電腦、電腦終端、手持數(shù)據(jù)處理器、LCD、單片機等。例如,可以采用個人數(shù)字助理機作為外部設備。它可識別、控制條碼解碼裝置,對條碼進行掃描解碼,并接收結果數(shù)據(jù)。
控制單元23用于協(xié)調控制其他單元工作,進行數(shù)據(jù)處理,完成用戶應用數(shù)據(jù)格式處理如驅動外部設備、數(shù)據(jù)解包信息提取等。所述的控制單元23可以選用SH3、X86或Risc等微處理器,其內(nèi)設有ROM和RAM。其中,ROM中可以存儲應用程序或多種條碼的條碼庫、字庫;RAM可以暫時存放數(shù)據(jù)信息,以及作為應用程序運行的緩存??刂茊卧?3結合應用程序,調用一次解碼單元22對條碼掃描結果進行一次解碼;或調用二次解碼單元24對一次解碼結果進行二次解碼操作。所述控制單元23還可以控制第一接口單元21及第二接口單元25接收或發(fā)出數(shù)據(jù)。
條碼解碼裝置200也可以進一步包括一存儲器件,用于暫存或長期存儲條形處理結果數(shù)據(jù)、系統(tǒng)信息和/或其他用戶數(shù)據(jù)。所述的存儲器件可以是條碼解碼裝置200控制單元23內(nèi)部的存儲器,也可以是獨立的單元,與控制單元23連接,接受控制單元23的控制,并與其交換數(shù)據(jù)。其采用的存儲介質包括但不限于RAM、ROM、閃速存儲介質(Flash Memory)、DRAM、EEPROM、SRAM、SDRAM、FRAM、MRAM等等。所述的存儲器件可以劃分為多個存儲區(qū),如個人信息存儲區(qū)、條碼處理結果存儲區(qū)、系統(tǒng)存儲區(qū)等等。
本實施例所述的控制單元23、一次解碼單元22及二次解碼單元24物理上可以合而為一,采用一個或兩個芯片實現(xiàn)。
本實施例中的掃描器件10、一次解碼單元22及二次解碼單元24的功能、結構及原理與前一實施例類似,故不贅述。
本實施例還包括用戶接口單元26(圖未示),與控制單元23連接。所述用戶接口單元26可以采用鍵盤、按鍵、手寫等輸入方式,對本實施例的條碼解碼裝置發(fā)出開機、設置、掃描條碼、一次解碼、二次解碼、輸出數(shù)據(jù)、連接外部設備、結束工作等操作指令。所述用戶接口單元26也可以采用指示燈、顯示屏、蜂鳴、喇叭等輸出方式,向用戶反饋系統(tǒng)信息、數(shù)據(jù)處理結果等信息。
本實施例的條碼解碼裝置200可對經(jīng)由第一接口單元21輸入的條碼掃描結果進行一級或一級以上的多級處理,各級處理的結果數(shù)據(jù)都可經(jīng)過第二接口單元25輸出。從數(shù)據(jù)處理級別來說,共有條碼掃描、一次解碼、二次解碼等幾個級別的數(shù)據(jù)處理操作,分別產(chǎn)生條碼掃描結果、一次解碼結果、二次解碼結果數(shù)據(jù)。另有系統(tǒng)控制操作產(chǎn)生系統(tǒng)信息數(shù)據(jù)。對于一組條碼信息,本實施例的條碼解碼裝置200可以僅接收并輸出條碼掃描結果;也可以對條碼掃描結果進行一次解碼,輸出一次解碼結果,即符合條碼標準的標準字符集;還可以再對一次解碼結果進行二次解碼,輸出二次解碼結果即用戶自定義字符集;還可以輸出系統(tǒng)信息;或者選擇其中多項數(shù)據(jù)信息輸出。
上述多種結果數(shù)據(jù)的處理選擇功能可由控制單元23或第二接口單元25實現(xiàn)。
與前一實施例類似地,為提高數(shù)據(jù)處理效率,更加靈活地實現(xiàn)條碼掃描信息的多級處理及其處理結果的選擇輸出,可以對本實施例的條碼解碼裝置200進行如下改進將第一接口單元21、一次解碼單元22、二次解碼單元24和第二接口單元25分別與第二接口單元25連接,建立數(shù)據(jù)通道(見圖5點劃線部分),所述條碼解碼裝置可以從第一接口單元21、一次解碼單元22、二次解碼單元24和第二接口單元25分別取得各級處理結果數(shù)據(jù)和系統(tǒng)信息,再選擇一種或幾種,通過第二接口單元25輸出。
還可在第一接口單元21、一次解碼單元22、二次解碼單元24和第二接口單元25各單元中設置直通/旁通的數(shù)據(jù)通路,通過硬件或軟件實現(xiàn)數(shù)據(jù)通路的選擇。其中直通是將數(shù)據(jù)通過該單元,使用該單元的處理功能進行處理再輸出;而旁通是不經(jīng)過模塊處理,直接輸出。所述改進后的條碼解碼裝置200可采用上述第二接口單元25或控制單元23實現(xiàn)多級處理的選擇功能。
本實施例的條碼解碼裝置200可以對條碼掃描結果進行兩級以上的解碼處理,其解碼原理與前述一級、二級類似,故不贅述。
現(xiàn)在,對本實施例的系統(tǒng)接口數(shù)據(jù)輸入輸出格式說明如下系統(tǒng)接口輸入輸出的數(shù)據(jù)格式依端口類型不同而不同,當?shù)诙涌趩卧?5采用SPI類型端口時,根據(jù)SPI標準規(guī)定進行數(shù)據(jù)傳輸。數(shù)據(jù)采用包的方式,可定義每個數(shù)據(jù)包為32位,高8位為標記域,標記該包的屬性;其余為數(shù)據(jù)域,是該包的輸入數(shù)據(jù)或輸出數(shù)據(jù),數(shù)據(jù)域根據(jù)包的不同其域寬不同,最大為24位。下面是包的格式定義
例如,系統(tǒng)復位包(System_reset_packet)可定義為
在本裝置中,有配置包、狀態(tài)包、數(shù)據(jù)包等。除了配置包是系統(tǒng)輸入的包外,其他包既可以是外部設備輸入來的包,也可以是本實施例裝置輸出的包,這些包通過SPI接口進行包的交換。
對于由SPI端口進來的數(shù)據(jù)包,第二接口單元25需要將進來的數(shù)據(jù)包解包后進行包的類型譯碼,分解出各種包的類型,并將數(shù)據(jù)送到控制單元23里的各個寄存器。
對于USB端口類型,第二接口單元25需要按USB有關協(xié)議進行數(shù)據(jù)發(fā)送和接收,數(shù)據(jù)的發(fā)送和接收采用中斷類型。
另外,本實施例裝置采用SPI接口與外部設備連接,本實施例裝置可作為從設備或主設備工作。主設備方式的SPI接口如圖6A所示,從設備方式的SPI接口如圖6B所示。外部系統(tǒng)端的SPI接口可以MCU的IO口,具體協(xié)議的實現(xiàn)可以用軟件來實現(xiàn)。
當本實施例的裝置作為主設備時,LCD可以共享裝置的SPI接口,將數(shù)據(jù)送到具有SPI接口的外部LCD顯示接口。具體是送用戶數(shù)據(jù)還是送LCD數(shù)據(jù)是通過片選SS信號完成的。
本實施例的條碼解碼裝置200的應用原理如圖7所示,10為掃描器件;27為外接顯示器件;28為外部設備。所述條碼解碼裝置200接受外部設備28的控制,從掃描器件10取得條碼掃描結果,進行處理,并在外接顯示器件27上輸出條碼處理結果。
以上是對本發(fā)明示例性的說明,本領域普通技術人員可以理解,本發(fā)明使用的條碼解碼裝置及方法,其具體實現(xiàn)方案不是唯一的,裝置邏輯單元的物理實現(xiàn)方案及連線、條碼解碼方法的具體步驟也不是唯一的,可利用各種現(xiàn)有技術進行調整。不偏離本發(fā)明思想的對本發(fā)明技術方案的各種改型將落入本發(fā)明權利要求所限定的范圍中。
權利要求
1.一種條碼解碼方法,包括1)掃描單元讀取條碼,得到條碼掃描結果;2)判斷所述條碼的類型,根據(jù)判斷結果確定相應的解碼方法;3)根據(jù)所確定的解碼方法對所述條碼掃描結果進行解碼處理。
2.根據(jù)權利要求1所述的方法,其特征在于,所述對條碼的解碼包含一級和/或二級解碼處理過程。
3.根據(jù)權利要求2所述的方法,其特征在于,對條碼掃描結果進行逐級解碼處理,根據(jù)外部指令或預先設定,從所述各級解碼處理結果中選擇一個或多個輸出。
4.根據(jù)權利要求1至3任一項所述的方法,其特征在于,所述條碼的類型包括一維條碼、二維條碼和混合條碼。
5.一種條碼解碼裝置,包括解碼單元,用于根據(jù)所讀取條碼的類型,確定相應的解碼方法,并根據(jù)所述解碼方法對所述條碼進行解碼;接口單元,用于接收條碼掃描器件提供的條碼掃描結果,和向外部輸出所述條碼解碼的結果和/或系統(tǒng)信息;控制單元,用于控制所述條碼解碼裝置內(nèi)各單元的操作,協(xié)助解碼單元進行解碼。
6.根據(jù)權利要求5所述的條碼解碼裝置,其特征在于,所述解碼單元、接口單元分別與控制單元連接,通過控制單元傳送數(shù)據(jù);或者所述解碼單元、接口單元相互連接,根據(jù)控制單元的控制,直接傳送數(shù)據(jù)。
7.根據(jù)權利要求5所述的條碼解碼裝置,其特征在于,所述解碼單元包括一次解碼單元,用于根據(jù)與所讀取的條碼相應的解碼方法進行一次解碼;和二次解碼單元,用于對所述一次解碼后的結果數(shù)據(jù)進行二次解碼;其中,所述一次解碼單元與所述二次解碼單元為獨立的單元,或合并為一個單元。
8.根據(jù)權利要求5所述的條碼解碼裝置,其特征在于,所述接口單元包括第一接口單元,用于接收來自所述條碼掃描器件的條碼掃描結果并處理為適合于所述解碼單元處理的信號;和第二接口單元,用于接收外部設備控制信號或向外部設備輸出條碼解碼結果數(shù)據(jù)及系統(tǒng)信息。
9.根據(jù)權利要求8所述的條碼解碼裝置,其特征在于,所述第一接口單元包括模擬信號接口單元和數(shù)字信號接口單元的至少之一;和所述第二接口單元包括但不限于Serial ATA、RS232、I2C、USB、SPI、IEEE1394、IrDA接口、藍牙接口、IEEE802.11a、IEEE802.11b、IEEE802.11g、普通I/O和/或并行接口總線。
10.根據(jù)權利要求5、6、7中任一項所述的條碼解碼裝置,其特征在于,所述接口單元進一步包括選擇單元,根據(jù)外部指令或預先設定,在條碼掃描結果和/或解碼處理結果中選擇一個或多個輸出。
11.根據(jù)權利要求8、9中任一項所述的條碼解碼裝置,其特征在于,所述第二接口單元進一步包括選擇單元,根據(jù)外部指令或預先設定,在條碼掃描結果和/或解碼處理結果中選擇一個或多個輸出。
12.根據(jù)權利要求5、6、7、8、9中任一項所述的條碼解碼裝置,其特征在于,所述控制單元還用于根據(jù)外部指令或預先設定,控制選擇對條碼掃描結果的處理級別,所述處理級別包括不進行任何解碼處理、僅進行一級解碼處理或一級以上的逐級解碼處理,并且根據(jù)外部指令或預先設定,控制輸出條碼掃描結果和/或解碼處理結果中的一個或多個。
13.根據(jù)權利要求5、6、7、8、9中任一項所述的條碼解碼裝置,其特征在于,進一步包括存儲單元,用于暫存或長期存儲條碼掃描的歷史記錄、各級處理結果、系統(tǒng)狀態(tài)信息、各種類型的條碼庫、條碼對照表、字庫、字符對照表和/或有關參數(shù),并可根據(jù)外部指令添加、修改、升級或刪除上述數(shù)據(jù)。
14.根據(jù)權利要求5、6、7、8、9中任一項所述的條碼解碼裝置,其特征在于,所述控制單元連接到條碼掃描器件,并控制條碼掃描器件的電源供應、掃描開始、結束和/或掃描器件參數(shù)的設置。
15.根據(jù)權利要求5、6、7、8、9中任一項所述的條碼解碼裝置,其特征在于,還包括用戶接口單元,用于接收用戶控制信息,或向用戶反饋條碼處理信息和系統(tǒng)狀態(tài),所述用戶接口單元包括用戶輸入單元,其類型包括鍵盤、按鍵和/或手寫輸入方式的至少一種,用于接收用戶控制信息;和/或用戶輸出單元,包括指示燈、顯示屏、蜂鳴器和/或喇叭的至少一種,用于向用戶反饋條碼掃描結果、系統(tǒng)信息和/或數(shù)據(jù)處理結果信息。
16.根據(jù)權利要求5、6、7、8、9中任一項所述的條碼解碼裝置,其特征在于,所述條碼解碼裝置構成為芯片或模塊,裝載在外部設備上,由外部設備調用,并采用總線供電、電池供電或混合供電;或者所述條碼解碼裝置為獨立的設備,不需任何外部設備即可獨立工作,并采用總線、電池、外接電源或混合供電,并且所述供電方式采用省電模式。
全文摘要
本發(fā)明公開了一種條碼解碼裝置及處理方法。該條碼解碼裝置包括接口單元、控制單元、一次解碼單元和二次解碼單元。該條碼解碼裝置對掃描得到的條碼信息通過接口單元、一次解碼單元、控制單元和/或二次解碼單元分別進行量化、一次解碼、二次解碼等多級處理,并選擇由接口單元輸出其中任一級處理的結果,或將處理結果進行存儲,從而達到對條碼信息的靈活處理,和將條碼信息轉換為用戶能夠直接讀懂的文字、字符、數(shù)字信息的目的。本發(fā)明還提出一種采用該條碼解碼裝置進行條碼解碼的方法。
文檔編號G06K7/00GK1648931SQ20041003901
公開日2005年8月3日 申請日期2004年1月20日 優(yōu)先權日2004年1月20日
發(fā)明者成曉華, 黃文勝 申請人:深圳市朗科科技有限公司