datasheet

基于CPLD控制的通用视频采集模块

2008-04-02来源: 互联网 关键字:采集模块  CPLD  FIFO  DSP  先进先出存储器  视频采集  有损压缩  QCI

  1. 引言

  对于用于视频图像处理的DSP来说,由于前端的A/D 采集速度较低,一般为了减少DSP 的开销,在视频采集A/D 和DSP之间接入先进先出存储器(FIFO) 作为缓冲。

  基于先进先出存储器(FIFO) 的多样性,一般在视频采集与微处理器模块之间很少提供无缝接口。传统的方法是用简单的逻辑电路实现很少一部分接口控制,大多数是通过软件来实现,虽然软件设计灵活性比较大,但是对软件设计者提出很高的要求; 一般来说使用的都是线存的FIFO,这种FIFO 的存储量比较少,会花费CPU 很大的开销。

  本文实现了一种在采集A/D 模块、专用视频FIFO 以及DSP 微处理使用CPLD 作为纯硬件控制的方案。使用这种方案的创新点是首先因为使用的是帧存储器FIFO,存储一帧或者一场视频数据,这样可以大大减轻DSP的开销,提高DSP 的效率,从而更好的提高视频处理的实时性;其次因为接口逻辑比较复杂,一般用软件实现起来比较困难,使用可编程CPLD实现全部的硬件接口逻辑,减少软件设计的难度,减少DSP 的开销。同时可以发挥CPLD 现场可编程的特点,可以像软件一样更改; 最后可以作为一个集成的通用硬件采集模块

  本文实现的是基于TI TMS320C6x 的DSP的视频采集压缩卡的A/D采集模块以及接口控制模块。在采集模块主要功能是将从CCD 摄像头输入的模拟视频信号转换为数字信号,普通CCD摄像头的输出是NTSC 制式的复合全电视信号CVBS 信号,通过SAA7114H TV解码芯片将模拟TV 信号解码,转换为符合ITU-R BT.601 标准的数字视频信号,并且由CPLD 控制模块将数据存储到专用的视频FIFO芯片,中断DSP 读取数据处理。

  具体的信号控制见图1.1。

  

  

  2. 模块介绍

  2.1. 视频采集模块

  采集模块采用PHILIPS 公司的视频A/D 芯片SAA7114H,该专用视频A/D 具有6 路模拟视频输入,两个模拟预处理通道,并且抗混滤波、梳状滤波都被集成到芯片内部,这样对于硬件设计带来了极大的方便。同时场同步信号IGPV,行同步信号IGPH,有效图像数据输出信号IDQ,时钟输出信号ICLK都有管脚直接引出,这样省去了以往的时钟同步电路的设计,可靠性也有所提高。系统内部锁相环技术的集成使得可靠性和设计复杂度都有极大的降低。SAA7114H 的配置支持I2C,可以通过DSP的通用I/O 口软件模拟I2C总线。

  从图2可以看出整个过程是在ICLK在上升沿触发,在 IDQ 有效的情况下传输的数据有效,数据输出的格式为(下为奇数场的一行数据扫描)

  FF00 0080 U0Y0,V0Y1,U1Y2,V1Y3,…………,U319Y638,V320Y639

  其中FF00 和0080 是奇数场标志位。

  当输出IGPH 有效表明为一行数据的扫描,当IGPH无效的情况下,表明数据在回扫。从图3可以看出当IGPV 有效说明是一场数据的扫描,当为无效时,说明为一场数据结束。通过这几个状态信号的输出,以及其它标志信号可以对行数据和场数据同步进行控制。具体见图2.1(信号一行扫描输出状态) 和图2.2(信号一场扫描输出状态)。

  图2.1 信号输出状态( 一行扫描)

  图2.2 信号输出状态( 一场扫描)

  2.2. 视频缓冲模块FIFO

  AL422B 是Averlogic 公司的专用视频的FIFO,最大存储为384K 8bits,同时支持VGA,CCIR,NTSC,PAL 等视频制式,两端独立的读写操作,支持不同速率的读写。根据CCIR.601协议,一场图像数字化后最大的数据量是220K 16bit,因此,采用的AL422B 足够可以容纳完整的一场视频图像的数据量。采用这种大的FIFO 的设计可以降低DSP 对视频FIFO 读写控制时序的复杂度,使整个视频图像处理流程简捷,同时减少控制信号。

  2.3. CPLD控制模块

  该模块的组成主要是一片Altera 公司的CPLD 芯片EPM7128STC100,其主要功能是提供DSP 的EMIF 接口与视频FIFO 相连时所需的一些额外的辅助逻辑(glue logic)。另外一个重要的功能是通过检测SAA7114H 输出的同步信号来生成DSP 中断,通知DSP 读取视频FIFO 中已满的一场图像数据。(视频FIFO AL422B 的容量为384K 8bits,系统中使用两片并联成16bits的接口宽度,整个视频FIFO可以一次存放一帧的视频数据。)

  CPLD通过SAA7114H的输出状态信号以及TMS320C6x DSP的相应输出控制信号生成FIFOAL422B 的控制信号。具体为:

  根据SAA7114H输出的VPO 总线同步信号,控制将输出的数字视频信号写入到FIFO 中。

  检查到SAA7114H输出的场同步信号后(表明FIFO 中已经存满一场图像数据),向DSP 发出INT 信号,通知其开始读取FIFO 中的图像数据。同时将FIFO 的写入指针复位到地址0x0000处。

  根据SAA7114H 的两个输出信号IGP1 和RTS1,判定当前视频AD输出的视频数据是奇数场还是偶数场,同时发出不同的INT中断来通知DSP。

  控制DSP 读取FIFO 中图像数据的读写时序,当读完一场数据后,将FIFO 的读出指针复位到地址0x0000 处。

  控制FIFO 的写时钟与读时钟,并且使得写时钟与SAA7114H的输出时钟保持同步,使得读时钟与DSP 的外部分频后的时钟保持同步。

  图2.4 FIFO 写时序控制

  

  

  图2.5 FIFO 读时序控制

  

  

  图2.6 CPLD 控制写时序的状态机

  从FIFO的写时序图和读时序可以看到,当/WE和/RE(两者都是低电平有效)为高电平的第一个周期,芯片仍然进行写入和读出操作,而下一个周期才进入挂起状态。同样,当/WE和/RE由高电平变为低电平时,也是要延后一个时钟周期才能发生改变。这种特性造成在设计SAA7114H向FIFO写入时序的时候,需要提前一个周期确定下一个数据是否为有效数据。CPLD程序中通过检测IGP0(配置为SAA7114H I-port端口的Buffer almost empty flag) 来实现这点。利用逻辑分析仪测出整个写入时序为图2.8。

  

  

  在读控制中主要是产生用于DSP 中断的外部使能,中断DSP 读取FIFO的数据,同时还要通知DSP 读取的是奇数场的数据还是偶数场的数据。FIFO 的读时序图上可以看出如果F_OE 为低电平,这F_RE 变高后(F_OE 和F_RE 都是低电平有效),FIFO 的输出仍然保存原来的值,而不是进入高阻状态。CPLD 控制程序中正是利用这点来实现DSP对FIFO 的读写时序的匹配以及保证DMA 传输在被DSP 中断后不会出错。DSP 的FIFO 的读取采用32 位的异步接口,8个DSP的时钟周期(注意: 采用的是DSP 的主频,不是总线频率ClockOut2) 实现一次对FIFO 的读写。具体设置参考EMIF 总线初始化部分。CPLD通过将F_RE 置高,延长FIFO数据的输出时间来匹配整个DSP 的读取时序。利用逻辑分析仪测得FIFO 的读取时序为图9。

  

  

  根据整个控制过程的逻辑和相应器件的读写时序,可以将整个FIFO 的控制过程分为写入控制和读出控制两个部分,在写入控制中用了4个有限状态机来实现,它们分别是IDLE,WEN0,WEN1,WEN2。根据状态机的图,采用硬件描述语言VHDL 实现了对CPLD 的逻辑的设计、综合和仿真。逻辑综合采用Synplicit7.2 公司专门针对CPLD/CPLD 的逻辑综合工具。该软件带有Altera公司的综合模块库,可以针对Altera公司的CPLD 器件对逻辑综合后的结果进行优化和改进,其中写状态机综合后的电路原理图为图2.7。

  

  

  对于逻辑设计的仿真时序验证工作重要采用ALDEC 公司的仿真工具Active-HDL4.2,然后加入综合工具生成的标准时延文件(SDF文件),通过仿真结果的验证,说明CPLD 的逻辑设计是符合FIFO 读写控制模块的功能要求的。最后综合的逻辑结果通过Altera 公司的MAXplus10软件,采用ByteBlaster 电缆下载到CPLD 芯片中。

  3. 实验结果:

  图3.1 是采用QCIF(176 144) 格式的视频图像,压缩编码算法采用M-JPEG2000标准。其中前一幅是无损压缩恢复的结果图,后一幅为有损压缩。相应的压缩编码指标如表3.1 所示。

  表 3.1

  从上面表3.1 的结果可以看出,整个压缩系统可以实现对视频图像的压缩编码。压缩后的视频流比较流畅。

  从通过逻辑分析仪测得的时序图(图2.8、图2.9)可以看出,CPLD 实现的FIFO 控制信号满足视频AL422B的时序要求,整个视频数据传输的通路工作正常,基本上达到了系统设计的指标和要求。同时这种方案可以作为一个整体的视频采集模块,在一般的使用DSP 的EMIF 总线的情况下的都可以无需改动就可以作为一个采集模块直接使用,大大简化硬件电路开发的难度。此方案已经在基于DSP 的视频PCI 采集压缩卡中得到了验证,达到了很好的效果。本文的基于CPLD的视频采集通用模块已经在M-JPEG2000的视频采集压缩卡得到了应用。

