基于IPv6的嵌入式视频监视系统的硬件设计———基于IPv6的嵌入式视频监视系统的硬件设
扫描二维码
随时随地手机看文章
目前嵌入式视频监视系统已成为国内外视频监视系统应用的主流,但是在IPv4平台下存在地址不足、不能合理分配带宽、安全性能及移动性能差等诸多问题,而新一代IPv6协议不仅能很好地解决以上问题,还具有可以提高视频传输速度和传输质量等多方面的优点。如何使嵌入式监视系统与IPv6技术相结合已经成为当前监视系统研究的一个重要方向[1-2]。
嵌入式视频监视系统的实现方式一般有两种:ARM+通用DSP和ARM+专用视频处理芯片[3-4]。考虑到基于DSP的解决方案成本太高、开发难度大等特点,本文采用了成本低、开发周期短的第二种方案。
1 系统结构设计
本系统的主要芯片之间通过I2C总线相连接,这样设计不仅方便各主要芯片之间的通信,例如,ARM处理器可直接控制视频解码器SAA7113H,而且方便系统升级,例如扩展存储器、更新芯片。SAA7113H采集AV端子(Composite Video)的视频信号处理成ITU656格式的数据送到GO7007SB,MSM7716采集来自麦克风的音频信号处理成PCM格式数据送到GO7007SB,GO7007SB将采集到的音视频数据进行压缩,压缩后的数据流经过HPI(Host Parallel Interface)接口传输到ARM微处理器S3C2410,S3C2410将压缩数据发送给以太网接口运用IPv6协议传输到网络[5]。系统的结构图如图1所示。
2 视频采集模块设计
视频采集由Philips公司的视频捕获芯片SAA7113H完成。该芯片是可编程视频处理芯片,主要完成模拟视频信号的数字采样,将模拟彩色视频信号转换成符合ITU656标准输出格式的数字视频信号,前端输入的视频信号可以是PAL制式、NTSC制式或者SECAM制式。它不仅能够实现输入信号的幅度钳位和静态、动态增益自动调整,而且还包含一个可编程的亮度、对比度、饱和度及色度控制器,可实时地调整采集到的数字图像参数。片外只需提供一个24.576 MHz的晶振,片内时钟发生器自动产生内部电路所需的工作频率。SAA7113HH在GO7007SB的I2C总线时序的控制下,将处理后的ITU656 YUV 4:2:2格式的数字图像数据通过数据线传送到G07007SB[6]。在GO7007SB与SAA7113H之间的I2C总线空闲时,ARM处理器可以通过I2C总线对SAA7113H内部寄存器进行设置。GO7007SB的数据线PDATA是1个10位的并行输入接口,接口时钟由像素时钟(PCLK)提供。来自SAA7113H的视频源是8位的,应该连接到10位PDATA总线的高8位上,此时,低2位可以连接到高电平或低电平。本设计中的模拟视频输入端提供了复合视频信号接口[7]。
SAA7113H输出的同步信号包括LLC、RTS0、RTS1。LLC是行锁定系统时钟输出,与PCLK相连,取PCLK的最大值,即27MHz,用来同步数据采集,使得1个LLC周期输出1bit的图像数据。在图像数据有效时,其上升沿反相后作为帧存储器的WE#信号。RTS0、RTS1的功能是通过编程设置SAA7113H功能寄存器确定的。RTS0被设置为水平输出与HREF连接的参考信号(行有效信号)。RTS0高电平时表示采集一行有效像素,低电平时表示场消隐信号。RTS1被设置为垂直输出参考信号和奇偶场信号,与VREF连接。RTS1高电平时表示采集奇场图像所需要的有效数据,在RTS1上升沿时,开始采集奇场图像数据,同时它也被用来作为帧图像开始的信号;RTS1低电平时表示采集偶场中所需要的图像数据,在RTS1下降沿时,开始采集偶场图像数据[8]。
3 音频采集模块设计
音频采集是由OKI公司生产的音频解码芯片MSM7716完成的。MSM7716在部件模式下运行而GO7007SB在主机模式下运作。音频数据经MAIN 引脚输入,其内部和外部电路如图2所示。在内部,MAIN与op-amp的同项输入相连,而MAO与op-amp的输出相连。BCLK与GO7007SB的BCLK连接,其频率与数据率一致。SYNC作为同步信号与GO7007SB的LRCK连接。 这些同步信号启动了PLL并且使传送部分的所有调速信号同步化。接收部分的信号也被这些同步信号同步化。此信号必须在BCLK阶段被同步化[9]。
4 音视频压缩模块设计
GO7007SB是单片多式视频压缩芯片,它使用复合算法将原视频数据缓冲并压缩成视频流,输出视频流形式为MPEG-1、MPEG-2、MPEG-4或 H.263。
时钟系统视为带有适用低电平的MPLL_BP 和 UPLL_BP 引脚的内部PLL模式设计。主时钟由芯片振荡器和PLL产生。MCLK频率是96MHz。在这种情况下,MXI和MXO之间需要一个外部R-C-Crystal tank,如图3所示。
MT48LC2M32B2是64MB SDRAM (512K×32×4 backs), 被用作外部数据缓冲器。为了改进SDRAM的时钟定时功能,GO7007SB为SDRAM提供SDRAM信号以及时钟信号[10]。该时钟被设计为SDRAM_CLK.。SDRAM_CLK 引脚驱动SDRAM 装置并为SDRAM_CLK_LB 引脚提供反馈。在读取周期中,反馈时钟获得SDRAM数据。无需任何复杂的PCB设计SDRAM数据可以符合96 MHz的设计时间。SDRAM 时钟的设计如图4所示。
2KB EEPROM用于存储装置的启动设置,由I2C控制器进行控制。所以用户可以将定制的描述符ID、接口和端点设置存储在芯片上。另外,它还能存储定制内部寄存设置、启动码以及自动固件。