用户中心

资讯 > 嵌入式系统

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

2007.07.09阅读 2262

  PMP系统简介

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

  PMP系统的硬件设计

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

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

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


  图

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编码器也被整合在其中,因此也可直接进行复合视频输出。

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


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

  另一方面CONTROL ENGINEERING China版权所有,DM320还可支持CCD/CMOS感光组件的连接,使得未来PMP要导入DSC、DV等更为容易。对于存储卡的兼容性部分,除现阶段主流的CF、SD及MMC外,还包括Memory Stick。此外,此芯片还提供2组RS232串行端口、1组JTAG接口,能支持更多的外围设备。DM320硬件系统的整体框架图,如图2所示。

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


  图3 PMP软件设计框图


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

  该系统的最底层是操作系统层,其中包括bootloader引导程序,主要完成系统从FLASH的启动,LOGO的显示,以及OS的引导。嵌入式Linux主要包括适合在TI DM320上运行的Linux操作系统,以及各种外围设备的驱动程序。第2层为CODEC和MMI核层,MMI核包括第3层主GUI和各种应用程序所依赖的各种框架结构和数据结构www.cechina.cn,如窗口管理,定时器管理等。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框架。修改的部分内容如下

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688