新闻中心

EEPW首页>嵌入式系统>设计应用> 基于Intel Xscale和嵌入式Linux的视频模块设计

基于Intel Xscale和嵌入式Linux的视频模块设计

作者: 时间:2012-04-06 来源:网络 收藏


OV518 最大视频传输速度的设计,使得系统能够以更加实时的方式获取大量的视频信息。片内高性能专用压缩引擎可以达到7:1 的压缩比,保证了从图像传感器到终端平台的快速图像传输。对于QVGA图像格式,OV518的压缩引擎支持高达30 帧/秒的传输速度,减少了低带宽应用中通常会出现的图像跳动现象。OV518还具有优秀的静态图像捕捉功能,使用起来和数码相机一样方便。其内部结构如图 1 中USB 连接桥部分所示。由于PXA255 的USB 接口只有从控制器,只能作为一个从设备使用,我们采用Philips公司的ISP1160为PXA255扩展了两个USB主接口。ISP1160是专门用以在或便携式设备中实现USB 协议的芯片,支持所有的传输类型:控制、中断、批量及同步。该芯片还提供了节能工作模式以减少功耗,每个下行端口都有独立的过流检测输入引脚和电源供电开关控制输出引脚,使系统电源的管理更加灵活。ISP1160与CPU的接口,是专为RISC 的CPU设计的,极大的简化了设计工作,可以不加修改的移植到别的应用中。总之,整个视频模块硬件设计体现了设计对体积,速度和功耗的要求,既保持了很高的处理速度和很小的集成空间,又降低了系统的功耗。

3 软件设计

3.1 软件平台
微处理器PXA255 功能强大,系统资源十分丰富,十分需要一个功能强大的操作系统来管理这些资源,经过对各种嵌入式操作系统的比较,嵌入式的诸多优点非常适合于作为该终端的操作系统:开放的源码,可移植性强,强大的网络功能和对USB 总线及Video设备的良好支持。终端平台采用图形用户界面,出于嵌入式系统对实时性和对GUI 的占用资源少、高性能、高可靠性及可配置的考虑,我们选择了MiniGUI图形用户界面支持系统。

3.2 视频模块软件的基本结构
视频模块软件的设计采取了模块化的设计方法,根据视频模块设计的特点和多媒体终端视频功能的需求,整个视频模块软件有4 个功能模块组成:USB 模块、摄像头驱动模块、解码模块、视频应用模块,完成了采集、解码、本地显示、本地用户控制和网络传输等功能,其基本结构如图2 所示。为了提高图像采集的实时性和系统性能,在各个模块的设计过程中,根据操作系统的特点和采用的解压缩算法的特征,我们对程序和算法进行了优化、简化,以加快计算速度,提高效率。以下将对各个模块的功能和实现进行介绍。


3.2.1 USB 模块
该模块包括USB 总线驱动程序(USBD)和主控制器驱动(HCD)。USBD 主要处理USB 协议中与硬件无关的部分,对协议规定的USB 总线以及USB 设备共有的操作和性质提供支持。HCD 负责对ISP1160 进行抽象和对USB 的低级支持,ISP1160 的寄存器编程来驱动ISP1160,为上层的USB 总线驱动提供软件接口来控制ISP1160。图3 给出了USB 模块的软件功能结构图。操作系统提供有稳定的USB 总线驱动程序,我们只需要编写HCD 程序。在HCD 的设计中,我们结合ISP1160 专为嵌入式设备设计的特性对实时传输和非实时传输进行不同的调度,增强了对USB 总线实时传输的支持;结合Linux对软中断的良好支持,采用底半部机制(bottom half)提高中断处理的实时性。通过这两项措施有效的提高了视频数据传输的稳定性和速度,降低了对系统资源的消耗。


3.2.2 摄像头驱动模块
该模块为摄像头的USB类型驱动(ClassDriver),其主要功能是对视频应用模块提供符合Linux 的视频捕获标准V4L2(Video for Linux Two)的接口,通过USB 模快接收图像数据。V4L2 是Linux 平台上处理和访问视频设备的最新的标准应用程序接口,通过该接口,模块对视频应用模块提供QVGA(320*240)和VGA(640*480)两种采集模式的切换,视频图像参数的调整,彩色和黑白视频流和静止图像的采集功能。该驱动采用多个帧缓冲存储空间,并使这些帧存轮流处于接收数据和存储数据状态,当收到图像帧事件发生时,将会触发相应的机制,实现了图像帧的异步接收,异步接收机制提高了程序的运行效率。除了实现V4L2 标准常规的read 接口外,还重点实现了mmap(Map device memory into application address space)接口,通过该接口,可以把内核空间的设备内存地址空间映射到用户空间的地址空间,减少了图像数据拷贝的次数,提高了图像采集的实时性。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