关键字:采集模块  CPLD  FIFO  DSP  先进先出存储器  视频采集  有损压缩  QCI

编辑:ssb 引用地址:http://www.eeworld.com.cn/gykz/2008/0402/article_723.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:详细讨论究竟什么是虚拟化技术
下一篇:一种安全可靠的IC卡读写器系统

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于ARM7嵌入式系统的数据采集与无线传输模块的设计方案

    本文提出了一种基于ARM7嵌入式系统的数据采集与无线传输模块的设计方案,实现高精度、快速、实时的数据采集与传输。介绍了基于LPC220芯片的数据采集系统,给出了由嵌入式LPC2220微处理器和射频收发芯片nRF905组成的无线传输模块设计。当其工作在868 MHz频段时,数据传输速率可达1 Mbit·s-1,采用高增益天线,使得传输距离可达800 m以上,且表现出良好的稳定性。最终实现高精度、快速、实时的数据采集与传输。    随着数据监测、无线通信和EDA技术等应用领域的不断扩展,人们对数据采集系统的采集精度、采集速度以及数据存储量都提出了更高的要求。针对当前数据采集系统的不足
发表于 2018-02-07
基于ARM7嵌入式系统的数据采集与无线传输模块的设计方案

基于2051单片机串行数据采集传输模块的设计

