基于DSP的视频采集系统设计

[日期:2008-5-30] 来源:微计算机信息  作者:张杰 北京化工大学 [字体:大 中 小]
<script src="http://www.21ic.com/innews.js" type="text/javascript"></script>

 

0 引言     数字图象处理技术在电子通信与信息处理领域得到了广泛的应用,设计一种功能灵活、使用方便、便于嵌入到系统中的视频信号采集电路具有重要的实用意义。     在研究基于DSP的视频监控系统时,考虑到高速实时处理及实用化两方面的具体要求,需要开发一种具有高速、高集成度等特点的视频图象信号采集系统,为此系统采用专用视频解码芯片和复杂可编程逻辑器件(CPLD)构成前端图象采集部分。设计上采用专用视频解码芯片,以CPLD器件作为控制单元和外围接口,以FIFO为缓存结构,能够有效地实现视频信号的采集与读取的高速并行,具有整体电路简单、可靠性高、集成度高、接口方便等优点,无需更改硬件电路,就可以应用于各种视频信号处理系统中。使得原来非常复杂的电路设计得到了极大的简化,并且使原来纯硬件的设计,变成软件和硬件的混合设计,使整个系统的设计增加柔韧性。

1 系统硬件平台结构     系统平台硬件结构如图1所示。整个系统分为两部分,分别是图象采集系统和基于DSP主系统。前者是一个基于SAA7110A/SAA7110视频解码芯片,由复杂可编程逻辑芯片CPLD实现精确采样的高速视频采集系统;后者是通用数字信号处理系统,它主要包括:64K WORD程序存储器、64K WORD数据存储器、DSP、时钟产生电路、串行接口及相应的电平转换电路等。     系统的工作流程是,首先由图象采集系统按QCIF格式精确采集指定区域的视频图象数据,暂存于帧存储器FIFO中;由DSP将暂存于FIFO中的数据读入DSP的数据存储器中,与原先的几帧图象数据一起进行基于H.263的视频数据压缩;然后由DSP将压缩后的视频数据平滑地从串行接口输出,由普通MODEM或ADSL MODEM传送到远端的监控中心,监控中心的PC机收到数据后进行相应的解码,并将还原后的视频图象进行显示或进行基于WEB的广播。  

2 视频信号采集系统 2.1 视频信号采集系统的基本特性     一般的视频信号采集系统一般由视频信号经箝位放大、同步信号分离、亮度/色度信号分离和A/D变换等部分组成,采样数据按照一定的时序和总线要求,输出到数据总线上,从而完成视频信号的解码,图中的存储器作为帧采样缓冲存储器,可以适应不同总线、输出格式和时序要求的总线接口。     视频信号采集系统是高速数据采集系统的一个特例。过去的视频信号采集系统采用小规模数字和模拟器件,来实现高速运算放大、同步信号分离、亮度/色度信号分离、高速A/D变换、锁相环、时序逻辑控制等电路的功能。但由于系统的采样频率和工作时钟高达数十兆赫兹,且器件集成度低,布线复杂,级间和器件间耦合干扰大,因此开发和调试都十分困难;另一方面,为达到精确采样的目的,采样时钟需要和输人的视频信号构成同步关系,因而,利用分离出来的同步信号和系统采样时钟进行锁相,产生精确同步的采样时钟,成为设计和调试过程中的另一个难点。同时,通过实现亮度、色度、对比度、视频前级放大增益的可编程控制,达到视频信号采集的智能化,又是以往系统难以完成的。关于这一点,在系统初期开发过程中已有深切体会[1]。     基于以上考虑,本系统采用了SAA7110A作为视频监控系统的输入前端视频采样处理器。 2.2 视频图象采集系统设计     SAA7110/SAA7110A是高集成度、功能完善的大规模视频解码集成电路[2]。它采用PLCC68封装,内部集成了视频信号采样所需的2个8bit模/数转换器,时钟产生电路和亮度、对比度、饱和度控制等外围电路,用它来替代原来的分立电路,极大地减小系统设计的工作量,并通过内置的大量功能电路和控制寄存器来实现功能的灵活配置。SAA7110/SAA7110A可应用的范围包括桌面视频、多媒体、数字电视机、图象处理、可视电话、视频图象采集系统等领域。     SAA7110/SAA7110A的控制总线接口为I2C总线。SAA7110/SAA7110A作为I2C总线的从器件,根据SA管脚的电平,器件的读写地址可以分别设置为9CH/9DH(W/R,SA=0)或9DH/9FH(W/R,SA=1)。其内部共计47个寄存器,分别控制解码器(00H~19H)和视频接口(20H~34H)。通过I2C总线读、写片内的上述寄存器,可以完成输入通道选择、电平箝位和增益控制、亮度、色度和饱和度控制等功能。     但是,有一个问题必须解决,那就是DSP芯片没有内置I2C总线接口,为此,本系统提出并采用了对DSP芯片的两个可编程I/O引脚进行软件仿真来实现I2C总线控制的方法。由于受C2000程序存储空间最大仅有64KB的限制,为了减小I2C总线控制仿真软件的规模,仿真软件全部用汇编语言完成,因而给本系统的设计带来了相当的难度和工作量。

