基于TMS320DM642的二維碼識讀器設(shè)計(jì)
2 軟件實(shí)現(xiàn)
在軟件方面,主要針對視頻編碼、解碼芯片的驅(qū)動(dòng)、軟件流程設(shè)計(jì)和算法設(shè)計(jì)等3個(gè)方面。
2.1 基于DSP/BIOS的視頻驅(qū)動(dòng)模型
設(shè)計(jì)中使用TI的基于DSP/BIOS的驅(qū)動(dòng)模型,利用了CSL(Chip Support Library)芯片支持庫對TVP5150A和SAA7104進(jìn)行配置,使用FVID的API實(shí)現(xiàn)視頻信號的采集和回放?;谶@種驅(qū)動(dòng)模型的框架如圖4所示[4]。本文引用地址:http://butianyuan.cn/article/187933.htm
2.2 軟件工作流程
程序上電開始運(yùn)行后,首先對各模塊進(jìn)行初始化設(shè)置,包括VP1、VP2、TVP5150A、SAA7104、McBSP等,之后在一個(gè)DSP/BIOS系統(tǒng)任務(wù)對象中進(jìn)行圖像捕捉,捕獲的圖像數(shù)據(jù)將存放在FVID提供的一個(gè)FVID_Frame結(jié)構(gòu)中,以后對于圖像的處理都是針對該結(jié)構(gòu)中的圖形數(shù)據(jù)進(jìn)行。將獲得的圖像首先進(jìn)行二維碼識別和定位,采用模式識別的方法,判斷該次采集的圖像是否含有二維碼信息,是否需要進(jìn)行二維碼識別處理。如果含有二維碼信息,則進(jìn)入二維碼識別模塊進(jìn)行識別,并輸出到LCD顯示器以及通過McBSP發(fā)送二維碼信息。
其中,DSP/BIOS系統(tǒng)任務(wù)對象是被TSK模塊管理的線程。其任務(wù)的優(yōu)先級高于空閑循環(huán),低于硬件和軟件中斷。TSK模塊根據(jù)其任務(wù)的優(yōu)先級和當(dāng)前的執(zhí)行狀態(tài)動(dòng)態(tài)地調(diào)度和搶占任務(wù)。DSP/BIOS總共有15個(gè)任務(wù)優(yōu)先級可用,最低的優(yōu)先級是保留給空閑循環(huán)的。為此,在設(shè)計(jì)中使用了TI的DSP/BIOS配置工具對TSK模塊進(jìn)行配置,建立系統(tǒng)任務(wù)tskLoopback用于視頻采集和圖像分析循環(huán)。系統(tǒng)程序的流程如圖5所示。
2.3 圖像處理程序
在圖像處理程序部分,要得到準(zhǔn)確的解碼信息,必須包含兩個(gè)關(guān)鍵組成部分:二維數(shù)據(jù)矩陣碼的定位和二維碼解碼,本設(shè)計(jì)只對Data Matrix二維碼進(jìn)行解碼。
在圖像定位方面,Data Matrix二維碼自身包含了大量的定位查找信息。圖6所示為一個(gè)Data Matrix二維碼圖像,可以看出在二維碼圖像的底部有一條黑色水平條,而左邊界處有一條黑色垂直條,其寬度均為一個(gè)有效1的寬度,在圖像的右上方為數(shù)據(jù)編碼圖像區(qū)域,而整個(gè)圖像外四周還有一個(gè)寬度為一個(gè)有效1像素4倍的白色連續(xù)區(qū)域,程序中用這些信息定位二維碼圖像,確定二維碼圖像的方向。
在程序中,首先獲取一個(gè)完整的Data Matrix二維碼圖像作為以后識別和解碼實(shí)時(shí)動(dòng)態(tài)圖像的模板。對于作為模板的圖像,選擇整個(gè)二維碼圖像區(qū)作為模板的訓(xùn)練區(qū)域,通過圖像坐標(biāo)的變換將其訓(xùn)練為以后在實(shí)時(shí)圖像中定位二維碼圖像的模板。之后,設(shè)置定位時(shí)模式識別的一些參數(shù),包括旋轉(zhuǎn)角范圍、比例縮放范圍、圖像灰度級別等,當(dāng)模板和定位工具配置好時(shí),就通過CCD相機(jī)實(shí)時(shí)地獲取圖像進(jìn)行定位和識別。對于一個(gè)實(shí)時(shí)進(jìn)來的圖像,首先使用定位工具進(jìn)行二維碼圖像定位,如果定位成功則此圖像中包含二維碼圖像信息,如果定位返回不成功標(biāo)志,則不進(jìn)行下一步,直接再次申請圖像。對于包含二維碼信息的圖像,在定位工具給出的圖像位置,按照定位工具給出的圖像像素尺寸數(shù)值,讀取原始二進(jìn)制碼流,再根據(jù)Data Matrix的編碼規(guī)則對二進(jìn)制碼流進(jìn)行解碼,獲取相應(yīng)的字符串進(jìn)行顯示和傳輸。
本文詳細(xì)闡述了基于TMS320DM642的CCD二維碼Data Matrix讀碼器的設(shè)計(jì),包括了硬件和軟件的系統(tǒng)設(shè)計(jì)。按照此設(shè)計(jì)方案設(shè)計(jì)的讀碼器結(jié)構(gòu)簡單,實(shí)現(xiàn)簡便,二維碼識別率很高。
參考文獻(xiàn)
[1] 張琛,趙昕,郭娟,等.基于TMS320DM642芯片的圖像編 碼系統(tǒng)設(shè)計(jì)[J].微機(jī)算計(jì)信息,2005,21(4):113-114.
[2] 王新棟,高宏昌,萬里青.基于DM642的H.264視頻壓縮系統(tǒng)設(shè)計(jì)與優(yōu)化[J].電光與控制,2008,15(01):82-85.
[3] 李斌,李功燕,許世頤,等.DSP體系結(jié)構(gòu)下視覺監(jiān)控優(yōu)化方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(34):231-233.
[4] 干戈.一種基于DSP和USB的圖像處理系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2008,36(11):149-150.
評論