在微机测控系统中,经常要用到A/D转换。常用的方法是扩展一块或多块A/D采集卡。当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D卡并不是最合适、最经济的方案。这里介绍一种以GNS97C2051单片机为核心,采用TLC2543 12位串行A/D转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(IBM PC兼容机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。经实践调试证实:该模块功耗低、采样精度高、可靠性好、接口简便,有一定实用价值。1 主要器件介绍1.1 TLC2543串行A/D转换器    模块采用TI公司的TLC2543 12位串行A/D转换器
发表于 2016-11-17
基于2051单片机串行数据采集传输模块的设计

海量脉冲电表远程抄表现地采集模块研究

  引言   脉冲电表是目前电力系统用户侧较为常见的一种电子电量表计。对于远程电子抄表系统,要实现对脉冲表输出脉冲的可靠、精确计量。本文研究探讨了对于脉冲表可靠脉冲捕捉、脉冲计量,特别研究了脉冲电表信号输出线路的断线报警、掉电数据存储等关键问题,并对区域脉冲表群抄表需要的现场总线进行了研究,提出用 CAN 总线为数据通信的脉冲电表群的模块化解决方案。 CH0 2、脉冲采集模块设计CH1 脉冲采集的主要任务是对CH2 CH3 脉冲电表输出脉冲的实时、准确计数,CH4 是所有电量统计的基础。脉冲采集模块CH5 的好坏直接影响整个系统的可靠性和CH6 准确性,因此在整个抄表系统中占据着CH7重要的地位。   2.1脉冲采集板的结构
发表于 2016-09-13
海量脉冲电表远程抄表现地采集模块研究

泛华恒兴推出小体积高动态范围的动态数据采集模块

近日,北京泛华恒兴科技有限公司(简称:泛华恒兴)推出了一款基于LAN总线的动态数据采集模块PS LAN-3284。该模块具有体积小(L×W×H=163mm×133mm×26mm),动态范围高(400S/s~102.4KS/s)、通道数高(8路)的特点,适用于动态结构测试、声音、振动测试等动态信号采集及分布式测试应用。并可通过多块PS LAN-3284间的同步采集,实现更高通道数的动态信号测试应用。   PS LAN-3284遵循LXI总线协议和IEEE1588以太网同步协议,可广泛应用于分布式测试测量和需要实现精密时钟同步的场合。模块提供8路独立的模拟输入通道
发表于 2016-08-23
泛华恒兴推出小体积高动态范围的动态数据采集模块

USB-HOST实时数据采集嵌入式模块的实现

引言 随着数据采集系统、工控行业和嵌入式用户对移动存储的需求越来越大,传统的通过软盘、串行口(RS232/RS485)或以太网等传输数据的方式已不能满足当前数据存储和交换的需求。如何在嵌入式模块中实现USB移动存储已成为急需解决的问题。 本文提出利用SL811HS和8位单片机实现USB-HOST嵌入式模块的一种方案。它带有标准USB数据总线接口,完全遵守USB 1.1协议和大规模存储协议规范。移动存储设备的文件操作方式支持FAT16文件系统。 1 USB-HOST嵌入式模块原理 USB技术规范将使用USB进行数据传输的双方划分为两种角色——Host和Slave,并且规定,数据传输只能发生在Host
发表于 2016-07-15
USB-HOST实时数据采集嵌入式模块的实现

基于CAN总线的脉冲电表远程抄表采集模块研究

  1. 引言   脉冲电表是目前电力系统用户侧较为常见的一种电子电量表计。对于远程电子抄表系统,要实现对脉冲表输出脉冲的可靠、精确计量。本文研究探讨了对于脉冲表可靠脉冲捕捉、脉冲计量,特别研究了脉冲电表信号输出线路的断线报警、掉电数据存储等关键问题,并对区域脉冲表群抄表需要的现场总线进行了研究,提出用CAN总线为数据通信的脉冲电表群的模块化解决方案。   2. 脉冲采集模块设计   CH1脉冲采集的主要任务是对CH2 CH3脉冲电表输出脉冲的实时、准确计数,CH4是所有电量统计的基础。脉冲采集模块CH5的好坏直接影响整个系统的可靠性和CH6准确性,因此在整个抄表系统中占据着CH7重要的地位。   2.1 脉冲采集板的结构
发表于 2016-04-25
基于CAN总线的脉冲电表远程抄表采集模块研究

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">