微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于TI达芬奇技术的高速网络摄像机设计方案

基于TI达芬奇技术的高速网络摄像机设计方案

时间:04-08 来源:3721RD 点击:

采集电路,以太网络电路,电源接口,JTFAG,UART,NAND Flash,SD卡,DDR2,USB2.0 OTG以及I2C。

网络摄像机系统的信息处理流程主要分为图像的获取、图像的处理传输以及图像的显示3部分。本系统中,前端摄像头负责图像的捕捉,将获取的未经压缩处理的图像信号传输至电路板中通过TMS320DM365芯片进行压缩处理以及SD卡的相应存储,再由以太网接口或其他接口将处理过图像进行传输,在远端监视器上将图像进行显示。

本系统的视频采集模块采用TVP5146。传统NTSC/PAL摄像头的输出信号格式为模拟信号,由于TMS320DM365的视频输入信号是通过VPFE的CCDC以ITU-R BT.601/BT.656格式进行输入的,所以首先需要通过视频前段滤波放大器OPA361对采集到的模拟信号进行放大,经过视频解码芯片TVPS146将模拟信号进行图像的抗混叠滤波预处理、模拟数字化转换及亮度/色度、水平/垂直同步信号的分离,实现模拟视频信号转换为数字并行信号BT.656码流格式,随后通过2个12位2选1的FET多路复用器对4路视频信号选择1路作为输入从而完成VPFE的视频输入工作。 TVP5146是一种高性能单片数字视频解码器,它可将所有常见的基带模拟视频信号,例如NTSC,PAL,SECAM混合信号数字化并解码为数字视频信号。该解码器还包括了具有模拟预处理功能的4路10位30MSPS的模数转换器。高达10组的视频输入终端可以用来配置作为RGB,YPbPr,CVBS分量信号或者S端子视频输入。

网络控制模块主要包括EMAC模块和MDIO模块,原理图如图5所示。

本系统采用TI公司出品的TSB43EA42作为以太网收发器。TSB43EA42支持10 MB/100 MB基带传输,提供与MAC层相接的MII接口。它与DM3 65通信的主要引脚有:发送、接收数据线、时钟、使能信号、错误指示、管理数据接口、控制/指示引脚等。EMAC控制模块内部集成了8 kB的RAM,主要功能使存放缓冲描述符和以太网数据包。MDIO模块则主要通过两线接口完成对物理层芯片的配置,工作状态检测等工作。

串口模块采用TI公司的MAX322ICPW,主要用来负责开发板与计算机之间的通信。通过超级终端,完成Linux内核的下载以及相关参数的设置,完成系统的开发以及调试。存储模块包括了2个扩展存储接口EMIF和2个MMC/SD卡接口。前者包括DDR控制器和异步扩展存储接口AEMIF分别用于扩展连接对DDR存储器和Flash存储器;后者实现了2个SD卡存储器的扩展连接。

电源模块采用了TI公司的TPS65023作为电源管理芯片。该芯片包括3个DC/DC转换器以及2个200mA线性稳压器LDO。每路LDO由TMS320DM3 65通过I2C与之通信,实现各路输出电源电压的控制,为内核存储器和I/O接口提供1.3,1.8,3.3 V的工作电压;也可通过5 V稳压器直流供电,通过DC/DC转换器提供1.3,1.8,3.3 V供电。

4 系统软件设计

系统的视频采集模块负责从摄像头中读取视频流数据,读出的图像数据交由压缩模块处理。摄像头驱动程序加载完成后为了进行视频采集必须加入Video4Linux模块,从而可以通过Video4Linux模块提供的编程接口从摄像头设备中获取图像帧。基于V4L的视频采集流程图如图6所示。

本系统采用RTP实时传输协议以及RTCP实时传输控制协议作为视频传输的协议。RTP在多点传送或单点传送的网络服务上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频、视频或者仿真数据。RTP由于没有为实时服务提供资源预留功能,所以不能保证QoS(服务质量)。RTCP作为一种控制协议,通过扩展可以升级为大型的多点传送网络,并提供最小限度的控制和鉴别功能。在RTP会话期间,各参与者周期性的传送RTCP包,RTCP包中含有已发送的数据包的数据、丢失的数据包的数量等统计资料,因此服务器可以利用这些信息动态的改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,他们能以有效地反馈和量小的开销使传输效率最佳化,RTCP利用主要的两种控制包SR和RR反馈的信息如数据包丢失比,数据包丢失率,吞吐量和吞吐率,数据包到达时延抖动和往返传播时延等来调节实时传输,并调整系统的打包格式,发包速率来保证流畅地传输数据和清晰的播放视频,因此特别适合传送网上的实时数据。

JRTPLIB作为一个RTP协议的库,用来开发多媒体的应用十分方便。通过JRTPLIB库发送或接收RTP数据,而不用考虑SSRC的冲突、调度,连RTCP的数据也不需要用户来发送。用户只需要使用相应的类来发送和接收媒体数据。下面介绍RTP相关代码的具体实现。

在使用JRTPLIB传输多媒体数据之前,首先应该创建一个RTPSession类的一个对象来标识此次会话。然后通过RTPSession实例的cre

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

网站地图

Top