新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux NFS的Web數(shù)碼相框設(shè)計(jì)

基于Linux NFS的Web數(shù)碼相框設(shè)計(jì)

作者: 時(shí)間:2010-09-18 來源:網(wǎng)絡(luò) 收藏

  O 引言

  隨著數(shù)碼相機(jī)和互聯(lián)網(wǎng)的普及,越來越多的家庭擁有自己的媒體庫。媒體庫中既包含有自己拍攝的影像文件,也有從上下載的影像資料。然而展示影像資料的手段單一,主要通過PC來實(shí)現(xiàn)。因此未來構(gòu)建以媒體庫為中心的家庭多媒體,把多媒體資料在各式各樣的家庭媒體終端上展示出來,將成為一種必然的趨勢(shì)。媒體終端包括Web、網(wǎng)絡(luò)數(shù)字電視等。

  Web的提出正是為了設(shè)計(jì)一種家庭嵌入式網(wǎng)絡(luò)媒體終端,但目前市場(chǎng)上常見的的網(wǎng)絡(luò)可擴(kuò)展性差,本設(shè)計(jì)方案的提出正是為了能夠彌補(bǔ)這方面的不足,提高網(wǎng)絡(luò)可擴(kuò)展性。并在本設(shè)計(jì)方案的基礎(chǔ)上構(gòu)建網(wǎng)絡(luò)數(shù)字電視等其他多功能終端實(shí)體。

  1 技術(shù)方案

  Web數(shù)碼相框要具有JPEG圖像文件顯示功能,需要進(jìn)行大量解碼處理,且實(shí)時(shí)性要求高,因此選用低功耗、高性能的32位處理器?;?a class="contentlabel" href="http://2s4d.com/news/listbylabel/label/ARM">ARM920T體系結(jié)構(gòu)的嵌入式微處理器具有如下特點(diǎn):l6/32bit920T內(nèi)核,最高工作頻率400MHz,運(yùn)算能力為440MIPS,能夠勝任多媒體文件的處理任務(wù)。所以,硬件部分采用在基礎(chǔ)上構(gòu)建的一個(gè)具有Web功能的嵌入式系統(tǒng)。

  軟件部分選擇最新的Linux2.6操作系統(tǒng),該操作系統(tǒng)屬于開源免費(fèi)的,可大大降低產(chǎn)品的開發(fā)成本。Linux2.6操作系統(tǒng)遵守GPL開發(fā)原則,可找到豐富的驅(qū)動(dòng)程序源碼,該系統(tǒng)還支持TCP/IP協(xié)議棧,可以有效降低開發(fā)難度,縮短開發(fā)周期。另外Linux2.6內(nèi)核相比Linux2.4內(nèi)核操作系統(tǒng)的實(shí)時(shí)性更好,功能也更加豐富,完全滿足Web數(shù)碼相框的設(shè)計(jì)要求。

  2 硬件設(shè)計(jì)

  2.1 LCD接口設(shè)計(jì)

  芯片集成了TFT LCD的驅(qū)動(dòng)器(圖1),因此本文采用了256k色240×320的TFT真彩LCD,所以LCD接口的設(shè)計(jì)就相對(duì)簡(jiǎn)單(圖2)。LCD接口用一個(gè)41Pin插座,包含了常見LCD所用的大部分控制信號(hào)(行場(chǎng)掃描、時(shí)鐘和使能等),和完整的RGB數(shù)據(jù)信號(hào)(RGB輸出為8:8:8)。同時(shí)還有一個(gè)跳線的設(shè)計(jì)方便支持不同的LCD工作電壓。

LCD接口

  2.2 網(wǎng)絡(luò)接口設(shè)計(jì)

  網(wǎng)絡(luò)接口設(shè)計(jì)采用目前常見的DM9000芯片。該芯片是一款快速以太網(wǎng)控制處理器,合成了MlAC、PHY、MMU,自適應(yīng)10/100M網(wǎng)絡(luò),非常適合作為嵌入式系統(tǒng)的網(wǎng)絡(luò)接口芯片。在本設(shè)計(jì)中,S3C2440與DM9000之間采用地址線和數(shù)據(jù)線復(fù)用的方式。同時(shí)DM9000的AEN端接S3C2440的nGCS4,這樣DM9000的地址線IO為Ox20000000,數(shù)據(jù)IO為0x20000004。此外Linux2.6內(nèi)核支持DM9000的驅(qū)動(dòng),這樣給開發(fā)帶來很大的方便。網(wǎng)絡(luò)接口設(shè)計(jì)如圖3所示。

