微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 用DSP从模拟视频信号中获取数字图像

用DSP从模拟视频信号中获取数字图像

时间:11-25 来源:互联网 点击:
3 软件方案设计

解码器DSP方软件的设计主要分成两个部分:①将图像数据从FIFO中读出来存人到DSP的外部RAM中去;②对读出的数据进行重排,组合成完整的图像。下面分成两部分来说明。

3.1 QDMA方式数据的读入

由于DSP将数据从外部读人到RAM中通常是图像处理系统的一个图像获取过程,所以如果使CPU一直处于读入数据的操作中,显然是不合理的。

为了保证尽可能少地占用CPU时间,即在第n幅图像读入到RAM中的同时,DSP仍然可以有足够的时间来处理第n-1幅图像(对其做需要的处理,例如去噪、压缩、识别等等)。本设计中采取了下面这种读出方式:视频解码器通过一个中断信号通知DSP目前已有数据写入到FIFO中,然后DSP在中断中采用DMA方式,将数据从FIFO中成块地搬移到RAM中去。

这种操作的好处是显而易见的:当DSP正在处理某一帧图像时,如果有数据需要读入,那么DSP将进入中断,然后仅仅只需要开启DMA读出操作便可退出中断服务于程序,继续没有处理完的工作;而DMA控制器则在后台将一块区域连续的图像数据读入到RAM中。这样图像的获取可以实规在后台完成,图像的处理和图像的获取很好地并行进行,大大提高了CPU的利用率。

具体在本方案中,由于使用的FIFO的深度是2 K×9位,所以采取的是DMA每次搬移一行图像数据(也就是720×2=1440字节)到RAM中去。同时,TMS320C6x11提供了十分强大的EDMA功能。为了加快DSP在中断中开启DMA读出操作的速度,本设计采用了其QDMA的功能.这样申请一次QDMA仅仅需要几条指令即可。具体申请QDMA的操作代码如下:

QSRC=SourceAddress,
//设置FIFO在系统中的地址
QCNT=0x000005A0;
//设置一次需要读出的数据量
//(1440)
QDST=(int)DesAddress; //设置数据读出的目的地址
QIDX=0x00000001; //设置QDMA传送的间距
DesAddress=DesAddress+0x5A0;
//更新数据读出目的地址
QSOPT=0x30300000; //启动QDMA通道传输

3.2 图像数据的重排

由于本方案中采用了隔四行一采样的方法来平衡速度上的差异,所以最后载人RAM中的数据需要重排。这个重排可以在读入FIFO中的数据时就进行,也可以在所有数据全部读人到RAM中后再进行重排;但是重排的方案和流程是一样的。

如果是采用全部数据都读完后再重排,由于隔四行采样的原因,图像数据是分四个连续的数据块存放的,并且每个数据块中是按照奇偶场分布的。那么,以第一个数据块为例,它的奇场部分存储的实际上是图像的第1,9,17,…,561,569行数据;而其偶场部分存储的实际上是图像的第2,10,18,…,562,570行数据。另外,三个数据块里面存储的图像数据在整幅图像中的行数分布依此类推。具体分布和重排过程如图4所示。



通过图4所示方式的重排处理以后,全部图像数据分成了两大块:奇场区和偶场区。这时可以根据需要来处理这两个区域。本设计中采用的是将奇偶场合并,同时将YUV分量分开到三个独立的存储区域中去,程序流程如图5所示。



4 总结及展望

本文提出了一种基于TMS320C6xll接口的图像获取方案。它利用目前大多数成熟的图像获取设备都配备了通用的模拟视频输出接口这一特点,提出了一个从模拟编码的视频信号中抓出静止的数字图像的方案。由于其数字部分接口非常通用(8位),使得可以很容易地在通用图像处理系统中加入实时图像获取接口。通过具体实现证明此方案可行、稳定、高效;可以实现每秒钟6.25幅720×576幅面的彩色图像的获取,具有通用性好、性能稳定、占用CPU时间少等特点。防碰撞模块对SELECT命令的响应是正确的。

结 语

A型卡RFID技术已经广泛应用于智能卡、票物、安检、物流和防伪等领域。本文根据RFID防碰撞协议规定,在数字硬件上实现了A型卡的防碰撞模块,用VHDL语言进行了仿真和综合后,通过了Xilinx公司的XC4010XLFPGA验证,电路规模5000门左右,达到预定指标要求。最后,采用O.35μm的工艺与电子防伪标签的其他模块一起进行了MPW流片,实际应用测试证明,该模块运行正确、稳定。

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

网站地图

Top