基于DSP的二维条码识别器设计

时间:2022-08-20 02:46:33

基于DSP的二维条码识别器设计

【摘要】二维条码技术正在多个领域广泛使用,针对其的快速、准确的识别技术应用前景光明。本设计以TI公司的TMS320VC5402 DSP处理器为核心,利用CMOS图像传感器进行逐行扫描二维条码进行数据采集,实现二维条码的精确采集传输工作,并切通过并行接口可以实现与PC机的连接和数据交换。

【关键词】DSP;二维条码;CMOS

随着物联网技术的迅速发展,条码技术被广泛应用,基于条码技术研究也在不断的深入。一维条码是物品信息的一个简单代码,仅对物品进行标识,而不对物品进行描述。在其使用过程中需要依赖数据库使用,如果没有数据库和不便联网的情况下,一维条码使用受到很大限制。二维条码则具有高密度、高可靠性的特点。其本身具有很大的数据容量,在一定的数据范围内不需要后台数据库信息,而且其纠错能力强,数据不容丢失,更重要的是基于二维条码的智能设备可以不依赖于PC,成为完全独立的数据处理终端。因此,针对二维条码的数据识别器设计很有意义。二维条码如图1所示。

1.二维条码特性及识

二维条码的编码特性包括:

(1)高密度性。二维条码利用垂直方向的尺度来提高条码的信息密度,其密度可以达到一维条码的几十至几百倍,一般可以将产品的全部信息存储在一个二维条码中,通过识读设备扫描二维条码就可以查看产品的全部信息,而不需要事先建立数据库,实现了用条码对物品的描述。

(2)具有纠错能力。二维条码引入了纠错机制,当二维条码因破损、污染等局部损坏时可以正常进行识读。

(3)可表示多种语言文字。二维条码基本都具有字节表示模式,既提供了一种表示字节流的机制。无论何种语言文字都可以转换成字节流,再将字节流用二维条码表示,从而增加了文字支持能力。

(4)可表示图像数据。图像多数都可以以字节形式存储,这就使图像(如照片、指纹等)可以以二维条码的形式保存。

(5)可引入加密机制。可以使用加密算法将数据信息加密,然后再用二维条码表示。在识别二维条码时,再以一定算法进行解密,就可以恢复所存储信息,这样可以实现一定的防伪功能。

二维条码识别器的作用在于可以识别特定的条码并且能将条码信息还原成原始数据,完成物与物的交流;同时还能降还原后的数据以人们可以接受的不同方式表现出来,完成物与人的交流。

2.系统整体结构

该识别器系统以TI的DSP嵌入式系统平台TMS320VC5402 DSK为基础,通过外接图像传感器获得二维条码图像信息,经过识别器可以独立工作识别普通二维条码,也可以连接PC机实现数据采集功能。系统的工作流程如图2所示。当系统采集到一个条码图像后,首先对采集到的图像做处理,然后对每个条码进行提取,之后就可以根据码字特征进行解码和纠错,最后输出要求的结果,系统处理流程见图2。

TMS320VC5402 DSK平台是以TMS320VC5402处理器为核心的DSP初学者工具(DSP Star-ter Kit)。它提供了一个低功耗、独立的开发平台,使用户能评估和开发C54X DSP的应用程序,同时也可以作为以其他芯片为核心的DSP硬件设计的参考。TMS320VC5402 DSK中与本系统相关部分的主要包括:

(1)100MB VC5402 DSP

(2)64KB(16位的SRAM存储器)

(3)256KB(16位的FLASH存储器)

(4)JTAG仿真测试总线控制器(JTAG TBC)和并行接口控制器(Parallel Port Controller)

(5)RS232异步数据接口

(6)扩展子板接口(MEMORY I/F和PERIP-HERAL I/F)

其中数字信号处理器主要负责图像的预处理和识别匹配。因为二维条码解码过程复杂,对硬件要求高,所以性价比高,功耗低、芯片主频高达100MHz的TMS3VC5402处理器成为很好的选择,该芯片平均计算时间为40ms,能充分满足二维条码解码的系统需求。CPLD可以满足DSP所需的组合逻辑,并为DSP软件提供控制和状态接口。SDRAM和FLASH存储器,可以满足静态和动态数据存储要求。并且可以通过TMS320VC5402 DSK的RS232与PC机进行数据交换。

图像传感器作为二维条码信息的基本采集手段,其成像质量直接影响到整个系统的性能。常用图像传感器包括两种:CCD和CMOS。其中CCD在使用中存在着种种问题,多数情况下很少使用。而CMOS则由于骑易于集成,接口简单,内部集成A/D,可直接输出灰度级数字信号,成本较低而广受欢迎,虽然也存在对光照强度要求高的问题,但这并不影响正常情况下的使用。所以在该系统中选择CMOS作为图像传感器。OmniVision OV7649黑白图像传感器拥有640*480像素,30帧/秒成像速度,逐行扫描,输出数字信号的特性,成为本设计的首选图像传感器。

3.系统软件的设计与实现

二维条码识别器内部的软件设计核心是二维条码解码算法,在设计过程中,将其分成三部分:图像数据接收、条码解码、串口数据发送。出于设计方便与兼容性考虑,这里选择TI公司的开发环境CCS,利用其中的DSP/BIOS开发工具,实现实时操作系统的终端功能,用来操作实现上述几个部分。算法以子程序形式进行调用,这样优化程序结构,降低程序复杂度,提高了系统的可靠性并且降低了维护难度。PC机上的软件设计主要在于实现基于操作系统环境下的串口通信和解码后码字的实时显示,这部分根据Windows和Linux操作系统的各自实际情况来分别开发。这里使用Qt来进行上位机软件的开发。

4.结束语

本文以DSP TMS320VC5402为系统核心设计了二维条码识别器,具有易于实现,性能高的特点。既可以独立使用,又可以连接到多种应用载体适合教学和科研使用。

参考文献

[1]陈媛媛,施鹏飞.二维条形码的识别与应用[J].测控技术,2006(12):17-19.

[2]郑文超,崔鸿富.条码技术指南[M].北京:中国标准出版社,2003.

[3]丁永军,张景春,杨信廷,等.一种新的二维码识读工具的构建及应用方案[J].包装工程,2008(12):128-130.

[4]中国物品编码中心编著.二维条码技术与应用[M].北京:中国计量出版社,2007.

[5]张雄伟,操铁勇.DSP的原理与开发应用[M].北京:电子工业出版社,2000.

作者简介:徐阳(1980—),男,辽宁省交通高等专科学校讲师,研究方向:嵌入式系统设计、宽带网络技术。

上一篇:南昆线牵引网故障测距不准原因分析及对策 下一篇:对口单招《电工基础》课程有效教学策略的研究