??? 摘 要: 一種基于Blackfin533 DSP的便攜式QR code識別終端系統(tǒng)的設(shè)計方案。系統(tǒng)以Blackfin533DSP為核心處理單元,通過COMS圖像傳感器采集QR code條碼圖像信息,借助DSP的高速運算性能,對采集到的QR code圖像信息進(jìn)行圖像預(yù)處理和QR code算法識別,然后通過TFT LCD實時顯示識別結(jié)果,最后再運用Zigbee節(jié)點無線傳輸方式代替?zhèn)鹘y(tǒng)的有線和無線芯片傳輸技術(shù),將識別后的條碼圖像數(shù)據(jù)準(zhǔn)確可靠地向主機(jī)傳輸。
??? 關(guān)鍵詞: Blackfin533;QR code;Zigbee;條碼識別
?
??? 二維條碼是為了克服一維條碼容量小、依賴數(shù)據(jù)庫、不能表示漢字等缺點而產(chǎn)生的。二維條碼系統(tǒng)是非網(wǎng)絡(luò)環(huán)境下的高安全性信息載體系統(tǒng),其不僅可儲存文字、聲音、圖像,還能儲存虹膜、指紋等生物信息,是實現(xiàn)大容量信息高可靠性存儲、攜帶、自動識別的理想系統(tǒng)??焖夙憫?yīng)矩陣碼QR code是一種矩陣式二維條碼,具有信息容量大、可靠性高、超高速全方位識讀、高效漢字表示等優(yōu)點,被廣泛應(yīng)用于工商、金融、稅務(wù)、物流、海關(guān)等領(lǐng)域。由于在線式數(shù)據(jù)采集終端在使用距離上的限制,使其不能應(yīng)用在需要脫機(jī)使用的場合,如較大新庫存盤點,大件物品的掃描等。為了解決在線式條碼識別終端的不足,無線便攜式識別終端應(yīng)運而生。基于這些特征需求,本文研究設(shè)計了基于Blackfin533的便攜式QR code識別系統(tǒng)。
1 系統(tǒng)硬件設(shè)計
??? 整個ZigBee無線QR code識別系統(tǒng)由四部分組成:便攜式QR code識別終端、Zigbee無線節(jié)電網(wǎng)絡(luò)、主機(jī)Zigbee數(shù)據(jù)無線接收模塊、HOST主機(jī)數(shù)據(jù)庫管理系統(tǒng)。系統(tǒng)框圖如圖1所示。本文主要對便攜式QR code識別終端系統(tǒng)進(jìn)行研究與設(shè)計,其硬件電路由七部分構(gòu)成[1]:Blackfin533 DSP最小系統(tǒng)、COMS圖像傳感器、Zigbee無線模塊、人機(jī)交互模塊、TFT LCD顯示模塊、USB接口模塊、照明控制模塊。
?
??? 系統(tǒng)信號流程如下:COMS圖像傳感器采集條碼圖像信息,然后通過Blackfin533 PPI接口以DMA方式存入SDRAM,Blackfin533從SDRAM讀取一幅QR code圖像信息,進(jìn)行圖像數(shù)據(jù)的處理、信號糾錯、碼字識別。譯碼后的二維條碼數(shù)據(jù)被送入TFTLCD進(jìn)行顯示,同時將譯碼后數(shù)據(jù)通過Zigbee無線通信模塊發(fā)送,經(jīng)過其通信節(jié)點網(wǎng)絡(luò)逐步傳輸?shù)街鳈C(jī)數(shù)據(jù)管理系統(tǒng),對收集到的條碼數(shù)據(jù)進(jìn)行管理。
1.1 Blackfin533小系統(tǒng)
??? 系統(tǒng)采用Blackfin533作為核心處理器。Blackfin系列DSP是ADI公司與Intel公司于2003年4月聯(lián)合推出的一系列基于微信號體系結(jié)構(gòu)(MSA)的DSP產(chǎn)品[2],主要面向嵌入式音頻、視頻和通信等領(lǐng)域,除了具有強(qiáng)大的信號處理性能和理想的電源效率,還集成了32位的RISC精簡指令集,可以運行精簡的不具有MMU的操作系統(tǒng),如μCLinux等,以加強(qiáng)系統(tǒng)多任務(wù)控制調(diào)度能力。Blackfin533具有600MHz主頻,雙16位的MAC(乘加器)和兩個40位的ALU(算術(shù)邏輯單元),4個8位的視頻處理單元,8個算術(shù)寄存器,10個地址尋址單元并且集成了大量的外圍設(shè)備和存儲器接口,每秒運算速度最高達(dá)到1 200MMAC(兆次乘法加法運算),并專門針對高速數(shù)據(jù)吞吐集成了并行外圍接口(PPI),在傳統(tǒng)的數(shù)據(jù)總線的基礎(chǔ)上增加了一條數(shù)據(jù)吞吐通道,充分滿足了系統(tǒng)技術(shù)指標(biāo)的要求。
??? 外圍存儲器包括數(shù)據(jù)存儲器和指令存儲器,分別采用SDRAM和Flash。
?? ?系統(tǒng)外擴(kuò)SDRAM用以緩存動態(tài)采集到的二維條碼圖像數(shù)據(jù),MICRON公司的MT48LC16M16A2與BF533的連接如圖2所示。
?
??? 系統(tǒng)外擴(kuò)Flash用于存儲系統(tǒng)軟件和譯碼后的數(shù)據(jù)信息,ST公司的PSD4256G6V與BF533的連接如圖3所示。
?
1.2 COMS圖像傳感器模塊
??? 條碼圖像傳感器是該系統(tǒng)的關(guān)鍵器件,用來完成QR code圖像采集,其成像質(zhì)量直接影響整個系統(tǒng)的性能。CMOS傳感器易于集成,接口簡單,內(nèi)部一般集成A/D,可直接輸出灰度級數(shù)字信號,成本也較低。因此本系統(tǒng)采用Omni Vision公司的CMOS圖像傳感器OV9120[3]。OV9120是130萬像素、1/2英寸的黑白COMS圖像傳感芯片,它采用SXGA/VGA格式。SXGA輸出時,像素為1 280×1 024;VGA輸出時,像素為640×480,最大幀速率可達(dá)到30S/s(VGA)。
??? Blackfin533通過OV9120的SCCB接口來讀寫其內(nèi)部寄存器以設(shè)置和讀取OV9120的工作狀態(tài),包括對曝光控制、亮度控制、對比度控制、窗口大小設(shè)定、幀速率設(shè)定、數(shù)據(jù)輸出格式等參數(shù)的設(shè)定和修改。SCCB的接口有SCCE、SIO_C、SIO_D三條引線,其中SCCE是串行總線使能信號,SIO_C是串行總線時鐘信號,SIO_D是串行總線數(shù)據(jù)信號。SCCB對總線功能的控制完全依靠SCCE、SIO_C、SIO_D三條總線上電平的狀態(tài)以及三者之間的相互配合實現(xiàn)。OV9120與Blackfin533的接口如圖4所示。
?
??? Blackfin533提供了專用的并行外設(shè)接口(PPI)用于圖像數(shù)據(jù)傳輸,配合DMA使用可以解決數(shù)據(jù)傳輸?shù)臎_突問題,減少DSP的資源消耗,使DSP內(nèi)核可以專注于后端的處理。
1.3 Zigbee無線通信模塊
??? Zigbee采用IEEE802. 15.4標(biāo)準(zhǔn),利用全球共用的公共頻率2.4GHz。應(yīng)用于監(jiān)視、控制網(wǎng)絡(luò)時,具有非常顯著的低成本、低耗電、網(wǎng)絡(luò)節(jié)點多、傳輸距離遠(yuǎn)等優(yōu)勢。
??? 本系統(tǒng)的無線模塊采用基于Zigbee技術(shù)的無線模塊CC2430芯片。CC2430是Chipcon公司提供的全球首款支持Zigbee協(xié)議的SoC解決方案[4],在單個芯片上整合了ZigBee 射頻(RF)前端、內(nèi)存和微控制器,具有21個可編程I/O引腳,通過軟件設(shè)定一組SFR寄存器的位和字 ,可使這些引腳作為通常的I/O口或作為連接ADC、計時器或USART部件的外圍設(shè)備I/O口使用。本系統(tǒng)中將CC2430設(shè)置成SPI模式與Blackfin533進(jìn)行數(shù)據(jù)傳輸,Blackfin533作為主設(shè)備,CC2430作為從設(shè)備,其Blackfin533與CC2430接口連接及其CC2430外圍電路如圖5所示。
?
2 系統(tǒng)軟件設(shè)計
??? 系統(tǒng)采用μClinux操作系統(tǒng)作為系統(tǒng)軟件的內(nèi)核來管理和維護(hù)各種硬件資源。系統(tǒng)主程序流程如圖6所示。系統(tǒng)首先初始化各個模塊,然后觸發(fā)掃描采集條碼圖像,再進(jìn)行條碼圖像傳輸。DSP調(diào)用數(shù)據(jù)進(jìn)行圖像預(yù)處理及條碼譯碼,再將譯碼結(jié)果通過LCD顯示,最后通過Zigbee模塊將譯碼結(jié)果數(shù)據(jù)無線傳輸?shù)紿OST主機(jī)。
?? ?系統(tǒng)軟件的核心部分就是QR code的譯碼識別,其流程如圖7所示。
?
??? (1)中值濾波:由于攝像頭本身的成像質(zhì)量或者條碼在使用過程中的破損、涂抹等原因,會產(chǎn)生鹽粒噪聲和毛刺噪聲,從而影響條碼的識別。中值濾波是一種去除噪聲的非線性處理方法,可以達(dá)到既去除噪聲又保護(hù)圖像邊緣的較滿意復(fù)原的效果。中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中某點的值用該點所處的一個領(lǐng)域中各點值的中值來代替。
?? ?(2)圖像二值化[5]:系統(tǒng)將圖像數(shù)據(jù)以YUV4:2:2的格式從Ov9120傳到系統(tǒng)存儲器SDRAM中,從中取出圖像的亮度信息Y。雖然灰度圖像己經(jīng)簡化了處理的復(fù)雜度,但是條碼是典型的黑白圖像,一般要通過二值化處理使背景和圖像分開,同時也使黑白條碼更加分明。根據(jù)點運算的閾值理論,按式(1)對圖像處理可以得到二值圖像。
????
??? (3)圖像定位:系統(tǒng)采集的條碼圖像不可避免地會有一定角度的旋轉(zhuǎn),因此首先要確定條碼圖像位置,然后把條碼旋轉(zhuǎn)至水平方向。圖像定位包括邊緣檢測和Radon變換。系統(tǒng)先采用sobel算法進(jìn)行邊緣檢測,然后采用基于Radon變換的定位算法求解二值條碼圖像的旋轉(zhuǎn)角度。
?? ?(4)圖像旋轉(zhuǎn):求出旋轉(zhuǎn)角度后就可以對條碼圖像旋轉(zhuǎn)至水平方向,點(x0,y0)經(jīng)過旋轉(zhuǎn)θ角度后坐標(biāo)變?yōu)?xl,y1)的轉(zhuǎn)換公式如下:
??? ???? (5)分割條碼圖像[6]:采用Canny水平和垂直方向檢測算子,把單行的條碼分離出來分別進(jìn)行處理,在一定程度上提高條碼的識別率。
??? (6)Fourier反模糊濾波:對分割出的條碼圖像進(jìn)行Fouirer反模糊濾波,去除圖像處理過程中的噪聲影響。
??? (7)條碼譯碼:圖像旋轉(zhuǎn)完成之后進(jìn)行圖像數(shù)據(jù)的讀取和譯碼。譯碼流程如圖8所示。首先將讀取的圖像數(shù)據(jù)存放在一個內(nèi)存區(qū)域,從圖像中讀取格式信息和版本信息,并進(jìn)行糾錯譯碼,得到當(dāng)前條碼符號的版本、糾錯等級和掩膜圖形;然后將掩膜圖形與條碼圖像的編碼區(qū)域進(jìn)行異或處理,去除掩膜,恢復(fù)編碼數(shù)據(jù)和糾錯碼字,使用RS糾錯算法對數(shù)據(jù)碼字進(jìn)行糾錯以得到正確的編碼數(shù)據(jù);最后將編碼數(shù)據(jù)按照編碼格式進(jìn)行解碼,還原為原始的編碼信息,并將結(jié)果保存并輸出。
3 實驗結(jié)果
??? 本系統(tǒng)測試平臺以ADSP-BF533 EZ-KIT Lite為硬件主平臺,外圍擴(kuò)展了OV9120圖像采集模塊、CC2430無線通信模塊、TFTLCD顯示模塊以及基本的人機(jī)交互模塊。系統(tǒng)能正確采集到QR code條碼圖像,識別時間在1s之內(nèi)。對于輕微有損或歪曲的圖像基本能識別。由于測試平臺的限制,總的識別率在85%左右,能正確顯示識別結(jié)果。在測試CC2430無線通信模塊時,采用ZigBee專用評估軟件SmartRFStudio,它可以很好地對無線數(shù)據(jù)傳輸性能進(jìn)行評估和功能測試。在測試條件良好的情況下,2.5GHz頻率、50m內(nèi),數(shù)據(jù)向HOST主機(jī)傳輸過程中的丟碼率小于2%。通過測試表明,系統(tǒng)基本能實現(xiàn)全方位快速識讀QR code功能,并能通過ZigBee模塊CC2430實現(xiàn)數(shù)據(jù)無線傳輸。
?? ?本文提出了一種基于Blackfin533和ZigBee技術(shù)便攜式QR code識別終端系統(tǒng)的實現(xiàn)方案。系統(tǒng)以Blackfin533為數(shù)據(jù)處理核心,DSP內(nèi)核移植μCLinux操作系統(tǒng),調(diào)度和管理各種硬件資源。系統(tǒng)采用COMS傳感器采集條碼圖像數(shù)據(jù),通過DMA傳輸圖像數(shù)據(jù),減少了DSP內(nèi)核負(fù)擔(dān),使DSP專注于圖像處理和譯碼工作。識別結(jié)果可以通過LCD顯示,并可通過ZigBee模塊CC2430實現(xiàn)無線數(shù)據(jù)傳輸功能。實驗證明,該系統(tǒng)能實現(xiàn)QR code的快速全方位識讀,并能無線傳輸識讀結(jié)果數(shù)據(jù),且系統(tǒng)結(jié)構(gòu)簡單、體積小、功耗低、成本低廉。隨著二維條碼應(yīng)用越來越廣泛,該方案的實用性和推廣價值日益增加。
參考文獻(xiàn)
[1] 陳峰.Blackfin系列DSP原理與系統(tǒng)設(shè)計[M].北京:電子工業(yè)出版社,2004.
[2] 高同海,宋明丁,曉明.基于SoPC的嵌入式二維條碼識讀系統(tǒng)[J].電子技術(shù)應(yīng)用,2005(11):33-36.
[3] 李春明,姜威,高超,等.COMS圖像傳感器芯片OV9620/OV9120及其運用[J].電視技術(shù),2003(12):66-68.
[4] CHIPCON.SmartRF CC2430[EB/OL].www.chipcon.com,2005/2006.
[5] 劉東,高西全.QR碼圖像處理及識別算法的研究[J].信息技術(shù),2004(1):61-63.
[6] 岡薩雷斯(美).數(shù)字圖象處理(第二版)[M].北京:電子工業(yè)出版社,2003.