??? 摘 要: 一種基于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)確可靠地向主機傳輸,。
??? 關(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)用在需要脫機使用的場合,如較大新庫存盤點,,大件物品的掃描等,。為了解決在線式條碼識別終端的不足,無線便攜式識別終端應(yīng)運而生,?;谶@些特征需求,本文研究設(shè)計了基于Blackfin533的便攜式QR code識別系統(tǒng),。
1 系統(tǒng)硬件設(shè)計
??? 整個ZigBee無線QR code識別系統(tǒng)由四部分組成:便攜式QR code識別終端,、Zigbee無線節(jié)電網(wǎng)絡(luò)、主機Zigbee數(shù)據(jù)無線接收模塊,、HOST主機數(shù)據(jù)庫管理系統(tǒng),。系統(tǒng)框圖如圖1所示。本文主要對便攜式QR code識別終端系統(tǒng)進(jìn)行研究與設(shè)計,,其硬件電路由七部分構(gòu)成[1]:Blackfin533 DSP最小系統(tǒng),、COMS圖像傳感器、Zigbee無線模塊,、人機交互模塊,、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數(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)域,除了具有強大的信號處理性能和理想的電源效率,,還集成了32位的RISC精簡指令集,,可以運行精簡的不具有MMU的操作系統(tǒng),,如μCLinux等,以加強系統(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)外擴SDRAM用以緩存動態(tài)采集到的二維條碼圖像數(shù)據(jù),,MICRON公司的MT48LC16M16A2與BF533的連接如圖2所示,。
?
??? 系統(tǒng)外擴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主機。
?? ?系統(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為硬件主平臺,,外圍擴展了OV9120圖像采集模塊,、CC2430無線通信模塊、TFTLCD顯示模塊以及基本的人機交互模塊,。系統(tǒng)能正確采集到QR code條碼圖像,,識別時間在1s之內(nèi)。對于輕微有損或歪曲的圖像基本能識別,。由于測試平臺的限制,,總的識別率在85%左右,能正確顯示識別結(jié)果,。在測試CC2430無線通信模塊時,,采用ZigBee專用評估軟件SmartRFStudio,它可以很好地對無線數(shù)據(jù)傳輸性能進(jìn)行評估和功能測試,。在測試條件良好的情況下,,2.5GHz頻率、50m內(nèi),,數(shù)據(jù)向HOST主機傳輸過程中的丟碼率小于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.