3 系统实验与仿真     在实时系统的设计中,同步与精确采样是两个至关重要的问题,它们直接关系到系统设计的成败。 由于SAA7110A输出的两个时钟信号LCC和LCC2与采样时钟和数据输出时钟同步,因而可以作为采样数据接口控制子系统中数据存储控制的时钟和完成各种功能的同步时钟,系统不需要再生成或采用另外的时钟信号,从而避免了外部时钟、采样时钟和视频信号相互间的同步和锁相问题,既保证了整个系统的同步,又极大地降低了系统设计的复杂度。由SAA7110A输出的行有效信号HREF、行同步信号HS、场同步信号VS、奇偶场信号ODD,以及系统采样时钟LCC和二分之一分频时钟LCC2等经过处理,可以获得当前采样位置信息,并与产生帧存储器地址、片选和写控制信号一起实现采样的时间、空间位置和精度的要求。     根据DSP芯片的读时序(如图2所示)、写时序、SAA7110A芯片HREF信号时序、Vertical信号时序(如图3所示)和Horizontal信号时序的要求,按照采集QCIF(176×144)格式图象的需要,设计了CPLD精确采样的时序逻辑(如图4所示)。    

  (b) 图4  CPLD时序仿真图

(a) CPLD精确采样的时序逻辑;(b) 对上图(b)进行32倍放大     从图4得到的CPLD后时序仿真结果来看,完全达到了预定的精确采样要求。真正地实现了具有正确比例关系的精确采样,效果良好。

4 结论     在基于DSP的视频图象采集系统设计中,采用视频专用解码A/D芯片和复杂可编程逻辑器件CPLD进行控制和接口部分设计能够有效地实现视频信号的采集与读取的高速并行,具有整体电路简单、可靠性高、集成度高、接口方便等优点,无需更改硬件电路,就可以应用于各种视频信号处理系统中。使得原来非常复杂的电路设计得到了简化,使整个系统的设计增加柔韧性。

参考文献 1 孙继平,关永. DSP极低码率的矿井远程视频监控系统[J]. 西安科技学院学报,2003,23(3):283-286 2 Philips Semiconductors. SAA7110/SAA7110A Data Sheet[EB/OL], 2001

