微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于TMS320DM642的CCD二维码Data Matri

基于TMS320DM642的CCD二维码Data Matri

时间:04-09 来源:互联网 点击:
本文提出的便携矩阵式二维码CCD识读器,采用TI的高速DSP芯片TMS320DM642作为图像处理器,使用高分辨率CCD摄像头捕捉图像,在DSP处理器中利用模式识别初次定位,并对Data Matrix二维码进行精确解码识别,得到编码在二维码图形中的字符串信息。其结果可以直接在阅读器上显示,且可通过通信接口与其他设备交互信息[1]。

1 硬件实现

硬件部分主要由CPU控制器、CCD摄像头、图像采集芯片TVP5150、存储器SDRAM和Flash、LCD显示器、时钟及看门狗电路、电源及复位电路、串行通信电路等组成,硬件结构框图如图1所示[2]。


主要应用电路由DM642、视频输入电路、视频输出等电路组成,具体如下。

1.1 DM642模块

该系统CPU选用TI公司专为视频应用开发的高性能DSP芯片TMS320DM642(简称DM642)。DM642基于C64x内核,并在其基础上增加了很多外围设备和接口,因而在实际工程中的应用更为广泛和简便。本系统使用50 MHz晶振作为DSP的外部时钟输入,经过内部锁相环12倍频后产生600 MHz的工作频率。DM642采用了2级缓存结构(L1和L2),大幅度提高了程序的运行性能。片内64位的EMIF(External Memory InterFace)接口可以与SDRAM、Flash等存储器件无缝连接,极大地方便了大量数据的搬移。更重要的是,作为一款专用视频处理芯片,DM642包括了3个专用的视频端口(VP0~VP2),用于接收、处理视频和音频数据,提高了整个系统的性能。本系统主要使用了TMS320DM642的外部存储器扩展接口EMIF、视频口VP1、视频口VP2和通用IO口GPIO。

1.2 视频输入接口

DM642具有3个视频端口,支持多种分辨率和标准,其位宽和输入输出方向软件可控,设计中将VP2的A通道设置为视频输入模式,实现对二维码的图形输入。DM642与视频编解码芯片之间的数据都通过这几个专用的端口传输,但是对这些芯片的控制则是通过I2C总线实现的。

采用模拟摄像头进行视频数据采集,需要使用视频解码芯片将采集到的模拟数据进行数字化,然后送给DM642的视频端口进行处理。本设计选用TI公司生产的TVP5150A,这是一款具有强大可靠的同步检测器的超低功耗 NTSC/PAL/SECAM 视频解码器,它与DM642的连接如图2所示[3]。

图2中,TVP5150A的YOUT口与DM642的VP2口直接连接,用于数据的传输。点阵时钟线和DM642上VP2口的VP2_CLK1相连,用于数据传输的时钟信号。DM642通过I2C总线对TVP5150A内部寄存器进行读写,达到控制该芯片的目的。

1.3 视频输出接口

对于要求进行本地回放的设计,需要将一个视频口设置为回放模式。本设计需要通过镜头的焦距、视野等对所获取的物体表面图像质量进行控制,需要监控图像质量,为此需要设计视频输出接口。在设计中使用视频口VP1进行视频回放,因此将VP1端口的A通道设置为回放模式。对采集到的数据进行回放时需要先将数字视频信号重新转化为模拟信号,才能在监视器上播放。本设计选用由Philips公司生产的SAA7104来完成信号转换,SAA7104与DM642的电路连接如图3所示。

图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和SAA7104进行配置,使用FVID的API实现视频信号的采集和回放。基于这种驱动模型的框架如图4所示[4]。

2.2 软件工作流程

程序上电开始运行后,首先对各模块进行初始化设置,包括VP1、VP2、TVP5150A、SAA7104、McBSP等,之后在一个DSP/BIOS系统任务对象中进行图像捕捉,捕获的图像数据将存放在FVID提供的一个FVID_Frame结构中,以后对于图像的处理都是针对该结构中的图形数据进行。将获得的图像首先进行二维码识别和定位,采用模式识别的方法,判断该次采集的图像是否含有二维码信息,是否需要进行二维码识别处理。如果含有二维码信息,则进入二维码识别模块进行识别,并输出到LCD显示器以及通过McBSP发送二维码信息。

其中,DSP/BIOS系统任务对象是被TSK模块管

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top