- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于DSP56F826芯片的二维条码扫描器系统
复位与时钟电路
虽然DSP内置了COP模块,可以完成watchdog功能,当DSP内核电压VDD低于2.2V或者I/O口电压VDDIO低于2.7V,系统自动复位。我们还专门加了外部RESET,防止系统受到外界干扰或电源波动时出现死机现象。
DSP56F826的系统时钟由晶振提供。我们用DSP芯片内部提供的晶振电路,在EXTAL和XTAL之间接一外部晶体(4MHz)。
电源控制电路
输入5V的直流电作为整个系统的电源。由于图像传感芯片OV7120使用5V电源,MAX202E用5V电源,外部SRAM用3.3V电源,DSP56F826 Core用2.5V电源,而DSP56F826 的I/O口用3.3V电源,所以电源分三路输出。
照明控制电路
采用主动光源,用三个发光二极管给条码采集提供照明,便于二维条码图象的定标。当开始采集图象数据时,DSP输出一控制信号,驱动发光二极管工作。采集结束后,在DSP控制下停止工作。
系统部分电路图示于图3。
图3 部分硬件电路图
系统软件设计
二维条码扫描器开始工作时,首先采集二维条码图象数据,由于实际工作中条码图象会出现污损等情况,对码字的正确译出造成影响,所以必须对采集到的图象进行降噪、校正等处理。条码图象为灰度图象,对其进行二值化才能进行码字识别。在将PDF417码的所有码字正确分割后,以查表方式在码本中查找与码字相对应的值,将编码数据译出。为确认扫描的有效性,必须进行前向错误校验。如出错,则进行纠错。最后,将译码的正确数据传输到上位计算机或直接进行处理显示。软件框图如图4所示。
降噪处理
图象采集芯片OV7120成像速度为30帧/秒,但是在实际操作过程中,会有人手抖动、条码图象移动等情况产生,采集时间过长,就会导致每帧图象之间的差别相当大,进而造成很大的识别误差,所以在每一次扫描时,我们只取三帧图象,所用时间为 :(1 / 30 ) × 3 = 0.1 s ,可以忽略人手抖动等影响。设采集到的三帧图象为I1 (x , y) 、I2 (x , y) 、I3 (x , y) , 每帧的噪声方差为σ2,取平均可得到:
I (x , y) = I (x , y)的噪声方差为σ2/3 。
可见此方法可以有效降噪。我们不采用常见的中值滤波、Butterworth滤波等方法,是因为一个码字占有3、4个像素点,用中值或Butterworth滤波处理污损的图象,将对图象造成结构性的破坏。
图象二值化
首先统计出图象的直方图,然后用Bayesian最佳分类器,确定最佳二值化门限电平,实现对图象的二值化处理。此二值化门限电平必须是动态调整的,因为每次的光照等外界条件是不同的,每扫描一次条码,就必须确定一个新的二值化门限电平。动态采集到的条码图象有300K像素点,但只需要取图象中间区域进行统计直方图,取中间的64×64个像素点,平均每统计一个像素点需要2个指令周期,可算得统计直方图总共需要64×64×2=8192个指令周期。确定二值化门限电平需要约2000个指令周期,由此可计算所用时间约为:(8192+2000)/ 40000000 = 0.00025 s。
码字识别与信号纠错
在码字分割完成之后,采用模板匹配方式,在固定的码本中查找与码字相对应的值,将码字译出。这里不需要用到神经网络,因为PDF417码字模式非常标准,用简单的模板匹配即可完成,不需复杂化。对一个码字进行模板匹配需要8000个指令周期,平均每个二维条码包含500个码字,则进行模板匹配总共需要时间为:8000×500 / 40000000 = 0.1 s 。为确保译码的有效性,使用R-S错误控制码对码字进行检错和纠错,每个码字的检错和纠错需要用100个指令周期,所以总共需要100×500 / 40000000 = 0.00125 s的时间来完成二维条码数据纠错。
结语
所设计的二维条码扫描器用DSP56F826芯片为系统核心,采用优化算法,可以快速高效地对二维条码进行识别处理。
来源:电子发烧友
上一篇:利用C++程序获取网卡的相关信息
下一篇:电信IPv6网络安全保障体系研究
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶顔姐亜椤撶偞鍋ョ€规洜鎳撻埥澶娾枎閹邦喖绲块梻鍌欑劍閹爼宕愰弴鐏诲綊鎮滈挊澶岊唵闁诲函缍嗛崰鏍不閺屻儲鐓欏ù鐓庣摠濞懷囨煙椤旇崵绐旀慨濠呮閸栨牠寮撮悢鍝ュ絿婵$偑鍊戦崹褰掓晝椤忓牄鈧礁鈻庨幘宕囶槹濡炪倖鐗楃喊宥夋倵椤掆偓閳规垿鎮欓崣澶樻!闂佹悶鍔庨崰鏍ь嚕婵犳碍鏅搁柨鐕傛嫹 | More...
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶顔姐亜椤撶偞鍋ョ€规洜鎳撻埥澶娾枎閹邦喖绲块梻鍌欑劍閹爼宕愰弴鐏诲綊鎮滈挊澶岊唵闁诲函缍嗛崰鏍不閺屻儲鐓欏ù鐓庣摠濞懷囨煙椤旇崵绐旀慨濠呮閸栨牠寮撮悢鍝ュ絿婵$偑鍊戦崹褰掓晝椤忓牄鈧礁鈻庨幘宕囶槹濡炪倖鎸鹃崰搴ㄦ偟娴煎瓨鈷戦柛娑橈攻鐎垫瑩鏌嶈閸撶喎顕f繝姘櫢闁跨噦鎷�
闂傚倸鍊风粈渚€骞夐敓鐘冲亱闁哄洨濮风粈濠傗攽閻樺弶鎼愰柛灞诲姂閺屾洟宕煎┑鎰ч梺绋款儍閸斿矂婀侀梺鎸庣箓閹冲酣寮抽悢鍏肩厽闁哄倹瀵ч崵鍥煙椤旀娼愰柟宄版嚇閹兘骞嶉鍛炲┑锛勫亼閸婃牠骞愭繝姘畺闁稿本姘ㄩ弳锕傛煣韫囨凹娼愰柛蹇旂矒閺屾稑饪伴埀顒傜矆娓氣偓瀵偊骞庨懞銉у幗闂佺粯锚瀵爼骞栭幇顒夌唵鐟滃瞼鍒掑▎鎾虫槬闁靛繈鍊栭弲鎼佹煥閻曞倹瀚�
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶顔姐亜椤撶偞鍋ョ€规洜鎳撻埥澶娾枎閹邦喖绲块梻鍌欑劍閹爼宕愰弴鐏诲綊鎮滈挊澶岊唵闁诲函缍嗛崰鏍不閺屻儲鐓欏ù鐓庣摠濞懷囨煙椤旇崵绐旀慨濠呮閸栨牠寮撮悢鍝ュ絿婵$偑鍊戦崹褰掓晝椤忓牄鈧礁鈻庨幘宕囶槹濡炪倖甯掗崐鍨瀶椤斿皷鏀介幒鎶藉磹閺囩姭鍋撳顒€妲婚摶鐐烘煥閻曞倹瀚�
闂傚倷娴囬褏鎹㈤幇顔藉床闁归偊鍠掗崑鎾愁潩椤愩垹绁梺闈涙閸婂骞戦崟顒傜懝妞ゆ牗纰嶅▍濠囨⒒娓氣偓濞佳囨晬韫囨稑鐒垫い鎺戝閽冪喖鏌曢崼婵愭Ч闁稿鍔嶉妵鍕冀閵婏妇娈ゆ繝鈷€鍕闁哄矉缍侀獮妯兼喆閸曨厹鈧﹪姊洪悷鏉挎Щ妞ゆ垵顦甸妴浣割潨閳ь剟骞冨⿰鍫濆耿婵妫楅弫褰掓⒒娴h棄鍚归柛鐘茬Ф濞嗐垽濡舵径濠勵唵闂佽法鍣﹂幏锟