基于DSP的视频采集系统设计相关推荐

  1. 嵌入式项目实战——基于QT的视频监控系统设计(三)

    嵌入式项目实战--基于QT的视频监控系统设计(三) 进入到五一假期第三天,继续我们的项目.本来五一假期还是想好好休息一下的,因为最近学习的状态不太好,刷题都没有思路了,但是身边的同学太卷了,不过我还是 ...

  2. 嵌入式项目实战——基于QT的视频监控系统设计(四)

    嵌入式项目实战--基于QT的视频监控系统设计(四) 进入到五一假期的第四天,通过前三天的分享,相信你应该已经掌握了QT的基本使用.UDP网络编程.v4l2视频处理模块.多线程编程等基本的知识点.其实昨 ...

  3. 嵌入式项目实战——基于QT的视频监控系统设计(二)

    嵌入式项目实战--基于QT的视频监控系统设计(二) 昨天我分享了关于QT的基本使用方法,掌握了这些基本的方法就可以设计一个简单的视频监控界面.下面我们开始分享完成这个嵌入式项目同样重要的知识点--UD ...

  4. 嵌入式项目实战——基于QT的视频监控系统设计(一)

    嵌入式项目实战--基于QT的视频监控系统设计(一) 这个五一因为疫情,只能待在家里,想了想不如将我之前做的一个小的嵌入式的练习项目分享出来,供入门嵌入式的同学们学习.基于QT的视频监控系统设计虽然是个 ...

  5. Linux基于v4l2的视频采集(可用)

    Video4linux2(简称V4L2),是Linux中关于视频设备的内核驱动. V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移 ...

  6. 基于ARM+LINUX的无线视频采集系统设计----------项目整体介绍

    开发平台: ARM板:TQ2440/GQ2440 内核:linux-2.6.30 硬件配置: 无线路由器 无线网卡 Usb摄像头 电机驱动模块+小车 整体介绍: 本项目选用S3C2440作为主控制器, ...

  7. android 基于ffmpeg将视频采集的nv21转h264格式数据

    准备工作 android studio 2.2以上 本项目是基于ndk 开发的项目,使用android studio + cmake进行开发 cmake配置详情可参考: http://www.jian ...

  8. 【USB网络摄像头】基于mjpeg-streamer的视频采集与播放【QT上位机软件】

    前言 最近一直在尝试制作一个,网络摄像头,先后分别尝试了使用QT包装的UDP类TCP类,和LINUX中的socket编程等方式,但是非常遗憾,都没有取得非常好的播放效果.以为只要一帧一帧的传输视频数据 ...

  9. android蓝牙温湿度,基于蓝牙的温湿度采集系统设计

    彭智洪+赵东尧+蒋益莹+李帆+杨炎+陆小飞 摘 要:随着社会经济的发展和科学技术的不断进步,在智能化生产.各大电信基站.大型的计算机房.博物馆.智能建筑.药厂.农业大棚等场所,都需要对环境的温湿度进行 ...

最新文章

  1. SpringBoot应用的集成测试
  2. 集合objectjava_collection
  3. C语言之 scanf() 函数的用法
  4. Oracle行转列语法总结大全
  5. MSSQL 2005数据库安全设置
  6. 崩溃!还未修复的 Bug,凌晨三点遭到黑客 DDoS 攻击 | 技术头条
  7. 语音识别开放平台调研以及主要技术
  8. 【图像几何】基于matlab GUI傅立叶+DCT图像变换【含Matlab源码 844期】
  9. yum安装python3
  10. linux 开机logo制作工具,linux开机logo制作
  11. SAP FI 系列 (022) - 货币和汇率的配置
  12. 2003迁移2008R2难点分析
  13. Ubuntu 如何更新软件源(阿里源、华为源、清华源等)
  14. 如何给服务器文件设置权限,如何设置服务器文件权限
  15. 一个30岁的程序员无比挣扎的故事,连躺平都是奢望
  16. win7远程服务器管理工具
  17. Spire操作word文档
  18. 2021-08-20
  19. 查看phpinfo方法
  20. Minecraft 1.16.5模组开发(五十四) 方块探测器(Detector)

热门文章

  1. 五部委发文力推商品市场兼并重组 大力发展智慧物流
  2. Apache Commons Compress
  3. 文档管理工具(支持http、websocket、富文本、markdown)
  4. 项目中aop记录日志的实现,使用@annoation注解的切入点表达式
  5. AJAX 学习笔记[四] AJAX 对服务器返回的XML 的处理
  6. Skynet基于Actor模式的开源框架
  7. java 502错误_PHPstorm 10.0.3错误502错误的网关(由于JavaVM?)
  8. 3D 可视化入门:渲染管线原理与实践
  9. Android怎么集成支付宝支付和微信支付功能(上)
  10. 打赏平台怎么搭建,手把手教你怎么搭建一个服务行业微信打赏功能