基于嵌入式Linux的PMP系统设计与实现

pmp系统简介

  便携式多媒体播放器(pmp),也就是通常人们所说的mp4,已成为继mp3以后消费类产品的一个新热点。pmp的主要优点是:携带方便,能够直接播放高品质音/视频文件;也可以浏览图片,以及作为移动硬盘、数字银行使用;此外,还有fm、游戏等功能。pmp播放器不仅需要对机体大小有所限制,更重要的是需要一种压缩效率更高、画面质量更高的视频压缩技术,以及相关编解码芯片。本文介绍了此pmp系统的软、硬件设计,重点在软件设计,此pmp系统方案现在已经进入量产阶段。

  

pmp系统的硬件设计

  现阶段pmp内部核心架构,大多都是采用cpu搭配dsp的方式。其中,dsp负责编/解码工作;cpu则是针对文件管理、存取,以及使用接口、周边组件的控制等进行处理。另外,还需考虑整合硬盘、存储卡及lcd显示屏等组件,以及与外部usb接口、操控按钮间的搭配等问题。

  为符合上述要求,pmp的设计需要内建视频编/解码芯片,作为模拟与数字两种信号间转换之用。另外,设计还需要考虑:用来连接视频译码器与dsp的总线;lcd显示屏的驱动电路;ide接口与硬盘控制芯片间的沟通等。

图1 dm320的结构图

  本系统整体方案是建立在ti dm320基础之上的。dm320 是一款支持视频编/解码的带有双cpu核的处理器。针对多媒体器件做专门的处理, 它可以直接支持视频输入/输出, 可以方便的扩展音频的输入/输出, 支持usb ,sdram,flash,cf/sd/mmc/ms/ms pro 接口。dm320的结构图,如图1所示。

  ti dm320将c5409与arm926整合,即将cpu与dsp同时集成在dm320核心内。芯片采用32mb或64mb容量的sdram,以及4mb的闪存,用作加载与存放操作系统。dm320本身已内建lcd控制器、usb2.0 otg接口控制器,同时让ccir-656格式信号经由总线在视频译码芯片与dm320间传送。由于ntsc/pal编码器也被整合在其中,因此也可直接进行复合视频输出。

图2 dm320硬件系统的整体框架图

  另一方面,dm320还可支持ccd/cmos感光组件的连接,使得未来pmp要导入dsc、dv等更为容易。对于存储卡的兼容性部分,除现阶段主流的cf、sd及mmc外,还包括memory stick。此外,此芯片还提供2组rs232串行端口、1组jtag接口,能支持更多的外围设备。dm320硬件系统的整体框架图,如图2所示。

图3 pmp软件设计框图

pmp系统的软件设计

  因为要兼顾到高质量的音视频效果、多种外设和有限的系统资源,pmp软件系统的设计变得相对复杂。系统设计将软件分为三层结构,如图3所示。

  该系统的最底层是操作系统层,其中包括bootloader引导程序,主要完成系统从flash的启动,logo的显示,以及os的引导。嵌入式linux主要包括适合在ti dm320上运行的linux操作系统,以及各种外围设备的驱动程序。第2层为codec和mmi核层,mmi核包括第3层主gui和各种应用程序所依赖的各种框架结构和数据结构,如窗口管理,定时器管理等。codec部分包括音频的编解码程序(主要由arm实现)和图像的编解码程序(主要由dsp实现)。最上层为主gui和各种应用程序。应用程序包括:filemanager(用来浏览存储器中的文件),videoplayer(播放视频文件),audioplayer(播放音频文件),imageviewer(浏览图片),fm(收音机),games(游戏),resumes(重新播放音/视频文件)。

嵌入式linux操作系统

  本系统采用的linux内核是对从internet上下载比较稳定的arm-linux内核进行相应的修改,并编写相关外围设备的驱动程序,使之成为一个适合ti dm320开发的操作系统环境。之所以称为嵌入式,是因为其操作系统运行的环境并不是普通的pc,而且嵌入在非pc构架的电子设备中。

关于内核修改kconfig文件

  kconfig文件是用来对你所要加载内核内容进行配置的文件。比如,当在控制台上敲入make menuconfig,就会看到内核配置的窗口,可对其中的内容进行选择。选择[*]表示把此内容编入内核,选择[m]表示把此内容当成模块编译。linux支持动态加载内核模块的功能,甚至可以在运行操作系统一段时间后再加载内核模块。由于dm320框架并未列入内核中,所以我们需要把dm320框架加入内核。首先,就要在内核目录下./arch/arm/kconfig加入dm320的配置选项,这样才能在执行make menuconfig配置内核时看到dm320框架。修改的部分内容如下所示:

choice

prompt "arm system type"

default arch_dm320_20 file://在配置arm系统时,默认的就是dm320框架。

source "arch/arm/mach-dm320-20/kconfig"把dm320框架下的配置选项

  • 基于嵌入式Linux的PMP系统设计与实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计