首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于GM8180的嵌入式视频服务器设计
来源:本站整理  作者:佚名  2010-04-01 14:42:17




1.3 其他模块
    网络方面,GM8180集成了以太网接口控制器,支持RMII接口,可直接连接以太网物理接口芯片DM9161A。DM9161A是Davicom公司生产的一款低功耗、高性能的以太网物理层芯片,它完全兼容IEEE 802.3u 10Base-T/100:Base-TX标准,同时兼容ANSI TP-P(如1995)标准;支持MII和RMII两种接口模式,可完成对网络数据的接收解码和对数据帧的编码发送。
    此外,实时时钟芯片S35390A通过I2C总线连接主芯片GM8180为系统提供准确、不间断的时间信息以及定时报警服务。

2 系统软件设计
    在软件的设计上,采用ARM-Linux 2.6操作系统作为嵌入式服务器软件的承载平台。ARM-Linux的源代码完全免费开放,内核可任意裁剪,应用程序和驱动都非常丰富。在ARM-Linux操作系统的基础上,通过Vide04Linux(V4L)接口采集的视频图像交由GM8180片内的H.264编码引擎进行压缩编码;音频上,通过OSS接口采集PCM数据进行自适应多速率窄带语音(AdaptiveMulti-Rate NarrOWband,AMRNB)编码。通过RTSP流媒体服务器为用户提供实时的音视频访问服务。
2.1 视频采集驱动
    V4L是Linux下用于获取视频数据的通用API接口。将GM8180的视频采集封装成V4L接口,以便位于应用层的RTSP服务器开发使用。V4L驱动程序需向操作系统内核注册video_device设备,用于指定文件操作接口,使得用户层可以通过标准文件操作来采集视频。
    视频采集的流程如图4所示,用户设置采集参数(例如图像分辨率)时,驱动需要完成SAA7113H和GM8180片上视频采集控制器的寄存器设置,以及驱动内核态下图像数据缓冲区的分配等工作。此后,应用层以VIDIOCMCAPTURE标志和VIDEOSYNC标志为参数循环调用ioctl()函数来获得视频图像数据。


    当应用程序以VIDIOCMCAPTURE标志调用ioctl()函数时,驱动检查采集控制器和DMA状态,如果当前是正常的采集状态,则ioctl()系统调用返回;如果当前不是正常的采集状态,则重新触发采集控制器和DMA。当应
用程序以VIDEOSYNC标志调用ioctl()函数时,驱动先判断采集缓冲区内是否有图像数据,没有则将调用者挂起在采集等待队列中。直到采集完1帧完整的数据,在DMA中断响应函数中调用wake_up()函数将采集等待队列中的进程唤醒,返回图像数据给应用层调用者。
2.2 H.264编码引擎
    GM8180片上集成支持基线档次的H.264编码引擎,该编码引擎遵循AMBA 2.0总线规范。H.264编码引擎通过AHB总线与主CPU和其他片上模块相连。编码引擎同时具有AHB主、从模块功能:
    ◆当主CPU访问编码引擎内部寄存器时,编码引擎为从模块,主CPU作为主模块;
    ◆当编码引擎通过内建DMA读写系统内存时,编码引擎为主模块,DDR控制器为从模块。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:269,043.00000 毫秒