《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 基于IPv6的嵌入式视频监视系统的硬件设计

基于IPv6的嵌入式视频监视系统的硬件设计

2009-06-22
作者:张 兵,邢丽莉,谢 力,范嘉毅

  摘 要: 运用ARM+GO7007SB的嵌入式视频监视系统的解决方案,将嵌入式技术与IPv6协议相结合,设计并实现了在IPv6环境下嵌入式视频监视系统的基本功能。采用反馈时钟的方法改进了时钟定时功能,利用I2C总线方便了系统的升级。该方案具有升级方便、处理速度快、成本低、图像质量好、实时性好的特点,具有广阔的市场前景。
  关键词:嵌入式;ARM;IPv6;视频监视;MPEG-4

 

  目前嵌入式视频监视系统已成为国内外视频监视系统应用的主流,但是在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、接口和端点设置存储在芯片上。另外,它还能存储定制内部寄存设置、启动码以及自动固件。
  音频接口在主机模式下运作,一个简单的时钟生成器通过MXAUD参照主时钟24.576MHz生成样本速率,而位时钟与合成信号也通过MXAUD生成。
  HPI接口用于连接微处理器,运行启动,控制数据,而压缩流也通过HPI接口。如果发生不可逆转的错误,XRISC或微处理器可以冻结前端模块并启动调试模式。然后外部主机就可以运用调试模式进入GO7007SB内部。
  HPI接口被设计为异步模式,异步模式也是缺省的模式,可通过HPI_SYNC引脚以及以启动EEPROM设置的16位数据总线进行设置。
5 网络传输模块设计
  AX88796的CPU[1:0]两个输入引脚用来设置与不同CPU总线连接时AX88796的工作模式,本系统设其为X86模式,即CPU0接3.3V电压,CPU1接地。由ARM的4个GPIO口引脚分别与AX88796的CS#、WR#、RD#和BHE#相连,完成对AX88796的控制功能。AX88796的地址总线SA[9:0]和数据总线SD[15:0]分别与CPU的地址/数据总线相连。
  需要特别注意的一个引脚是PLL电源引脚(78脚),按照手册上说这个引脚必须要与其他的电源隔离,本设计一开始使用一个磁珠隔离,结果在后面调试时ping通率很小,使用10μH的电感再加一个104电容接地的方式后,大数据包完全可以ping通。
  编写IPv6视频组播发送和接收函数部分,以供视频监视终端和客户端上位机应用程序调用。在编写函数时,可参照视频传输流的IPv4组播发送和接收,并且可以添加传输数据的加密解密模块。IPv6组播发送的真正实现是IPv6_multicast_send()函数,它主要是通过调用3个子函数:JoinMulticast(加入组播组)、LeaveMulticast(离开组播组)和Send(发送数据)来实现的。组播数据的接收是由IPv6_multicast_rev()函数实现的,接收到的数据存放在缓冲区中,等待进一步处理。在IPv6_multicast_rev()函数中,创建一个接收网络数据Socket并将其加入到指定的组播组中,开始接收组播数据。
  通过接收组播数据函数Int revdata(char *buffer,int len)接收组播数据,并将接收到的视频数据存放在数据缓冲区中,提取视频数据包头,判定此包是否为一帧数据中的最后一帧,如果是最后一帧则对此帧进行解压处理并显示出来。
6 ARM与GO7007之间的通信设计
  S3C2410和GO7007SB通过HPI通信。HPI物理上连接GO7007SB端口和ARM的总线控制器BUSC,S3C2410通过编程HPI在GO7007SB内存映射中打开一个32KB窗口,然后再访问GO7007SB内存。这样,S3C2410和GO7007SB都可以访问SDRAM,从而有效地共享大量的图像数据块。S3C2410和GO7007SB共享一种数据结构,用于命令请求、确认和数据的交互。
  本系统通过调试和测试,已经成功实现了IPv6环境下的视频监视系统的基本功能,实现了嵌入式视频监视系统与IPv6技术的结合。此设计方案具有开发周期短、成本低、图像质量好的特点,具有广阔的市场前景。

参考文献
[1] 全球IPv6新闻动态[EB/OL].http://www.ipv6.net.cn.
[2] 白雪丽,郭跟成,刘旭东.基于GO7007SB的MPEG-4音视频压缩系统[J].微计算机信息,2006,22(14) :255-257.
[3] 孔晓玲,衣春波.基于GO7007SB的嵌入式网络摄像机设计[J].四川大学学报(自然科学版),2004,(10) :22-24.
[4] 梁会军, 王胜.基于ARM S3C2410和流媒体技术的网络视频采集[J].微计算机信息,2007,23(17): 142-144.
[5] S3C2410X 32-Bit RISC Microprocessor User's Manual. Revision 1.2, 2003.
[6] SAA7113H 9-bit Video Input Processor. Philips Semiconductors,1999.
[7] GO7007SB MPEG Encoder Datasheet. WIS Technologies, 2003
[8] 孔祥刚,诸静.基于PCI总线和DSP芯片的图像处理平台的硬件设计[J].电子技术应用,2003,29(12) :70-73.
[9] MSM7716 Single Rail Linear CODEC Datasheet. OKI Semiconductor, 2004.
[10] GO7007SB User Manual. WIS Technologies, 2003.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。