Example of Application 基于TMS320DM642的二维码识读器设计 魏彦 (深圳职业技术学院计算机应用工程系,广东深圳518055) 摘 要:介绍了基于TI的视频应用芯片TM¥320DM642的二维码识读器的设计方法。使用 TVP5102和SAA7104进行输入图像的采集和回放,重点讲解了DM642模块、视频输入接口和视频输 出接口的硬件设计结构。并介绍了基于DSP/BIOS的视频采集驱动程序编写、程序流程、图像处理方法 以及CCS中DSP/BIOS配置工具、CSL和FVID的使用。 关键词:TMS320DM642;二维码;DSP/BIOS;data matrix 中图分类号:TP334.2+2 文献标识码:B Design of 2-dimensional code reader based on TMS320DM642 WEI Yan (Department of Computer Application Engineering,Shenzhen Polytechnic,Shenzhen 518055,China) Abstract:This paper discusses the design of 2一dimensional code reader based on TM¥320DM642 which iS designed for video development by Texas Instruments Corp.In the hardware design.TVP5102 and SAA7104 chips are used for sample and loopback the input image.The circuit design of DM642 module.video input interface and output interface is emphasized in hardware design section.rI'}le software design section includes video sample driver based on DSP/BIOS.program flow.and vision arihtmetic.DSP/ B10S configuration tools.CSL and FVID of CCS and TI are emphasized. Key WOrds: 1'M¥320DM642;2-dimensional code;DSP/BIOS;data matrix 二维码是用某种特定的几何图形按一定规律在平 集芯片TVP5150、存储器SDRAM和Flash、LCD显示器、 面上(二维方向上)分布的黑白相间的记录数据符号信 时钟及看门狗电路、电源及复位电路、串行通信电路等 息的图形,在代码编制上利用构成计算机内部逻辑基础 组成,硬件结构框图如图1所示[21。 的“0”、…1’比特流的概念,使用若干个与二进制相对应的 几何形体来表示文字数值信息。与目前广泛使用的一维 条形码相比较,二维码具有编码密度高、信息容量大、编 码范围广、纠错能力强、译码可靠性高、追踪性高、抗损性 强、备援性大、成本便宜等特性,在表单、安全保密、追踪、 证照、存货盘点、资料备援等方面必将取代传统一维条 码,获得快速发展。本文提出的便携矩阵式二维码CCD识 读器,采用TI的高速DSP芯片TMS320DM642作为图像处 理器,使用高分辨率CCD摄像头捕捉图像,在DSP处理器 中利用模式识别初次定位,并对Data Matrix二维码进行 精确解码识别,得到编码在二维码图形中的字符串信息。 其结果可以直接在阅读器上显示,且可通过通信接口与其 他设备交互信息【11。 图1硬件结构框图 1硬件实现 主要应用电路由DM642、视频输入电路、视频输出 硬件部分主要由CPU控制器、CCD摄像头、图像采 等电路组成,具体如下。 《微型机与应用》2010年第8期 欢迎网上投稿www.pcachina.com 89 Example of Application 1.1 DM642模块 为回放模式。对采集到的数据进行回放时需要先将数字 该系统CPU选用TI公司专为视频应用开发的高性能 DSP芯片TMS320DM642(简称DM642)。DM642基于C64x 内核,并在其基础上增加了很多外围设备和接口,因 而在实际工程中的应用更为广泛和简便。本系统使用 50 MHz晶振作为DSP的外部时钟输入,经过内部锁相 环l2倍频后产生600 MHz的工作频率。DM642采用了2 视频信号重新转化为模拟信号,才能在监视器上播放。 本设计选用由Philips公司生产的SAAT104来完成信号 转换,SAA7104与DM642的电路连接如图3所示。 VP1一D[2..8] 卜、 PD[0..11] SAA7104 Y DM642 C 级缓存结构(Ll和L2),大幅度提高了程序的运行性能。 片内64位的EMIF(External Memory InterFace)接口可以 与SDRAM、Flash等存储器件无缝连接,极大地方便了大 量数据的搬移。更重要的是,作为一款专用视频处理芯 片,DM642包括了3个专用的视频端口(VP0 ̄VP2),用于 接收、处理视频和音频数据,提高了整个系统的性能。本 系统主要使用了TMS320DM642的外部存储器扩展接口 EMIF、视频口VP1、视频口VP2和通用IO口GPIO。 1.2视频输入接口 DM642具有3个视频端El,支持多种分辨率和标 准,其位宽和输入输出方向软件可控,设计中将VP2的 A通道设置为视频输入模式,实现对二维码的图形输 入。DM642与视频编解码芯片之间的数据都通过这几个 专用的端口传输,但是对这些芯片的控制则是通过I2C 总线实现的。 采用模拟摄像头进行视频数据采集,需要使用视频 解码芯片将采集到的模拟数据进行数字化,然后送给 DM642的视频端日进行处理。本设计选用TI公司生产 的TVP5150A,这是一款具有强大可靠的同步检测器的 超低功耗NTSC/PAL/SECAM视频解码器,它与DM642 的连接如图2所示[31。 YOUT[0..7】 VP2一D[2..8] PCLK,SCLK VP2一CLKl TVP5150A DM642 SDA VP2一SDA SCL VP2一SCL 图2 TVP5150A与DM642接15不意图 图2中, ITvP5150A的YOUT口与DM642的VP2口 直接连接,用于数据的传输。点阵时钟线和DM642上 VP2口的VP2一CLK1相连,用于数据传输的时钟信号。 DM642通过I℃总线对TVP5l50A内部寄存器进行读 写,达到控制该芯片的目的。 1.3视频输出接口 对于要求进行本地回放的设计,需要将一个视频口 设置为回放模式。本设计需要通过镜头的焦距、视野等 对所获取的物体表面图像质量进行控制,需要监控图像 质量,为此需要设计视频输出接口。在设计中使用视频 口VP1进行视频回放,因此将VP1端口的A通道设置 90 VP2一CLK1 PIXCLKl CVBS 图3 SAA7104与DM642接口电路示意图 图3中,DM642的VP1端口向SAA7104的MP口输 出BT.656格式的数字视频信号,经过SAA7104芯片内 部数据管理模块分离出Y信号和Cb、Cr信号;然后再 送到片内相应的模/数转换模块将数字信号变换为模拟 视频信号;最后由CVBS(复合视频信号)或者Y、C(S一端 子信号)引脚输出。SAA7104的时钟信号LLC为27 MHz, 由DM642的VP2CLKI提供,而DM642的VP2CLKI则是 来自于TVP5150A的SCLK引脚,这就使得视频的采集 和回放达到同步要求。DM642通过I2C接口对SAA7104 芯片内部的寄存器进行配置,实现对该芯片的控制。 2软件实现 在软件方面,主要针对视频编码、解码芯片的驱动、 软件流程设计和算法设计等3个方面。 2.1基于DSP/BIOS的视频驱动模型 设计中使用TI的基于DSP/BIOS的驱动模型,利用 了CSL(Chip Support Library)芯片支持库对TVP5150A和 SAAT104进行配置,使用FVID的API实现视频信号的 采集和回放。基于这种驱动模型的框架如图4所示[41。 应用程序 FVID类驱动API GIO类驱动 通用视频端口一DMA数据 特定编码解码驱动 J 苎 塞 壁 I 匝 叵 [ 巫夏] 图4 DM642视频捕捉和回放驱动模型框架 2.2软件工作流程 程序上电开始运行后,首先对各模块进行初始化设 置,包括VP1、VP2、TVP5150A、SAA7104、McBSP等,之后 在一个DSP/BIOS系统任务对象中进行图像捕捉,捕获 的图像数据将存放在FVID提供的一个FVID_Frame结 构中,以后对于图像的处理都是针对该结构中的图形数 据进行。将获得的图像首先进行二维码识别和定位,采 用模式识别的方法,判断该次采集的图像是否含有二维 《微型机与应用》2010年第8期 Example of Application 码信息,是否需要进行二维码识别处理。如果含有二维 码信息,则进入二维码识别模块进行识别,并输出到 LCD显示器以及通过McBSP发送二维码信息。 其中,DSP/BIOS系统任务对象是被TSK模块管理 实时地获取图像进行定位和识 别。对于一个实时进来的图像, 首先使用定位工具进行二维码 图像定位,如果定位成功则此 的线程。其任务的优先级高于空闲循环,低于硬件和软 件中断。TSK模块根据其任务的优先级和当前的执行状 态动态地调度和抢占任务。DSP/BIOS总共有15个任务 优先级可用,最低的优先级是保留给空闲循环的。为此, 图像中包含二维码图像信息, 如果定位返回不成功标志,则 不进行下一步,直接再次申请 图像。对于包含二维码信息的 图6 Data Matrix二维码 图像,在定位工具给出的图像位置,按照定位工具给出 在设计中使用了,I’I的DSP/BIOS配置工具对 K模块 进行配置,建立系统任务tskLoopback用于视频采集和图 的图像像素尺寸数值,读取原始二进制码流,再根据 像分析循环。系统程序的流程如图5所示。 TskLoopback任务 FvID_aIloc定位 FVID Frame I 调用FVID_create 模式识别、二维码识别参数初始化 创建捕捉通道 ●一 J FVID_exchange获取图像数据 调用FVID_control l 控制硬件 进行模式识别 l 调用FVID__control 启动视频捕捉 N J DSP,B10S 任务调度 f 二维码识别 I J I 输出二维码信息 l 图5程序流程图 2.3图像处理程序 在图像处理程序部分,要得到准确的解码信息,必 须包含两个关键组成部分:二维数据矩阵码的定位和二 维码解码,本设计只对Data Matirx二维码进行解码。 在图像定位方面,Data Matrix二维码自身包含了大 量的定位查找信息。图6所示为一个Data Matirx二维码 图像,可以看出在二维码图像的底部有一条黑色水平 条,而左边界处有一条黑色垂直条,其宽度均为一个有 效1的宽度,在图像的右上方为数据编码图像区域,而 整个图像外四周还有一个宽度为一个有效1像素4倍 的白色连续区域,程序中用这些信息定位二维码图像, 确定二维码图像的方向。 在程序中,首先获取一个完整的Data Matrix二维码 图像作为以后识别和解码实时动态图像的模板。对于作 为模板的图像,选择整个二维码图像区作为模板的训练 区域,通过图像坐标的变换将其训练为以后在实时图像 中定位二维码图像的模板。之后,设置定位时模式识别 的一些参数,包括旋转角范围、比例缩放范围、图像灰度 级别等,当模板和定位工具配置好时,就通过CCD相机 《微型机与应用》2010年第8期 Data Matirx的编码规则对二进制码流进行解码,获取相 应的字符串进行显示和传输。 本文详细阐述了基于TMS32DDM642的CCD二维码 Data Matirx读码器的设计,包括了硬件和软件的系统设 计。按照此设计方案设计的读码器结构简单,实现简便, 二维码识别率很高。 参考文献 【1】张琛,赵昕,郭娟,等.基于TMS320DM642芯片的图像编 码系统设计【J】.微机算计信息,2005,21(4):113—114. [2】王新栋,高宏昌,万里青.基于DM642的H.264视频压缩 系统设计与优化【J】.电光与控制,2008,15(01):82—85. 【3】李斌,李功燕,许世颐,等.DSP体系结构下视觉监控优化 方法研究【J】.计算机工程与应用,2008,44(34):231-233. 【4】干戈.一种基于DSP和USB的图像处理系统设计[J】.计 算机与数字工程,2008,36(11):149—150. (收稿13期:2009—11—20) 作者简介: 魏彦,女,1977年生,硕士,讲师,主要研究方向:嵌入 式系统和图像处理等。 Crossing Automation公司 推出增强版Spartan EFEM 2010年3月16日,为大规模半导体设备制造商 提供高效节能的前端与后端自动装置解决方案及工 程服务的领先供应商Crossing Automation公司宣布,已 将自己的SpartanTM设备前端模块fEFEM)的性能提高 至450张晶圆/小时。改进设计的目的是满足高通量 半导造工艺如剥离,去胶、清洗和离子注入的需 要。由于拥有专有的晶圆机常压机器人,改进后的 Spartan EFEM可在不到2.5 S的时间内以最快的速度 进行晶圆切换,实现100%的工艺设备利用率。 “使设备生产能力最大化是设备供应商的核心竞 争优势,同时也为IC制造商们降低设备的拥有成 本,”Crossing Automation的产品营销副总裁May Su表 示,“对于那些拥有每小时加工数百片晶圆的生产能 力,但却因现有的常压机器人技术而无法开足产能的 设备来说尤其重要。通过升级Spartan已经生产检验 的计算晶圆运动路径的软件算法,我们现在能够让所 有能通过商业手段购买到的EFEM发挥出最大产能, 同时还能维持Spartan现有的可靠性和清洁度性能。” (Crossing Automation公司供稿) 欢迎网上投稿www.pcachina.com 91