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

发布者:云淡风轻2014最新更新时间:2013-05-07 来源: eefocus关键字:CPLD  通用视频  采集模块 手机看文章 扫描二维码
随时随地手机看文章

  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可以一次存放一帧的视频数据。) [page]

  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  通用视频  采集模块 引用地址:基于CPLD控制的通用视频采集模块

上一篇:液晶电视显示原理及优点
下一篇:数字卫星电视节目的加密与解密技术

推荐阅读最新更新时间:2024-05-02 22:38

基于CPLD的多路温度采集系统电路及设计方案
K型热电偶是当前工业生产、科学实验较为常用的一种温度传感器,它可以直接测量各种生产中0~1 300℃范围内的液体蒸汽,气体介质和固体表面温度。由于它的测量范围及其较高的性价比,使得K型热电偶应用广泛。然而K型热电偶存在非线性、冷补偿等问题,特别是在处理补偿问题时,需要付出较高的代价且难以有较好的成效。所以本文介绍的MAX6675温度采集芯片,弥补了K型热电偶上述缺陷。将MAX6675和K型热电偶结合并用于工业生产和实验,能为工程带来诸多便利且减少繁琐的附加电路。本文给出了基于CPLD的多路温度采集系统电路、内部逻辑设计模块、误差分析和实验统计报告,以及MAX6675多路温度采集系统的应用过程和性能报告。 1 MAX6675介绍
[测试测量]
基于<font color='red'>CPLD</font>的多路温度采集系统电路及设计方案
基于CPLD技术的枪械电磁扳机控制仪设计
   O 引言   靶场测试领域中枪械的击发是一个重要的环节。传统的枪械击发采用人工方式,即射击人员听到射击指令后手工扣动枪械扳机进行击发,这种方式存在两方面的问题:其一,无法保证安全性。人员操作时有可能由于疲劳或者听错指令进行了误操作,则可能造成靶道内人员安全事故,而在有些应用场合,如防弹头盔穿甲实验,射击人员必须面对防弹头盔进行射击,弹头有可能反弹回来伤及射击人员。上述两种安全事故在国内靶场都曾发生过。其二,随着靶场测试技术的不断发展,靶场测试所用的设备种类越来越多,精度也越来越高,因此,不同的测试设备如何保持一定的同步性显得越来越重要。显然,手工击发枪械方式难以实现同步性要求。   基于以上考虑,有人提出了基于电磁效应的
[嵌入式]
基于<font color='red'>CPLD</font>技术的枪械电磁扳机控制仪设计
基于ARM和蓝牙的无线信号采集系统的设计
   1 引 言   无线测试技术在工业领域有广泛的应用前景。在连线复杂并需要反复拆装被测设备和测试设备之间连线的场合,使用无线可以降低工作的复杂程度,节约大量的时间,提高测试环节的工作效率,尤其在有时间限制时其优越性更加明显。此外在不适宜连线的场合,如港口、码头、江河湖坝、野外勘测、石油勘探中油井深处环境参数的测量,使用无线测量具有有线测量无法比拟的优越性。   对于近距离的无线传输,蓝牙由于采用快速跳频技术,确保了链路的稳定,同时使干扰可能造成的影响变得很小,适合用于存在大量噪声干扰的工业测试环境中,由于无线传输的是数字量,因此在通常情况下没有传输误差,不会影响到系统的准确度,并且可以单芯片实现,体积功耗都能达到很小的水平
