当前位置:首页 > 消费电子 > 消费电子
[导读] 随着网络技术和多媒体技术的广泛应用,数字网络视频得到了飞速发展.在网络视频会议和网络监控领域中,将传统的模拟视频信号转换成数字视频信号,并且借助于现有的IP网络进行传输已成为当今的一大热点.  从技术实现方

 随着网络技术和多媒体技术的广泛应用,数字网络视频得到了飞速发展.在网络视频会议和网络监控领域中,将传统的模拟视频信号转换成数字视频信号,并且借助于现有的IP网络进行传输已成为当今的一大热点.

  从技术实现方式来讲,通常是采用网络摄像机来实现.目前市场上的网络摄像机一般有两类:一类是普通摄像机加视频网关构成,但是这种方案体积庞大、操作繁琐;另一类是把全部网络接入功能都集成在摄像机中,其体积小、功能全、易于使用和维护.后类摄像机有多种解决方案,本文提出一种基于嵌入式DSP的设计方案,并且给出具体的硬件及软件实现.

  1 硬件系统设计

  1.1嵌入式处理器TMS320DM642

  TMS320DM642(以下简称DM462)是TI公司近来发布的新一代多媒体处理器,它基于其第二代高性能的VelociTI VLIW结构,适用于多种数字媒体应用.DM642的时钟频率为600MHz,指令速度高达4800MIPS.这款DSP的两大特色在于:第一,拥有三个可配置的视频接口(VP),可同时采集三路视频信号;第二,集成了以太网接口,10/100Mbps模式自适应,能工作在全双工或半双工模式下,并具有硬件流控制和服务质量保证(QoS)支持.DM642的功能十分强大,它是构成多媒体通信系统的最佳平台之一.

  1.2硬件整体架构

  本系统的硬件平台由六部分组成,分别是视频采集、数据存储、视频处理、视频显示、网络和电源管理.其结构框图如图1所示.

  视频采集部分采用模拟PAL制摄像头,配合高精度视频A/D转换器得到数字图像.A/D转换器采用TI公司的TVP5145芯片,其采样精度达到10bit,输出支持CCIR-656和BT656等格式.

  数据存储部分的RAM采用三星公司的SDRAM.为配合DM642的64位EMIF(外部存储器接口),使用四片SDRAM,每片工作在16位模式,单片容量为32MB.数据存储部分的ROM采用ATMEL公司的NOR型的Flash芯片,总容量为256KB,数据总线为8位.本系统中的SDRAM用来存放系统运行时的代码以及临时图像数据,Flash用来保存系统自启动代码以及系统程序代码.

  视频显示部分采用数字LCD,可省去数/模转换芯片,只需一片CPLD驱动LCD.CPLD采用Altera公司的MAX3000系列.这部分作为辅助功能,可根据实际运用场合进行选择.

  DM642的以太网控制器(即EMAC)属于数据链路层,因此需外接物理层芯片才能进行网络通信.这里采用Intel公司的LXT971A芯片,它提供了MII(Media Independent Interface)接口,可以方便地和DM642连接.

  电源管理部分在一个硬件系统设计中占有举足轻重的地位.本系统的电源模块采用MAXIM公司的解决方案,包括一片MAX1762芯片(产生1.4V电源给DM642的I/O供电和产生5V电源给LCD的逆变器供电).

  2 设备驱动设计

  TI为DM642的VP口开发了一个两层设备驱动模型.上层驱动称为Class Driver,更靠近底层硬件.应用时只需根据这个模型编写驱动程序就可以了.

  对于以太网口,TI提供了一个网络开发组件(NDK),为在DSP上开发网络应用程序提供了平台.有了这个平台,在开发网络应用程序时,就不用过多考虑数据如何封闭成IP包,也不用过多关心TCP/IP协议内部的工作机制,这样可以缩短产品的开发周期及上市时间.

  1.2 视频端口的两层设备驱动模型

  两层设备驱动模型如图2 所示.最上层是应用程序,最下层是底层硬件,包括DM642的VP口和视频A/D芯片.中间大花括号括起来部分即为设备驱动.图中还有一层芯片支持库(CSL),它提供配置及控制片上外设的C语言接口.

  根据VP口的特点,设备驱动的两层驱动模型的每一层又细分了两层.从图2可以看到,把Class Driver分为FVID Class Driver和GIO Class Driver.前者更靠近应用程序,它提供一些特别适用于图像的API函数;后者提供与Mini Driver进行通信的API函数.Mini Driver分成通用部分和特殊部分,这样分的优势在于:当改变硬件构成时,无需重写Mini Driver,只需修改特殊部分即可,提高了代码的重复使用性.

  2.2网络开发组件

  网络开发组件的核心即为一系列TCP/IP协议栈库.包括:(1)栈库和网络工具库,它含有一些经过优化编译的协议栈代码;(2)操作系统适应库,它用来协调TCP/IP协议栈和DSP/BIOS之间的接口;(3)网络控制及调度库,它决定TCP/IP环境的初始化以及网络相关事件是如何被调度的;(4)多种硬件抽象层平台库,为TI公司的多种开发板(比如DSK、TEB和EVM等)提供支持.由于本系统为自行开发,所以不涉及HAL.

  协议栈库的流程框图如图3所示,其中灰色模块分别代表前术五个库.

  3 软件设计及实现

  TI公司的DSP开发软件包括集成开发环境(CCS)、实时操作系统(DSP/BIOS)、第三方算法库标准(eXpressDSP).DSP/BIOS是一个用户可裁剪的实时操作系统,包含内存管理、线程管理、中断、外设管理和任务调度等功能.另外,还需使用JPEG标准进行图像压缩,因为采用JPEG进行网络传输时,如果出现网络短暂阻塞,可将当前帧抛弃而不影响下一帧的图像,所以能够保证系统的实时性要求.在本系统中调用了TI提供的JPEG算法库来完成JPEG压缩.

  3.1软件流程结构

  根据本系统的要求,整个软件系统分为五个任务模块,每个模块完成稳中有降自的功能.这五个任务模块分别为输入任务、处理任务、输出任务、网络任务以及控制任务,其流程如图4所示.下面叙述任务间调度及分别完成的功能.

  (1)输入任务

  该任务模块主要完成将VP口采集到的数字图像存入动态分配的内存空间中,图像格式为YUV4:2:2(可根据需要进行设置),分辨率为720×480.然后对该图像色度信号进行4:2:0重采样,这样做的目的是为了调用JPEG算法库.完成以上两步后,输入任务模块发出一个消息给处理任务模块,告知图像在内存空间的中位置,让处理任务模块去做进一步的处理.接着,输入任务模块等待处理任务模块回复,收到回复消息后,继续采集下一帧图像.

  (2)处理任务模块

  该任务模块主要完成JPEG压缩.处理任务模块首先获得一个从输入任务模块发出的消息,并且从中得到图像数据.接着进行JPEG压缩,如前所述,压缩调用了JPEG算法库,其压缩的速度和性能比较好.在处理任务模块完成图像压缩后,发出三个消息:第一个发给输入任务模块,使其继续采集下一帧图像;第二个发给网络任务模块,把JPEG图像在内存中的位置以及字节数告诉网络任务模块供其处理,同时,处理任务模块将等待网络任务模块回复消息;最后一个消息发给输出任务模块,告知原始图像在内存中的位置,让输出任务模块把它输出到LCD进行显示.同样,它也将等待输出任务模块回复消息.

  (3)输出任务模块

  该任务模块完成将采集到的原始图像输出LCD进行显示.由于采集到的是YUV图像,而本系统的LCD使用RGB信号作为输入,这需要经过数字图像格式转换,该转换交由CPLD完成.

  (4)网络任务模块

  该任务模块完成网络传输功能.分三部分实现:第一部分先获得一个从处理伤模块发出的消息,从中得到JPEG图像的大小和在内存中的位置,并通过UDP协议的Socket套接字将其发送给客户.同时发出一个消息给处理任务模块,告知已获得JPEG图像,可进行下一帧图像的压缩.第二部分进行协议栈的初始化,包括IP地址、子网掩码和网关的设定.如果要连接Internet,必须设置DHCP,动态分配IP地址.除此以外,还要选择哪种网络服务,DM642支持Telnet、HTTP、Data server等服务,本系统使用HTTP服务.第三部分为加载网页,在PC机上用HTML编写网页,在该网页中内嵌一段JavaApplet小程序以实现本系统和客户端的交互.HTML文件不能直接加载给DM642,必须在DOS环境下使用binsrc插件把它转换成用C语言描述的数据数组.当用户通过IE浏览器访问本系统时,HTTP服务器通过嵌入式文件系统访问内存中的HTML网页(即访问那个用C语言描述的数据数组),该文件系统是基于RAM的文件系统,它驻留在OS.LIB中.同时,JavaApplet小程序随同HTML文件下载到客户端 并由IE浏览器解释执行.

  (5)控制任务模块

  该任务模块完成在HTML网页上对JPEG压缩性能的控制.在网页中接收的用户自定义参数,通过DSP/BIOS中的邮箱机制传北宜给处理任务模块,从而修改JPEG的压缩参数,改变压缩质量.图5所示即为接收用户修改参数的对话框,1表示压缩质量最差,100表示压缩质量最好.

  这些任务的初始化在系统的main()函数里实现.另外,对DM642芯片的初始化(包括初始化寄存器、二级缓存(L2)的设置等)均在dm642init()函数中完成,该函数定义在DSP/BIOS的用户初始化函数列表中,在此不再赘述.

  本文提出的基于TMS320DM642网络摄像机的设计方案已经成功实现.在客户端打开IE浏览器,即可看到实时监控的图像,图像显示较流畅,在局域网内的图像帧率可以达到30帧/秒.而且可以同时采集多路视频信号,满足多个客户的连接请求.本系统满足了目前宽带环境中的网络视频会议以及视频监控的要求,其应用前景十分广泛.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在安防摄像机的市场上我们会经常听到网络摄像机和模拟摄像机这两大类。这两种安防摄像机也是我们生活中比较常见的安防产品,很多人对它们可能都不是特别的了解,也不能做到很好的区分。

