O 引言
隨著數(shù)碼相機和互聯(lián)網(wǎng)的普及,越來越多的家庭擁有自己的媒體庫,。媒體庫中既包含有自己拍攝的影像文件,,也有從網(wǎng)絡(luò)上下載的影像資料。然而展示影像資料的手段單一,,主要通過PC來實現(xiàn),。因此未來構(gòu)建以媒體庫為中心的家庭多媒體網(wǎng)絡(luò),,把多媒體資料在各式各樣的家庭網(wǎng)絡(luò)媒體終端上展示出來,將成為一種必然的趨勢,。媒體終端包括Web數(shù)碼相框,、網(wǎng)絡(luò)數(shù)字電視等。
Web數(shù)碼相框的提出正是為了設(shè)計一種家庭嵌入式網(wǎng)絡(luò)媒體終端,,但目前市場上常見的數(shù)碼相框的網(wǎng)絡(luò)可擴展性差,,本設(shè)計方案的提出正是為了能夠彌補這方面的不足,提高網(wǎng)絡(luò)可擴展性,。并在本設(shè)計方案的基礎(chǔ)上構(gòu)建網(wǎng)絡(luò)數(shù)字電視等其他多功能終端實體,。
1 技術(shù)方案
Web數(shù)碼相框要具有JPEG圖像文件顯示功能,需要進行大量解碼處理,,且實時性要求高,,因此選用低功耗、高性能的32位處理器ARM,?;赼rm920T體系結(jié)構(gòu)的S3C2440嵌入式微處理器具有如下特點:l6/32bitarm920T內(nèi)核,最高工作頻率400MHz,,運算能力為440MIPS,,能夠勝任多媒體文件的處理任務。所以,,硬件部分采用在S3C2440基礎(chǔ)上構(gòu)建的一個具有Web功能的嵌入式系統(tǒng),。
軟件部分選擇最新的Linux2.6操作系統(tǒng),該操作系統(tǒng)屬于開源免費的,,可大大降低產(chǎn)品的開發(fā)成本,。Linux2.6操作系統(tǒng)遵守GPL開發(fā)原則,可找到豐富的驅(qū)動程序源碼,,該系統(tǒng)還支持TCP/IP協(xié)議棧,,可以有效降低開發(fā)難度,縮短開發(fā)周期,。另外Linux2.6內(nèi)核相比Linux2.4內(nèi)核操作系統(tǒng)的實時性更好,,功能也更加豐富,完全滿足Web數(shù)碼相框的設(shè)計要求,。
2 硬件設(shè)計
2.1 LCD接口設(shè)計
S3C2440芯片集成了TFT LCD的驅(qū)動器(圖1),,因此本文采用了256k色240×320的TFT真彩LCD,所以LCD接口的設(shè)計就相對簡單(圖2),。LCD接口用一個41Pin插座,,包含了常見LCD所用的大部分控制信號(行場掃描、時鐘和使能等),和完整的RGB數(shù)據(jù)信號(RGB輸出為8:8:8),。同時還有一個跳線的設(shè)計方便支持不同的LCD工作電壓,。
2.2 網(wǎng)絡(luò)接口設(shè)計
網(wǎng)絡(luò)接口設(shè)計采用目前常見的DM9000芯片。該芯片是一款快速以太網(wǎng)控制處理器,,合成了MlAC,、PHY、MMU,,自適應10/100M網(wǎng)絡(luò),,非常適合作為嵌入式系統(tǒng)的網(wǎng)絡(luò)接口芯片。在本設(shè)計中,,S3C2440與DM9000之間采用地址線和數(shù)據(jù)線復用的方式,。同時DM9000的AEN端接S3C2440的nGCS4,這樣DM9000的地址線IO為Ox20000000,,數(shù)據(jù)IO為0x20000004,。此外Linux2.6內(nèi)核支持DM9000的驅(qū)動,這樣給開發(fā)帶來很大的方便,。網(wǎng)絡(luò)接口設(shè)計如圖3所示,。
3 軟件設(shè)計
3.1 嵌入式操作系統(tǒng)
目前常見的嵌入式操作系統(tǒng)包括:WinCE、VxWorks,、uC/OS-II和Linux,。其中uC/OS-II操作系統(tǒng)雖然可以免費獲得,但功能過于簡單,,實用性較差,,后續(xù)開發(fā)工作量很大。而前兩種操作系統(tǒng)雖然功能較強,,但不屬于開源免費的操作系統(tǒng),,不適用于低成本的消費類電子產(chǎn)品,。
Linux內(nèi)核是基于GNU通用公共許可,,也就是GPL。它的源代碼完全開放,,也很容易移植到嵌入式系統(tǒng)中,,Linux2.6的內(nèi)核對arm系列的嵌入式系統(tǒng)已經(jīng)有了很好的支持。同時有大量的開源軟件包可供使用,,方便了后期開發(fā),。
3.2 網(wǎng)絡(luò)文件系統(tǒng)(NFS)
網(wǎng)絡(luò)文件系統(tǒng)(NFS)是一種將遠程主機上的分區(qū)(目錄)經(jīng)網(wǎng)絡(luò)掛載到本地系統(tǒng)的一種機制,通過對網(wǎng)絡(luò)文件系統(tǒng)的支持,,用戶可以在本地系統(tǒng)上像操作本地分區(qū)一樣來對遠程主機的共享分區(qū)(目錄)進行操作,。對于Linux系統(tǒng)來說NFS包括兩方面:一是Linux服務器端的NFS服務器支持;二是嵌入式目標系統(tǒng)的NFS客戶端的支持。因此,,在本設(shè)計中配置了一臺Linux的PC機來提供NFS服務,,同時它也作為多媒體網(wǎng)絡(luò)的媒體庫。嵌入式目標系統(tǒng)是Web數(shù)碼相框,,本設(shè)計在其嵌入式Linux系統(tǒng)上移植了NFS客戶端,。借助NFS客戶端Web數(shù)碼相框能隨時讀取媒體庫中共享出來的多媒體文件。
3.3 NFS的簡單配置
為了使Web數(shù)碼相框能夠正確地從Linux服務器上取得多媒體資料,,要列NFS的服務器端和客戶端作簡要的配置,。
對于服務器端,為/ect/export文件添加如下內(nèi)容:
?。痟ome/media 192.168.0.*(ro,sync,no_root_squash)
添加的內(nèi)容表示:允許ip地址范圍在192.168.0.*的客戶端以只讀的權(quán)限來訪問/home/media目錄,。
然后執(zhí)行如下命令,啟動NFS服務:
#service portmap start
#service nfs start
對于客戶端(Web數(shù)碼相框),,在Linux Shell下,,執(zhí)行如下命令來進行NFS共享目錄的掛載:
#mkdir/mnt/NFS
#mount-tnfs 192.168.0.20:/home/media/mnt/NFS-onolock
客戶端對本地/mnt/NFS目錄里的多媒體文件進行讀取并顯示,相當于讀取了網(wǎng)絡(luò)服務器的/home/media目錄的文件,,完成了網(wǎng)絡(luò)媒體庫的共享,。
4 結(jié)束語
以上內(nèi)容敘述了基于arm構(gòu)架的嵌入式多媒體終端,同時具備了Web數(shù)碼相框的基本功能,。本設(shè)計的創(chuàng)新之處在于把Linux系統(tǒng)強大的網(wǎng)絡(luò)功能和S3C2440高效的多媒體處理能力結(jié)合起來,,構(gòu)建了高性能、低功耗,、低成本的網(wǎng)絡(luò)多媒體終端,。可以預見在不久的將來,,以Web數(shù)碼相框為代表的網(wǎng)絡(luò)多媒體終端會走進千家萬戶,。