當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于EP9315的附網絡存儲NAS系統(tǒng)設計

摘要網絡存儲NAS是一種將分布、獨立的數據整合為大型、集中化管理的數據中心,以便對不同主機和應用服務器進行訪問的技術[1]。本文提出一種以ARM9微處理器EP9315和嵌入式Linux操作系統(tǒng)構建附網絡存儲系統(tǒng)的設計方案;對系統(tǒng)的體系結構、硬件設計、操作系統(tǒng)的移植、驅動程序和應用程序的開發(fā)等設計要點作了相關研究和討論。
關鍵詞 EP9315 嵌入式Linux 附網絡存儲 NAS

  以嵌入式微處理器和嵌入式操作系統(tǒng)為核心的嵌入式技術是近年來一項新興的熱門技術,特別是以ARM公司的32位IP核為基礎的ARM嵌入式微處理器,以其高性能、低功耗、低成本等優(yōu)勢,得到了廣泛的應用。然而,目前在網絡存儲領域,國內商用市場上的網絡存儲系統(tǒng)大都采用x86等成熟的硬件平臺和商業(yè)化操作系統(tǒng),成本昂貴、核心技術知識產權受保護。本文提出把ARM9微處理器和源碼開放的嵌入式Linux操作系統(tǒng)應用在網絡存儲領域,構建一個附網絡存儲NAS(Networkattached Storage)基本系統(tǒng),拓展了ARM9微處理器的應用,也為NAS系統(tǒng)的發(fā)展提供了方向。

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

1  系統(tǒng)結構

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

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

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


圖1  NAS系統(tǒng)設計框圖

  在應用程序方面:NAS設備的遠程訪問和管理以及數據傳輸,都需要相應的應用程序來支持;否則,即使將NAS接入網絡中,對用戶來說它也只是個無法訪問的“黑箱”。本系統(tǒng)的應用程序實現(xiàn)了硬盤管理、用戶和組管理、網絡配置、系統(tǒng)時間設置、網絡共享管理等。NAS系統(tǒng)設計框圖如圖1所示。

2  系統(tǒng)硬件設計

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

2.1  EP9315主要特性介紹[2]

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

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

2.2  硬件電路

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


圖2  NAS系統(tǒng)硬件結構框圖

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

  復位電路  實現(xiàn)系統(tǒng)上電復位和在系統(tǒng)工作時用戶按鍵復位。

  電源電路  為12 V—5 V、5 V—3.3 V和5 V—1.8 V的電壓轉換。IDE硬盤需要12 V電壓,EP9315微處理器的內核工作電壓為1.8 V,其片內功能模塊的工作電壓為3.3 V,電壓轉換采用7805和LM1117系列轉換器實現(xiàn)。電源管理系統(tǒng)功能框圖如圖3所示。


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

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

  JTAG調試接口  可對芯片內部的所有部件進行訪問,通過該接口對系統(tǒng)進行軟、硬件調試和編程,進行應用程序的開發(fā)、調試。

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

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

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

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

3  NAS系統(tǒng)的軟件設計

  當完成系統(tǒng)的硬件設計與調試以后,接下來的就是嵌入式Linux操作系統(tǒng)的移植以及NAS應用程序的開發(fā)。NAS系統(tǒng)的軟件主要包括嵌入式Linux操作系統(tǒng),設備驅動程序、文件共享協(xié)議及應用程序。


圖4  NAS系統(tǒng)軟件的體系結構

  NAS系統(tǒng)軟件的體系結構如圖4所示。

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

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

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

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

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

3.1.2  嵌入式Linux的移植

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

  嵌入式Linux是在標準的Linux基礎上,經過適當的簡化、裁剪,加入一些特定的功能,形成一個精巧、高效、滿足特定應用需求的專用(定制)操作系統(tǒng)。它具有用戶可裁剪、可配置的特點。NAS系統(tǒng)最重要的是存儲,通過對Linux的裁剪,去掉許多通用的功能,使其成為一個專用于存儲、精簡、高效的操作系統(tǒng)。

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

3.2  Linux設備驅動程序開發(fā)

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

  在Linux中,將各種設備大致分為3種基本類型:字符設備、塊設備及網絡設備。其中,字符設備是指采用字符流方式訪問的設備,如字符終端、串口。對應的字符設備驅動的接口是標準的文件系統(tǒng)調用接口。

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

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

3.3  文件共享協(xié)議

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

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

3.4  NAS系統(tǒng)應用程序設計

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

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

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

參考文獻
[1]  胡天翔.網絡存儲技術在企業(yè)中的發(fā)展及應用[J] .計算機技術與發(fā)展,2006,16(7).
[2]  Cirrus Logic.EP9315 User?s Guide.2004.
[3]  李駒光,鄭耿,江澤明. 嵌入式Linux系統(tǒng)開發(fā)詳解——基于EP93XX系列ARM[M] . 北京:清華大學出版社,2006.
[4]  Red Hat.RedBoot User?s Guide.2001.
[5]  Alessandro Rubini Sc Jonathan Corbet.LINUX設備驅動程序[M]. 魏永明,駱剛,姜君,譯.  第2版.  北京:中國電力出版社,2002.
[6]  劉承凌,劉發(fā)貴. 基于Samba的Linux與Windows資源共享的實現(xiàn)[J]. 現(xiàn)代電子技術,2004(23).

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