关键字: 网络摄像机 模拟摄像机 数字摄像机

近年来,随着人工智能和物联网技术的不断发展,监控摄像头越来越成为社会安全和管理的必要工具。2023年的监控摄像头市场竞争将会更加激烈,各大厂商纷纷推出了更加智能、高效、安全的监控摄像头产品。

关键字: 网络摄像机 物联网 海康威视

(全球TMT2022年5月27日讯)近日,大华股份在长沙望城经开区建设的智慧物联终端制造基地项目正在抓紧进行厂房装修。预计5月底全部完成,6月进行设备调试,实现小批量量产。智慧物联终端制造基地是大华股份在省外的第一个基...

关键字: 终端 IPC 智能终端 网络摄像机

(全球TMT2021年12月8日讯)亚马逊云科技宣布,无人驾驶汽车科技领导者Aurora选择亚马逊云科技作为其机器学习训练和云上模拟工作负载的首选云提供商。Aurora 使用亚马逊云科技成熟的基础设施和无与伦比的功能组...

关键字: 亚马逊 无人驾驶汽车 DRIVER 机器学习

作者|俊欣来源|关于数据分析与可视化今天小编就来讲讲selenium,我们大致会讲这些内容selenium简介与安装页面元素的定位浏览器的控制鼠标的控制键盘的控制设置元素的等待获取cookies调用JavaScripts...