網(wǎng)絡(luò)接口設(shè)計(jì)

  3 軟件設(shè)計(jì)

  3.1 嵌入式操作系統(tǒng)

  目前常見的嵌入式操作系統(tǒng)包括:WinCE、VxWorks、uC/OS-II和Linux。其中uC/OS-II操作系統(tǒng)雖然可以免費(fèi)獲得,但功能過于簡(jiǎn)單,實(shí)用性較差,后續(xù)開發(fā)工作量很大。而前兩種操作系統(tǒng)雖然功能較強(qiáng),但不屬于開源免費(fèi)的操作系統(tǒng),不適用于低成本的消費(fèi)類電子產(chǎn)品。

  Linux內(nèi)核是基于GNU通用公共許可,也就是GPL。它的源代碼完全開放,也很容易移植到嵌入式系統(tǒng)中,Linux2.6的內(nèi)核對(duì)ARM系列的嵌入式系統(tǒng)已經(jīng)有了很好的支持。同時(shí)有大量的開源軟件包可供使用,方便了后期開發(fā)。

  3.2 網(wǎng)絡(luò)文件系統(tǒng)()

  網(wǎng)絡(luò)文件系統(tǒng)()是一種將遠(yuǎn)程主機(jī)上的分區(qū)(目錄)經(jīng)網(wǎng)絡(luò)掛載到本地系統(tǒng)的一種機(jī)制,通過對(duì)網(wǎng)絡(luò)文件系統(tǒng)的支持,用戶可以在本地系統(tǒng)上像操作本地分區(qū)一樣來對(duì)遠(yuǎn)程主機(jī)的共享分區(qū)(目錄)進(jìn)行操作。對(duì)于Linux系統(tǒng)來說包括兩方面:一是Linux服務(wù)器端的NFS服務(wù)器支持;二是嵌入式目標(biāo)系統(tǒng)的NFS客戶端的支持。因此,在本設(shè)計(jì)中配置了一臺(tái)Linux的PC機(jī)來提供NFS服務(wù),同時(shí)它也作為多媒體網(wǎng)絡(luò)的媒體庫。嵌入式目標(biāo)系統(tǒng)是Web數(shù)碼相框,本設(shè)計(jì)在其嵌入式Linux系統(tǒng)上移植了NFS客戶端。借助NFS客戶端Web數(shù)碼相框能隨時(shí)讀取媒體庫中共享出來的多媒體文件。

  3.3 NFS的簡(jiǎn)單配置

  為了使Web數(shù)碼相框能夠正確地從Linux服務(wù)器上取得多媒體資料,要列NFS的服務(wù)器端和客戶端作簡(jiǎn)要的配置。

  對(duì)于服務(wù)器端,為/ect/export文件添加如下內(nèi)容:

  /home/media 192.168.0.*(ro,sync,no_root_squash)

  添加的內(nèi)容表示:允許ip地址范圍在192.168.0.*的客戶端以只讀的權(quán)限來訪問/home/media目錄。

  然后執(zhí)行如下命令,啟動(dòng)NFS服務(wù):

  #service portmap start

  #service nfs start

  對(duì)于客戶端(Web數(shù)碼相框),在Linux Shell下,執(zhí)行如下命令來進(jìn)行NFS共享目錄的掛載:

  #mkdir/mnt/NFS

  #mount-tnfs 192.168.0.20:/home/media/mnt/NFS-onolock

  客戶端對(duì)本地/mnt/NFS目錄里的多媒體文件進(jìn)行讀取并顯示,相當(dāng)于讀取了網(wǎng)絡(luò)服務(wù)器的/home/media目錄的文件,完成了網(wǎng)絡(luò)媒體庫的共享。

  4 結(jié)束語

  以上內(nèi)容敘述了基于ARM構(gòu)架的嵌入式多媒體終端,同時(shí)具備了Web數(shù)碼相框的基本功能。本設(shè)計(jì)的創(chuàng)新之處在于把Linux系統(tǒng)強(qiáng)大的網(wǎng)絡(luò)功能和S3C2440高效的多媒體處理能力結(jié)合起來,構(gòu)建了高性能、低功耗、低成本的網(wǎng)絡(luò)多媒體終端??梢灶A(yù)見在不久的將來,以Web數(shù)碼相框?yàn)榇淼木W(wǎng)絡(luò)多媒體終端會(huì)走進(jìn)千家萬戶。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