[单片机]
基于ARM和蓝牙的无线信号采集系统的设计
一个嵌入式系统的Petri网模型与CPLD实现
摘要:将Petri网与VHDL结合,运用Petri网建立硬件系统模型,然后采用VHDL语言进行设计,最终下载到CPLD,成功地实现了整个硬件系统的逻辑控制器设计。 关键词:Petri网 C/E模型 VHDL CPLD Petri网是异步并发系统,没有人为的控制流,直观地表示了非确定性;且可以图形化的方式描述复杂的系统,并可运用数学工具进行分析。因此,其在软件系统的建模与仿真中得到广泛应用。Petri网自身具备的可运行性方便了系统形式化描述级的模拟,可以用于表达不同抽象级上的系统概念并清楚地描述整个系统的运作过程。笔者发现Petri网的应用目前仅局限于软件系统的设计,例如网络协议、物流管理等,而在硬件系统中却很少涉足。硬件系统随着功能
[半导体设计/制造]
ISP技术在高速数据采集模块中的应
摘要:提出了一种基于ISP技术实现高速数据采集的方法,给出了使用VHDL语言和原理图完成数据采集模块中地址发生器和比较电路的部分逻辑设计,只要将所设计的程序下载到可编程器件ispLSI2032中即可实现预期功能。同时,ispLSI2032器件的高密度和可编程性也提高了硬件电路的集成性、可靠性及保密性。 关键词:ISP(在系统可编程);VHDL;高速采集;ispLSI2032 随着深亚微米及纳米半导体制造技术的进步,可编程逻辑器件在电路设计中的应用已十分广泛。ISP(在系统可编程)器件是先进的可编程器件, 它的优点是不需要编程器即可直接对安装在用户目标板上的ISP器件进行编程,而且编程、调试都很方便。当产品升级换代时,只要通
[应用]
CPLD实现DSP2407A与S3C4480的通信
在现代汽车电子中,一般有多个微控制器共同协调工作。DSP控制器采用哈佛结构,运算速度快,所以在汽车电子中广泛采用DSP芯片来实现汽车动力系统的控制。ARM是一种32位微控制器,有丰富的外扩接口,因此在汽车电子中一般用ARM来实现大容最的数据存储和人机交互或GPS全球定位系统,故在DSP和ARM之间需要进行数据交换。 CPLD(Complex Programmable Logic Device)是一种复杂的用户可编程逻辑器件,由于采用硬件可编程技术,从而使没计硬件电路也像设计软件一样方便。DSP2407A是T1公司设计的一款专为满足大范围的数字电动机控制应用的微控制器。S3C4480是三星公司专为手持设备设计的高性价比的微控制器。本设
[工业控制]
便携式产品具有低功耗意识的FPGA设计方法
   ILGOO系列低功耗FPGA产品   Actel公司的ILGOO系列器件是低功耗FPGA产品,是在便携式产品设计中替代ASIC和CPLD的最佳方案。它在Flash*Freeze模式时的静态功耗最低可达到2µW, 电池 寿命是采用主流PLD的产品的5倍以上。针对I/O需求数目更多的低功耗应用,Actel可以提供IGLOO PLUS系列,规模分别是3万、6万和12.5万门。和相同封装的IGLOO器件相比,可以提供最多多出64%的I/O。其所有的器件都支持4个I/O Bank。在多电压应用环境中比较有利,并且支持热插拔和施密特触发器。Actel在IGLOO系列产品的开发过程中,对静态功耗的主要物理来源——漏电流方面做了改进。同时
[嵌入式]
便携式产品具有低功耗意识的FPGA设计方法
基于CPLD的双口模块设计
    摘要:文章介绍了设计Multibus双口模块的方法。通过采用CPLD技术来实现模块内部逻辑,简化了模块的逻辑电路设计,提高了整个模块的稳定性和可靠性。达到了优化传统Multibus总线模块采用逻辑门电路和触发器来实现内部逻辑的目的。 关键词:Multibus总线;复杂可编程逻辑器件;双口RAM 0 引言     Multibus总线自1974年INTEL公司推出以来,以其自身支持集中式并行多处理、可靠性、抗干扰能力强等特点被广泛应用于工业控制领域和国防建设领域。但随着电子计算机技术的飞速发展,电子器件自身工艺、信号完整性等各方面不断提高,早期设计的Multibus总线模块通过逻辑门电路和触发器来实现内部逻辑的方法显然已经不
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved