国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于嵌入式Linux的PMP系統設計與實現

發布時間:2010-7-22 10:24    發布者:vinda
關鍵詞: 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框架下的配置選項也引入。

同時,去掉其他CPU框架。如:

#source arch/arm/mach-clps711x/Kconfig

#source arch/arm/mach-integrator/Kconfig

其中,“#”表示此行內容為注釋內容。

最后,就是要把內核配置選項中對DM320開發有用的項選進來。比如:

source drivers/char/Kconfig

if (!ARCH_DM320_20)

source sound/Kconfig

endif file://選擇開發字符設備的驅動,而不需要聲音的支持。

因為要把CODEC編入內核,所以我們還要加入支持CODEC的配置選項:

source codecs/modules/Kconfig

同時,如果我們要加入一個新外圍設備,也需要在Kconfig文件中加入對應的內容。比如說,要加入一個三星的4英寸TFT LCD的驅動,我們可以修改./drivers/char/Kconfig文件,并加入以下內容:

config DM320_SAMSUNG_ 4_LCD

tristate DM320 SAMSUNG 4.0 inch 16:9 TFT LCD

depends on ARCH_DM320_20 && BOARD_400H

default y

help

This driver provides support for SAMSUNG 4.0 16:9 TFT LCD for DM320.
  
其中,config DM320_SAMSUNG_4_LCD表示增加一個新的配置入口。一旦這個配置選項被選中就會在./include/Linux/autoconf.h:有:#define CONFIG_DM320_SAMSUNG_4_LCD 1的定義。
  
這樣的話,我們在整個內核源碼樹中都可以使用CONFIG_DM320_SAMSUNG_4_LCD來進行特定的選擇。
  
在tristate DM320 SAMSUNG 4.0 inch 16:9 TFT LCD中,引號里的內容為出現在配置選項中的提示文字。tristate表示三態,意思是除了可以選擇、[ ]外,還可以選擇[M],表示把當前內容當成模塊編譯。
  
depends on ARCH_DM320_20 && BOARD_400H表示如果前面配置平臺框架時選擇了ARCH_DM320_20,并在選擇型號時選擇了BOARD_400H,我們就可以看到這個對于三星4英寸TFT LCD的配置選項。
  
default y表示默認把此驅動編入內核。help的內容為當我們對內核進行配置時,選幫助所看到的內容。
  
Makefile文件
  
簡單地說,Makefile是用來進行項目配置和管理的。我們要把Linux編譯、鏈接最后生成可執行的內核映像,Makefile文件是必不可少的。
  
在該PMP設計開發中,只需要把外設驅動模塊加入相應的內核源碼樹就可以完成對Makefile文件的修改。以加入三星4英寸TFT LCD驅動為例,只需要在./drivers/char/Makefile加入如下內容即可:
  
obj-$(CONFIG_DM320_ SAMSUNG_4_LCD)+= dm320_lcd_samsung4.o
  
PMP系統設計中兩個必須的驅動以及要注意的問題
  
LCD驅動程序
  
在一個PMP設備中,LCD顯示屏是必備的。在LCD驅動程序的設計過程中,主要是要選好時鐘源、分頻系數以及時鐘極性。比如在DM320中,時鐘控制器有以下幾個外部輸入:PCLK、SYSCLK、MXI、M48XI,其中除了M48XI外其余均選擇27M外部晶振。LCD的時鐘頻率DCLK在本系統中是由VENC(Video Encoder Clock)確定,而VENC又可以通過系統的PLL分頻而確定,所以說首先要選好時鐘源和恰當的分頻系數,然后通過設置VENC的寄存器就可以設置時鐘的極性。
  
FrameBuffer驅動
  
FrameBuffer是把顯存抽象成一個設備,通過對這個設備的讀寫就等同于直接對顯存進行操作。這種操作是抽象的、統一的。用戶不必關心顯存的物理位置、換頁機制等具體細節,這些都是由FrameBuffer設備驅動程序來完成的。 FrameB uffer對應的源文件在Linux/drivers/video/目錄下。全部的抽象設備文件作為fbcon.c與各種顯卡驅動程序相關的源文件放在該目錄下,如筆者所進行的針對DM320的FrameBuffer源文件dm320fb.c。在源文件我們要設置相應屏幕的長、寬以及每一個像素點的位數等等,還有一些與DM320 OSD(On-Screen Display)相關的寄存器的設置。因為涉及內容較多,在此不再贅述。

結語
  
本PMP方案設計的產品已經進入量產階段,經過大量的用戶測試,證實了整個設計是切實可行的。同時,其設計思路對于其他類似產品如車載GPS,都有一定的參考價值。
本文地址:http://m.qingdxww.cn/thread-15957-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品欧美精品中文字幕| 亚色最新网址| 欧美日韩中文| 天天操天天看| 丝瓜草莓香蕉绿巨人幸福宝| 最新版天堂中文8| 精品无码乱码AV| 香蕉97超级碰碰碰碰碰久| 婷婷六月久久综合丁香一二 | 亚洲精品婷婷无码成人A片在线| 日本特黄乱人伦片| 日韩福利影视| 婷婷色中文字幕| 中国强jizzjapanese| 免费韩国伦理2017最新| 伊人精品久久久大香线蕉99| 欧美呦呦在线| 午夜在线| 香蕉久久夜色精品国产小说| 2019夜夜| 欧美阿v在线免播播放| 亚洲AV无码乱码国产麻豆穿越| 性做久久久久久蜜桃花| 三级黄色免费| 天天亚洲综合| 99视频精品在线| 涩涩视频在线看| 欧美性video精品| 日韩尤物| 天仙tv微福视频| 999人在线精品播放视频| 快播电影网站大全| 最新精品学生国产自在现拍| 欧美一区二区在线| 亚州免费视频| 在线播放 亚洲| 欧美精品专区第1页| 欧美日韩中文一区| 婷婷六月丁香| 怡红院在线观看精品| 久久国产免费|