首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式Linux下的AU1200MAE驱动程序设计 02

嵌入式Linux下的AU1200MAE驱动程序设计 02

3.MAE前端驱动软件设计及测试
  3.1 驱动软件设计
  MAE可分为前端和后端,前端的主要功能是完成多种视频格式的实时解码,其方框图如图2所示。

  MAE前端的输入数据是一系列的数据宏块,宏块数据以及头信息、系数矩阵、运动向量等都以DMA的方式传送给MAE。所以在程序中首先要定义指针maefe_dmadscr[PTR]来描述DMA。并把maefe_dreadbell[DB]寄存器设置为1来启动DMA控制器。头信息一共包含4个word,每个word有32 b,这4个word分别保存到AU 1200寄存器mae_hdr0到mae_hdr3中,这些word包含了关于编码宏块的信息,如量化参数,运动补偿参数,变换运算等信息。
  随着移动多媒体终端的口益普及,功能的日益强大,人们已经不满足于自己的手持终端仅仅能够听MP3音乐,而是希望终端在播放音乐的同时能够播放高质量视频,并支持多种视频格式。AU 1200作为一款基于MIPS架构的处理器,由于其片上集成了视频硬件设备(Media Accel-eration Engine,MAE),使得该处理器无需配合其他视频解码芯片即可完成多种格式的视频解码功能,所以AU 1200非常适合应用于像PMP这样的移动多媒体终端,而MAE也成为AU 1200的特色。
  1 MAE概述
  MAE是AU 1200的片上硬件设备,除了可以实现视频解码功能外,还可以完成色彩空间转换、滤波等工作。MAE在硬件结构上可以分为前端和后端两部分,各自完成一些特定的功能。MAE前端主要完成视频的实时解码,包括反量化、IDCT、运动补偿等;而后端主要完成图像的滤波、色彩空间转换等。除此之外,MAE还可以通过AU 1200片上外设CIM(Camera InteRFaceModule)处理从摄像头获取的数据。MAE使AU 1200的MIPS32核不用再因为视频的实时解码而产生大量的开销。从而使其能够专注于完成接口、音频处理等其他任务,这样一来大大提高了系统的工作效率。MAE支持的视频Codec格式包括:MPEG-2 Main Profile@Main Level,MPEG- Advanced Simple Profile @ Level 5,WMV 9 Media Profile @ Medium Level,最高支持D1 30 f/s的实时解码。
  2 开发环境的建立
  硬件开发板采用华恒科技的HHAU 1200,该板提供丰富的接口,并已将Bootloader固化在板上的FLASH当中,通过烧写工具可对其软件系统进行更新升级。只要建立交叉编译环境便可在HHAU 1200上开发硬件设备驱动程序和应用程序。
返回列表