色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于EP9315的附網(wǎng)絡(luò)存儲(chǔ)NAS系統(tǒng)設(shè)計(jì)

          基于EP9315的附網(wǎng)絡(luò)存儲(chǔ)NAS系統(tǒng)設(shè)計(jì)

          ——
          作者:北京郵電大學(xué) 李維成 劉曉平 時(shí)間:2007-08-15 來(lái)源:51Base 收藏
          以嵌入式微處理器和嵌入式操作系統(tǒng)為核心的嵌入式技術(shù)是近年來(lái)一項(xiàng)新興的熱門技術(shù),特別是以ARM公司的32位IP核為基礎(chǔ)的ARM嵌入式微處理器,以其高性能、低功耗、低成本等優(yōu)勢(shì),得到了廣泛的應(yīng)用。然而,目前在存儲(chǔ)領(lǐng)域,內(nèi)商用市場(chǎng)上的存儲(chǔ)系統(tǒng)大都采用x86等成熟的硬件平臺(tái)和商業(yè)化操作系統(tǒng),成本昂貴、核心技術(shù)知識(shí)產(chǎn)權(quán)受保護(hù)。本文提出把ARM9微處理器和源碼開(kāi)放的嵌入式Linux操作系統(tǒng)應(yīng)用在存儲(chǔ)領(lǐng)域,構(gòu)建一個(gè)附(Networkattached Storage)基本系統(tǒng),拓展了ARM9微處理器的應(yīng)用,也為系統(tǒng)的發(fā)展提供了方向。

                 系統(tǒng)是一個(gè)具有專一功能的系統(tǒng),可實(shí)現(xiàn)與網(wǎng)絡(luò)設(shè)備直接連接,使客戶機(jī)與存儲(chǔ)器之間直接傳送數(shù)據(jù);結(jié)合具有開(kāi)放式、強(qiáng)大和穩(wěn)定的網(wǎng)絡(luò)性能的嵌入式Linux操作系統(tǒng),內(nèi)置與網(wǎng)絡(luò)連接所需的協(xié)議,能實(shí)現(xiàn)低成本、即插即用、管理和設(shè)置簡(jiǎn)單的存儲(chǔ)系統(tǒng)。

                 1  系統(tǒng)結(jié)構(gòu)

                 NAS系統(tǒng)把存儲(chǔ)設(shè)備和網(wǎng)絡(luò)接口集成在一起,直接通過(guò)網(wǎng)絡(luò)存取數(shù)據(jù),使其成為專用的網(wǎng)絡(luò)文件存儲(chǔ)及文件備份設(shè)備。因此,一個(gè)基本的NAS系統(tǒng)應(yīng)包括基本的硬件設(shè)備、接口,操作系統(tǒng),網(wǎng)絡(luò)和上層應(yīng)用程序4個(gè)部分。

                 在硬件方面,系統(tǒng)采用32位的嵌入式微處理器作為主CPU。由于集成1/10/100 Mbps的以太網(wǎng)LAN控制器,因此只需外接物理層(PHY)接口芯片,即可實(shí)現(xiàn)穩(wěn)定、高效率的以太網(wǎng)接入。在操作系統(tǒng)方面,作為一個(gè)只需要實(shí)現(xiàn)和文件管理的系統(tǒng),應(yīng)該采用面向存儲(chǔ)的專用操作系統(tǒng)?;贚inux強(qiáng)大和穩(wěn)定的網(wǎng)絡(luò)功能、源代碼的開(kāi)放性,系統(tǒng)選用嵌入式Linux作為NAS的操作系統(tǒng);通過(guò)對(duì)Linux的裁剪,去掉許多通用的功能,能大大提高設(shè)備的性能。

                 網(wǎng)絡(luò)方面: 由于NAS服務(wù)器采用Linux操作系統(tǒng),客戶機(jī)PC一般都是Windows系統(tǒng),Linux系統(tǒng)支持TCP/IP協(xié)議,但是不支持NetBIOS(Network Basic Input and Output System),因此兩者之間的需要一個(gè)中介。本系統(tǒng)利用Samba來(lái)實(shí)現(xiàn)個(gè)功能。

          NAS系統(tǒng)設(shè)計(jì)框圖

                 在應(yīng)用程序方面:NAS設(shè)備的遠(yuǎn)程訪問(wèn)和管理以及數(shù)據(jù)傳輸,都需要相應(yīng)的應(yīng)用程序來(lái)支持;否則,即使將NAS接入網(wǎng)絡(luò)中,對(duì)用戶來(lái)說(shuō)它也只是個(gè)無(wú)法訪問(wèn)的“黑箱”。本系統(tǒng)的應(yīng)用程序?qū)崿F(xiàn)了硬盤管理、用戶和組管理、網(wǎng)絡(luò)配置、系統(tǒng)時(shí)間設(shè)置、網(wǎng)絡(luò)共享管理等。NAS系統(tǒng)設(shè)計(jì)框圖如圖1所示。

                 2  系統(tǒng)硬件設(shè)技

                
          系統(tǒng)采用Cirrus Logic公司的ARM9系列的32位微處理器作為主控制器。

                 2.1  EP9315主要特性介紹[2]

                
          EP9315內(nèi)嵌先進(jìn)的運(yùn)行于200 MHz的ARM920T微處理器內(nèi)核,內(nèi)核工作電壓為1.8 V,輸入/輸出電壓為3.3 V;內(nèi)部集成了一個(gè)高性能的1/10/100 Mbps以太網(wǎng)媒體訪問(wèn)控制器(MAC),通過(guò)與支持MII接口的外置PHY(物理層接口)簡(jiǎn)單連接,系統(tǒng)即可實(shí)現(xiàn)高性能、低開(kāi)銷的Internet訪問(wèn)功能。

                 EP9315的IDE接口可以支持與兩個(gè)ATAPI工業(yè)標(biāo)準(zhǔn)兼容設(shè)備的連接,支持主模式和從模式,其內(nèi)部的DMA控制器支持Multiword DMA和Ultra DMA模式的數(shù)據(jù)傳輸。EP9315的其他特性還有:通用存儲(chǔ)器接口(SDRAM、SRAM、ROM和Flash),Raster/LCD接口,帶12位A/D轉(zhuǎn)換器的觸摸屏接口,鍵盤接口,UART接口,3通道USB2.0全速主口,12通道DMA控制器等。其豐富的外圍接口大大降低了系統(tǒng)開(kāi)發(fā)費(fèi)用。

                2.2  硬件電路

                
          NAS系統(tǒng)主要硬件結(jié)構(gòu)框圖如圖2所示[3]。

          NAS系統(tǒng)硬件結(jié)構(gòu)框圖

                 其中主要部分功能描述如下:

                 復(fù)位電路  實(shí)現(xiàn)系統(tǒng)上電復(fù)位和在系統(tǒng)工作時(shí)用戶按鍵復(fù)位。電源電路  為12 V—5 V、5 V—3.3 V和5 V—1.8 V的電壓轉(zhuǎn)換。IDE硬盤需要12 V電壓,EP9315微處理器的內(nèi)核工作電壓為1.8 V,其片內(nèi)功能模塊的工作電壓為3.3 V,電壓轉(zhuǎn)換采用7805和LM1117系列轉(zhuǎn)換器實(shí)現(xiàn)。電源管理系統(tǒng)功能框圖如圖3所示。

          電源管理系統(tǒng)功能框圖

                 RS232接口電路  用于與上位PC機(jī)的串口通信,通過(guò)串口實(shí)現(xiàn)對(duì)操作系統(tǒng)的開(kāi)發(fā)、調(diào)試。在系統(tǒng)的初始狀態(tài),EEPROM和Flash存儲(chǔ)器均為空,此時(shí)需要設(shè)置系統(tǒng)啟動(dòng)配置模式為16位串行啟動(dòng),以把初始化代碼寫到Flash中。

                  JTAG調(diào)試接口  可對(duì)芯片內(nèi)部的所有部件進(jìn)行訪問(wèn),通過(guò)該接口對(duì)系統(tǒng)進(jìn)行軟、硬件調(diào)試和編程,進(jìn)行應(yīng)用程序的開(kāi)發(fā)、調(diào)試。

                 Flash存儲(chǔ)器  用于存放用戶應(yīng)用程序、嵌入式Linux操作系統(tǒng)以及其他在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)等。

                 SDRAM存儲(chǔ)器  為系統(tǒng)程序的運(yùn)行空間,系統(tǒng)及用戶數(shù)據(jù)、堆棧均位于SDRAM存儲(chǔ)器中。

                 EIDE接口  用于實(shí)現(xiàn)IDE硬盤的接入。

                 1/10/100 Mbps以太網(wǎng)物理層接口  為系統(tǒng)提供以太網(wǎng)接入的物理通道。本系統(tǒng)通過(guò)該接口接上以太網(wǎng)物理層接口芯片KS8721BL,來(lái)實(shí)現(xiàn)高速的以太網(wǎng)接入,大大簡(jiǎn)化了系統(tǒng)的硬件電路設(shè)計(jì)。

                 3  NAS系統(tǒng)的軟件設(shè)計(jì)

                 當(dāng)完成系統(tǒng)的硬件設(shè)計(jì)與調(diào)試以后,接下來(lái)的就是嵌入式Linux操作系統(tǒng)的移植以及NAS應(yīng)用程序的開(kāi)發(fā)。NAS系統(tǒng)的軟件主要包括嵌入式Linux操作系統(tǒng),設(shè)備驅(qū)動(dòng)程序、文件共享協(xié)議及應(yīng)用程序。NAS系統(tǒng)軟件的體系結(jié)構(gòu)如圖4所示。

          NAS系統(tǒng)軟件的體系結(jié)構(gòu)

                 作為一個(gè)NAS系統(tǒng),整個(gè)系統(tǒng)中必須有一個(gè)核心操作系統(tǒng),作為對(duì)硬件的管理,軟件的協(xié)調(diào)執(zhí)行,并對(duì)外部調(diào)用提供 API。在核心操作系統(tǒng)之上是外部硬件設(shè)備驅(qū)動(dòng)程序,使硬件能正常工作,為系統(tǒng)的正常運(yùn)行提供基本條件。因?yàn)?NAS主要是實(shí)現(xiàn)網(wǎng)絡(luò)存儲(chǔ),所以要更多地考慮對(duì)網(wǎng)絡(luò)和存儲(chǔ)兩方面功能的支持,在設(shè)備驅(qū)動(dòng)之上是對(duì)一些基本網(wǎng)絡(luò)協(xié)議的支持和對(duì)專用網(wǎng)絡(luò)存儲(chǔ)服務(wù)器進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)的文件共享協(xié)議(SMB)的支持,使Windows、Linux用戶都能對(duì)NAS設(shè)備進(jìn)行訪問(wèn)。最上層是應(yīng)用程序模塊,提供UI(User Interface),實(shí)現(xiàn)對(duì)NAS的配置和管理。

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

                3.1.1  嵌入式系統(tǒng)的Bootloader

                 上面的軟件體系結(jié)構(gòu)圖沒(méi)有單獨(dú)列出初始化代碼Bootloader,但它是嵌入式系統(tǒng)重要的一部分。對(duì)任何計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),系統(tǒng)的啟動(dòng)都有一個(gè)初始化的過(guò)程,嵌入式系統(tǒng)也不例外。本嵌入式系統(tǒng)采用Redboot作為系統(tǒng)的Bootloader。Redboot是一個(gè)采用eCos開(kāi)發(fā)的程序,是目前比較流行的一個(gè)功能強(qiáng)大、可移植性強(qiáng)的Bootloader[4]。

                 移植到本系統(tǒng)的Redboot除了具有一般Bootloader的硬件初始化和引導(dǎo)內(nèi)核功能外,還具有以下功能:引導(dǎo)腳本以方便啟動(dòng)Linux操作系統(tǒng),命令行接口,串行和網(wǎng)絡(luò)通信協(xié)議,內(nèi)嵌GDB stub以支持GDB調(diào)試,支持Flash映像文件系統(tǒng),通過(guò)BOOTP協(xié)議支持網(wǎng)絡(luò)引導(dǎo),也可配置靜態(tài)IP。Redboot是建立在eCos系統(tǒng)上的一個(gè)獨(dú)立的最小系統(tǒng),可通過(guò)eCos系統(tǒng)提供的配置工具(比如圖形化的Configtool)對(duì)Redboot進(jìn)行源代碼級(jí)別的裁剪配置。

                   3.1.2  嵌入式Linux的移植

                 由于嵌入式設(shè)備沒(méi)有足夠的內(nèi)存和存儲(chǔ)資源來(lái)完成編譯過(guò)程,通常的方法是在主機(jī)上完成針對(duì)目標(biāo)機(jī)的代碼編譯。這樣的工具就是交叉編譯工具,交叉編譯工具集有專門的網(wǎng)站可以下載,并下載針對(duì)不同ARM處理器的Linux內(nèi)核移植補(bǔ)丁。本系統(tǒng)采用Linux2.4.21的內(nèi)核,采用的交叉編譯工具集合為cross2.95.3。

                 嵌入式Linux是在標(biāo)準(zhǔn)的Linux基礎(chǔ)上,經(jīng)過(guò)適當(dāng)?shù)暮?jiǎn)化、裁剪,加入一些特定的功能,形成一個(gè)精巧、高效、滿足特定應(yīng)用需求的專用(定制)操作系統(tǒng)。它具有用戶可裁剪、可配置的特點(diǎn)。NAS系統(tǒng)最重要的是存儲(chǔ),通過(guò)對(duì)Linux的裁剪,去掉許多通用的功能,使其成為一個(gè)專用于存儲(chǔ)、精簡(jiǎn)、高

          效的操作系統(tǒng)。

                 Cirrus Logic公司已為內(nèi)核寫好了針對(duì)EP9315微處理器的補(bǔ)丁,加上這個(gè)補(bǔ)丁的內(nèi)核就是一個(gè)能運(yùn)行在基于EP9315微處理器系統(tǒng)上的版本,接下來(lái)就可以在此基礎(chǔ)上進(jìn)行內(nèi)核的配置與編譯。通過(guò)不斷的配置、編譯,產(chǎn)生合適的嵌入式Linux內(nèi)核,使之在功能和大小之間取得優(yōu)化的結(jié)果,以滿足本系統(tǒng)的需要。

                 3.2  Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)

                 嵌入式系統(tǒng)的差異性決定了系統(tǒng)開(kāi)發(fā)者不但需要進(jìn)行特定硬件的設(shè)計(jì),同時(shí)需要編寫相關(guān)的設(shè)備驅(qū)動(dòng)程序,它是內(nèi)核用于完成對(duì)物理設(shè)備的控制操作的功能模塊。除了CPU、內(nèi)存以及其他很少的幾個(gè)部分之外,所有的設(shè)備控制操作都必須由被控設(shè)備相關(guān)的代碼,也就是驅(qū)動(dòng)程序來(lái)完成[5]。

                 在Linux中,將各種設(shè)備大致分為3種基本類型:字符設(shè)備、塊設(shè)備及網(wǎng)絡(luò)設(shè)備。其中,字符設(shè)備是指采用字符流方式訪問(wèn)的設(shè)備,如字符終端、串口。對(duì)應(yīng)的字符設(shè)備驅(qū)動(dòng)的接口是標(biāo)準(zhǔn)的文件系統(tǒng)調(diào)用接口。

                 塊設(shè)備是采用數(shù)據(jù)塊方式訪問(wèn)的設(shè)備,如IDE硬盤等。由于塊設(shè)備通常都提供文件系統(tǒng)支持,因此常用的設(shè)備訪問(wèn)方式是通過(guò)文件來(lái)進(jìn)行的。字符設(shè)備和塊設(shè)備在Linux中都被看成是一種特殊的文件,稱為“設(shè)備文件”。由于每個(gè)設(shè)備都至少由文件系統(tǒng)中的一個(gè)文件來(lái)代表,這樣的設(shè)備文件在系統(tǒng)中就唯一確定了對(duì)應(yīng)的設(shè)備。網(wǎng)絡(luò)設(shè)備是采用數(shù)據(jù)包傳輸方式訪問(wèn)的設(shè)備。與前兩者不同,Linux采用的方法是給它們分配一個(gè)唯一的名字(比如eth0);同時(shí),內(nèi)核和網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)間的通信采用了一套與數(shù)據(jù)包傳輸相關(guān)的函數(shù),如最常見(jiàn)的套接字(socket)接口。網(wǎng)絡(luò)設(shè)備通過(guò)ifconfig系統(tǒng)調(diào)用來(lái)創(chuàng)建和配置。

                 其他的還有一些驅(qū)動(dòng)程序不屬于以上3類,比如USB等總線驅(qū)動(dòng)。它們一般是作為內(nèi)核提供的公共服務(wù),和其他驅(qū)動(dòng)聯(lián)合起來(lái)使用。

                 3.3  文件共享協(xié)議

                 由于NAS服務(wù)器采用Linux操作系統(tǒng),客戶機(jī)PC一般都是Windows系統(tǒng),而Windows和Linux平臺(tái)之間的文件格式是完全不同的,因此Linux不能對(duì)Windows用戶直接提供基本服務(wù)。本系統(tǒng)通過(guò)應(yīng)用SMB協(xié)議實(shí)現(xiàn)這種功能[6]。Samba是一套使用SMB(Server Message Block)協(xié)議的應(yīng)用程序,通過(guò)支持這個(gè)協(xié)議,Samba允許Linux服務(wù)器與Windows PC機(jī)之間進(jìn)行通信。本系統(tǒng)采用的Samba的版本為samba3.0.20b。

                 在開(kāi)發(fā)過(guò)程中,需要在Linux服務(wù)器上進(jìn)行所有的軟件開(kāi)發(fā)。本系統(tǒng)通過(guò)建立網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS),把Linux服務(wù)器上的特定分區(qū)共享到目標(biāo)系統(tǒng)上,實(shí)現(xiàn)在目標(biāo)系統(tǒng)上操作Linux服務(wù)器和在線對(duì)程序進(jìn)行調(diào)試和修改。

                  3.4  NAS系統(tǒng)應(yīng)用程序設(shè)計(jì)

                 NAS設(shè)備本身一般沒(méi)有顯示器、鍵盤、鼠標(biāo)等這些與交互的外設(shè),那么通過(guò)什么途徑使系統(tǒng)管理員完成對(duì)這樣一個(gè)“黑箱”的配置和管理呢?NAS系統(tǒng)應(yīng)用程序的設(shè)計(jì)主要就是要實(shí)現(xiàn)對(duì)“黑箱”的配置和管理?;?nbsp;Web(Webbased)的管理是目前在 NAS系統(tǒng)管理中用得最多、最方便的方式之一。本系統(tǒng)實(shí)現(xiàn)的功能如下:

                 ①  硬盤管理。系統(tǒng)可掛載IDE、USB硬盤,支持VFAT/EXT2/EXT3文件系統(tǒng),每個(gè)分區(qū)能有獨(dú)立的文件系統(tǒng)。
                 ②  用戶和組管理。支持用戶和組的增加、修改、刪除。一個(gè)用戶可以是幾個(gè)不同組的成員。
                 ③  網(wǎng)絡(luò)配置。局域網(wǎng)中如果有DHCP服務(wù)器就無(wú)需設(shè)置IP地址,否則,通過(guò)超級(jí)終端,在串口控制命令行設(shè)置IP、DNS等。 
             
                 ④  系統(tǒng)時(shí)間設(shè)置。系統(tǒng)時(shí)間可以手動(dòng)設(shè)置,也可以通過(guò)NTP服務(wù)自動(dòng)同步。
                 ⑤  網(wǎng)絡(luò)共享管理。包括共享名設(shè)置、屬性、共享路徑、有效用戶設(shè)置,是否可寫操作等。

                 本項(xiàng)目基于EP9315實(shí)現(xiàn)了一個(gè)基本的NAS系統(tǒng),加以完善就可以作為中小型用戶的存儲(chǔ)系統(tǒng)方案。通過(guò)本項(xiàng)目,便于開(kāi)發(fā)者對(duì)ARM9微處理器和嵌入式開(kāi)發(fā)作更深入的實(shí)踐研究,推廣了ARM微處理器更廣泛的應(yīng)用。

          tcp/ip相關(guān)文章:tcp/ip是什么




          評(píng)論


          相關(guān)推薦

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

          關(guān)閉