基于NiosII的二維條碼識(shí)別系統(tǒng)設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件是在Nios II的μC/OSII操作系統(tǒng)下進(jìn)行C語(yǔ)言編程的。系統(tǒng)初始化主要包括對(duì)采集芯片、射頻傳輸控制模塊、網(wǎng)絡(luò)接口的初始化,整個(gè)系統(tǒng)動(dòng)態(tài)掃描條碼圖像和實(shí)時(shí)譯碼。系統(tǒng)主要流程如圖9所示。其中,系統(tǒng)初始化時(shí)利用函數(shù)IOWR(SIGNAL_CAP_O_BASE,O,1)將采集模塊全局信號(hào)復(fù)位,然后使用函數(shù)alt_irq_register。(SIGNAL_CAP_0_IRQ,NULL,sig_cap_irq_proc)來(lái)建立一個(gè)用戶中斷程序,對(duì)按鍵中斷響應(yīng)進(jìn)入中斷服務(wù)程序sig_cap_irq_proc,向攝像頭發(fā)送采集指令。當(dāng)采集模塊完成一幅條碼圖像采集后,產(chǎn)生一個(gè)硬件中斷,將標(biāo)志FLAG置1。當(dāng)主循環(huán)程序判斷FLAG為1時(shí),就可以從外擴(kuò)的SRAM中將圖像數(shù)據(jù)讀入SDRAM中,接著進(jìn)行圖像預(yù)處理和譯碼,其中包括用自定義用戶指令和硬件模塊實(shí)現(xiàn)的一些運(yùn)算量大的部分。射頻傳輸與NiosII的PIO口相連,通過(guò)函數(shù)IOWR_ALTERA_AVALON_PIO_DA_TA來(lái)實(shí)現(xiàn)。本文引用地址:http://www.ex-cimer.com/article/192009.htm
4 實(shí)驗(yàn)與分析
本識(shí)別系統(tǒng)工作頻率為100 MHz,圖像采樣分辨率為320×240,一幅條碼圖像識(shí)別時(shí)間為60 ms。本系統(tǒng)有如下幾個(gè)特點(diǎn):
①利用PDF417碼本身的特點(diǎn)來(lái)定位分割條碼,與傳統(tǒng)的條碼定位分割算法相比,大大提高了條碼識(shí)別速率。傳統(tǒng)二維條碼定位分割多采用Hough變換來(lái)確定條碼傾斜角度,不能滿足手持式嵌入式條碼識(shí)讀器的實(shí)時(shí)性要求。
②在FPGA中嵌入NioslI軟核處理器,簡(jiǎn)化硬件設(shè)計(jì),同時(shí)使系統(tǒng)更加穩(wěn)定。FPGA的可重配置以及SOPC的可裁減使系統(tǒng)具有很高的資源利用率,而且方便升級(jí)和維護(hù)。
③利用自定義模塊、自定義指令、C2H硬件加速等方法刮對(duì)部分耗時(shí)算法進(jìn)行優(yōu)化,大大提高了整個(gè)系統(tǒng)識(shí)別速率。
筆者針對(duì)不同環(huán)境下采集的300幅條碼圖像進(jìn)行了三次測(cè)試:第一次是在條碼無(wú)破損的情況下,第二次是在條碼有5%破損和污染的情況下,第三次隨機(jī)識(shí)別100幅條碼。本文所采用的算法平均識(shí)別率達(dá)96.7%,耗時(shí)60ms,如表1所列。
結(jié) 語(yǔ)
二維條形碼誕生后,條碼技術(shù)的應(yīng)用領(lǐng)域更加廣泛,不僅應(yīng)用于物流運(yùn)輸,還滲透到生產(chǎn)、生活的各個(gè)領(lǐng)域。本文介紹了一種基于SOPC的二維條碼識(shí)別系統(tǒng)的設(shè)計(jì),提出了一種軟硬件綜合的解決方案,由于涉及底層的硬件系統(tǒng)設(shè)計(jì)和相應(yīng)的軟件設(shè)計(jì),在系統(tǒng)性能優(yōu)化方面有著很大的空間。
評(píng)論