关键字: PYTHON SELENIUM DRIVER CHROME

FH8858V200是新一代面向8M专业型网络摄像机应用的高性能H.265/H.264/JPEG SoC芯片。芯片集成了高性能的ISP图像处理模块和最新的Smart H.265视频压缩编码器,具备优异的图像处理能力、较高...

关键字: FH8858V200 网络摄像机

  深入研究了MJPEG视频压缩算法,阐述了算法实现过程,并设计出基于Android操作系统的3G手机网络摄像机客户端软件。本系统通过实地安装与测试达到了预期效果,突破了传统网络摄像机客户端固定

关键字: Android 网络摄像机 mjpeg

  据物理学家组织网5月7日报道,来自微软和华盛顿大学的研究人员共同创建了一个系统,可使用户利用手势激发计算机执行页面滚动和模拟鼠标双击等命令,而无需电脑标配的麦克风和扬声器以外的任何硬件。

关键字: 网络摄像机

  网络摄像机是传统摄像机与网络视频技术相结合的新一代产品,除了具备一般传统摄像机所有的图像捕捉功能外,机内还内置了数字化压缩控制器和基于WEB的操作系统,使得视频数据经压缩加密后,通过局域网,

关键字: 网络视频 网络摄像机 音频技术

芯片是视频监控设备的核心组件之一,视频监控多媒体处理芯片的技术进步极大促进了视频监控设备市场的快速发展,同时,视频监控设备快速增长的市场需求也带动了视频监控专用芯片及其他摄像机功能组件的技术革新

关键字: dvr nvr 网络摄像机 视频监控
关闭
关闭