中国中小企业电子产品方案技术服务资讯平台         中软创芯电子 | 发布信息 | 设为首页 | 加入收藏

     

首页   维修专栏   产品中心   技术频道   资讯快递   应用专题   供求信息   开发案例   联系我们
 电子产品方案设计|单片机程序开发|工业控制板订制
站内搜索:
推荐文章
基于NiosⅡ的直流电机PID调速控..
基于ARM的单相电力计量装置现场..
基于单片机C8051F130的远程在线..
基于VB与单片机技术的温度测控..
基于混沌蚁群的神经网络速度辨..
基于CANOPEN协议的智能消防水炮..
CC2430与DS18B20的粮库温度传感..
声传感器网络节点的硬件系统设..
基于Lonworks现场总线的机房监..
基于Windows CE的超市预收款系..
基于单片机及CPLD技术的B超检测..
施耐德QUANTUM PLC在炼钢转炉..
变频器在中央空调和采暖通风空..
嵌入式以太网数字语音广播系统..
基于μC/OS-Ⅱ的线控转向Fle..

 首页 >> 技术频道 >> 嵌入式系统
嵌入式Linux下的AU1200MAE驱动程序设计
设备技术网   时间:2010-6-24

来源:现代电子技术       作者:冯超

  随着移动多媒体终端的口益普及,功能的日益强大,人们已经不满足于自己的手持终端仅仅能够听MP3音乐,而是希望终端在播放音乐的同时能够播放高质量视频,并支持多种视频格式。AU1200作为一款基于MIPS架构的处理器,由于其片上集成了视频硬件设备(Media Accel-eration Engine,MAE),使得该处理器无需配合其他视频解码芯片即可完成多种格式的视频解码功能,所以AU1200非常适合应用于像PMP这样的移动多媒体终端,而MAE也成为AU1200的特色。

  1 MAE概述

  MAE是AU1200的片上硬件设备,除了可以实现视频解码功能外,还可以完成色彩空间转换、滤波等工作。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上开发硬件设备驱动程序和应用程序。

  2.1 宿主机开发环境的建立

  宿主机(PC)通过串口线连接至开发板的串口1,同时通过交叉网线连接至开发板的网口。宿主机安装Red Hat Linux操作系统,所安装的版本是EnterpriseLinux AS4,建议采用完全安装。由于HHAU 1200开发板在烧写时默认的IP为192.168.2.222,所以PC机的IP也要设置在该网段。在Linux PC下配置好NFS(为交叉开发时Mount所用)、TFTP服务器(为下载烧写所用)和Minicom。以上几项配置好后启动Minicom,当开发板上电后便可看到启动信息。

  在PC的Linux终端提示符下键入mount-onolock 192.168.2.222://mnt,即把AU 1200开发板根目录下的所有文件和目录Mount到宿主机Linux下的mnt目录,在Linux终端提示符下可通过ls命令查看。

  2.2 交叉编译工具链的建立

  按照以下步骤:

  (1)下载交叉编译工具软件包mipsel-linux-gcc-sdk-3.4.4-i386.tar.gz,解包至/opt路径下;

  (2)添加交叉编译工具环境变量:修改/etc/profile文件,在文件末尾添加export PATH=$PATH:/opt/mipsel-linux-gcc-sdk-3.4.4/cross/bin;

  (3)使新的环境变量生效:#source/etc/profile;

  (4)检查是否将路径加入PATH:#echo$PATH,若显示的内容中有上述路径,说明已经将交叉编译工具的路径加入PATH;

  (5)用hello.c进行交叉编译测试:编译出的可执行文件用file命令查看其属性可得到如图1所示信息。

文件属性信息

  这说明交叉编译工具可以正常使用,编译出的可执行文件可以在MIPS处理器上直接运行。

  3.MAE前端驱动软件设计及测试

  3.1 驱动软件设计

  MAE可分为前端和后端,前端的主要功能是完成多种视频格式的实时解码,其方框图如图2所示。

MAE前端方框图

  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包含了关于编码宏块的信息,如量化参数,运动补偿参数,变换运算等信息。

  驱动程序首先要把每一帧的地址写入MAE的相关寄存器中,在每处理一帧后,上述宏块信息都要及时更新。MAE的前端对宏块数据进行反量化,其结果输入至逆变换单元进行逆变换运算。逆变换运算单元通过查看maefe_config寄存器的COD标志位来决定采用哪种标准的视频Cod-ec,从而执行相应的运算。逆变换运算完成后,数据送入运动补偿单元。运动补偿单元根据运动向量计算出参考像素值,并把它们插入当前帧中,从而完成一次解码。以上过程通过编写函数fe_process_mb来实现,该函数的几个参数分别是:

 
第1页 第2页
>>上一篇: 基于单片机的交流伺服电机转速控制系统研究
>>下一篇: 嵌入式Linux下S3C2410的调色板彩色显示的设计
打印】 【关闭
【资讯版权声明】
 1. 本站所提供资源均为原文章或程序作者提供和网友推荐收集整理而来,仅供学习和研究使用,不得用于商业用途。
 2. 本站转载自其它媒体的信息,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
 3. 未经本站明确许可,任何网站不得非法盗链软件下载连接及抄袭本网站原创内容资源。
 4. 部分内容来源于网络,如侵犯您的版权,请通知本站即撤。

关于创芯  维修指引  开发案例  版权声明  友情连接  联系我们 
Copyright©2006-2010 设备技术网 | 中软创芯 版权所有
电话:0755-33122368 传真:0755-83255830 E-mail:szbase@126.com QQ:1092081589
致力于单片机技术应用推广,电子产品方案设计,控制器设计,电路板复制,工控板开发,单片机开发
本站资源仅供学习参考,部分内容来源于网络,如侵犯您的版权,请通知本站即撤
ICP备案序号:粤ICP备10019209号