本文介绍了以TI的DM320为主芯片,基于嵌入式Linux的PMP系统的设计与实现。设计实现包括软件和硬件两个部分,其中重点在软件部分。采用本设计方案的PMP系统可以实现高质量的音频、图片、视频效果,以及其他一些辅助功能。
PMP、嵌入式Linux、音/视频编解码。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构架的电子设备中。