<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于SOA架構的網(wǎng)絡(luò )硬盤(pán)控制器的設計

基于SOA架構的網(wǎng)絡(luò )硬盤(pán)控制器的設計

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/348101.htm

摘要:

項目設計一種采用“流程+引擎+構件”的SOA三層架構的。系統采用FPGA作為系統,在FPGA內部MicroBlaze軟核處理器上移植PetaLinux操作系統,加載NFS網(wǎng)絡(luò )文件系統,將擴展Int 13H規范中定義的基本硬盤(pán)操作指令封裝成原子構件,并采用VHDL硬件描述語(yǔ)言實(shí)現各原子構件,實(shí)現對硬盤(pán)的基本操作。設計引擎模塊,根據NFS文件系統操作指令,調用相關(guān)原子操作,實(shí)現硬盤(pán)存儲空間管理、文件存儲操作、用戶(hù)管理等功能。本文設計可作為個(gè)人存儲服務(wù)器連接到以太網(wǎng),用戶(hù)可通過(guò)連接網(wǎng)絡(luò )的任意主機實(shí)現對服務(wù)器硬盤(pán)的訪(fǎng)問(wèn)管理。

1 引言

隨著(zhù)電子郵箱及的普及,用戶(hù)可不用攜帶存儲設備,而直接通過(guò)網(wǎng)絡(luò )進(jìn)行數據的上傳和下載,實(shí)現個(gè)人數據的管理。然而,使用網(wǎng)絡(luò )運營(yíng)商提供的網(wǎng)絡(luò )硬盤(pán)可用空間有限,且數據保密性不強。本項目旨在研究一種適合于個(gè)人應用的網(wǎng)絡(luò )硬盤(pán)存儲裝置,該網(wǎng)絡(luò )硬盤(pán)使用RJ45接口連接到以太網(wǎng),通過(guò)以太網(wǎng)以TCP/IP協(xié)議,用戶(hù)可用以太網(wǎng)上任意主機實(shí)現對網(wǎng)絡(luò )硬盤(pán)的管理操作,與電子郵箱及網(wǎng)絡(luò )運營(yíng)商提供的網(wǎng)絡(luò )硬盤(pán)相比,此項目設計的個(gè)人網(wǎng)絡(luò )存儲硬盤(pán)有著(zhù)存儲空間容量大、使用安全、可靠性較高等優(yōu)點(diǎn)。

2 系統原理與特點(diǎn)

系統結構如圖2-1所示。

圖2-1 系統結構

用戶(hù)通過(guò)連接網(wǎng)絡(luò )的客戶(hù)端PC機采用TCP/IP協(xié)議實(shí)現文件的上傳和下載,上傳文件時(shí),用戶(hù)通過(guò)客戶(hù)端PC機向網(wǎng)絡(luò )硬盤(pán)控制器發(fā)送上傳文件指令,并發(fā)送文件數據,FPGA內以太網(wǎng)控制器模塊接收數據并由DDR2控制器模塊寫(xiě)入到DDR2中緩存,然后根據NFS協(xié)議將數據從DDR2中讀出經(jīng)硬盤(pán)控制器模塊寫(xiě)入到硬盤(pán)中保存;客戶(hù)端下載文件時(shí),用戶(hù)通過(guò)客戶(hù)端PC機向硬盤(pán)控制器發(fā)送下載文件指令,FPGA內以太網(wǎng)控制器模塊接收指令后,根據NFS協(xié)議將文件數據通過(guò)硬盤(pán)控制器模塊讀出并寫(xiě)入到DDR2緩存中,然后將數據由DDR2中讀出并由以太網(wǎng)控制器模塊,加載網(wǎng)絡(luò )協(xié)議棧,將數據由網(wǎng)絡(luò )發(fā)送到客戶(hù)端PC。

FPGA內部調用MicroBlaze處理器,移植PetaLinux操作系統,配置TCP/IP協(xié)議棧,加載NFS網(wǎng)絡(luò )文件系統,利用VHDL語(yǔ)言設計Int13H規范中定義的對硬盤(pán)操作的原子構件,并設計對原子構件調用的引擎管理模塊,將原子構件與引擎管理模塊以用戶(hù)IP核形式添加到與MicroBlaze處理器互聯(lián)的PLB片內總線(xiàn),FPGA內部系統模塊框圖如圖2-2所示。

圖2-2 FPGA內功能模塊

3 硬盤(pán)引擎管理模塊設計

借鑒互聯(lián)網(wǎng)分布式計算領(lǐng)域中網(wǎng)格計算、云計算技術(shù)廣泛采用的為核心設計思想,首先進(jìn)行業(yè)務(wù)需求分析、根據業(yè)務(wù)用例、用例場(chǎng)景、業(yè)務(wù)步驟的分析過(guò)程找出對應的原子業(yè)務(wù)。根據業(yè)務(wù)原子業(yè)務(wù)映射到相應的系統需求進(jìn)行系統建模,通過(guò)形式語(yǔ)義將場(chǎng)景步驟序列描述為由一系列原子構件的組合。完成“流程+引擎+構件”的三層SOA結構的文件系統設計。

3.1 文件系統業(yè)務(wù)單元

文件系統是操作系統中負責管理和存儲文件信息的軟件系統。主要負責對文件存儲器空間進(jìn)行組織和分配,文件的存儲以及對存入的文件進(jìn)行保護和檢索。文件系統主要包括存儲空間管理、文件存儲操作、用戶(hù)管理這三個(gè)業(yè)務(wù)單元。

存儲實(shí)間管理主要包括對存儲空間的組織、分配和回收。文件存儲操作主要包括用戶(hù)對存儲空間文件的基本操作,包含文件的生成、刪除、打開(kāi)、關(guān)閉、文件讀、文件寫(xiě)等。用戶(hù)管理主要包括用戶(hù)的注冊、登錄以及用戶(hù)權限管理等。

3.2 提取業(yè)務(wù)用例

在提取文件系統的業(yè)務(wù)用例時(shí),主要是從業(yè)務(wù)主角——用戶(hù)的角度出發(fā),對文件系統的每一個(gè)業(yè)務(wù)單元進(jìn)行分析提取業(yè)務(wù)用例。

3.2.1 存儲空間管理

存儲空間管理業(yè)務(wù)單元的用例視圖如圖3-1所示。

圖3-1 存儲空間管理用例視圖

存儲空間管理該業(yè)務(wù)單元主要包括如下業(yè)務(wù)用例:初始化存儲空間、分配存儲空間、追加存儲空間、回收存儲空間、查詢(xún)剩余存儲空間。

3.2.2 文件存取操作

文件存取操作業(yè)務(wù)單元的業(yè)務(wù)用例視圖如圖3-2所示。

圖3-2 文件存取操作用例視圖

文件存取操作業(yè)務(wù)單元包括如下業(yè)務(wù)用例:建立文件、打開(kāi)文件、讀文件、寫(xiě)文件、關(guān)閉文件、保存文件、刪除文件、保存文件、列舉文件、檢索文件、復制文件等。

3.2.3 用戶(hù)管理

用戶(hù)管理用例視圖如圖3-3所示。

圖3-3 用戶(hù)管理用例視圖

用戶(hù)管理該業(yè)務(wù)單元包括的業(yè)務(wù)用例主要有填加用戶(hù)、刪除用戶(hù)、用戶(hù)登錄、用戶(hù)退出、設置用戶(hù)權限、修改用戶(hù)權限等。

3.3業(yè)務(wù)用例場(chǎng)景

3.3.1 劃分業(yè)務(wù)用例場(chǎng)景

業(yè)務(wù)用例在實(shí)際執行的進(jìn)程中可能會(huì )有多種不同的情況發(fā)生,每一種情況都稱(chēng)為該業(yè)務(wù)用例的一個(gè)業(yè)務(wù)用例場(chǎng)景,也可以說(shuō)業(yè)務(wù)用例場(chǎng)景是指實(shí)例化的用例。通過(guò)對文件系統的業(yè)務(wù)用例進(jìn)行分析,劃分出文件系統的業(yè)務(wù)用例場(chǎng)景如表1所示。

表3-1 文件系統業(yè)務(wù)用例場(chǎng)景

業(yè)務(wù)用例

業(yè)務(wù)用例場(chǎng)景

說(shuō)明

初始化存儲空間

初始化存儲空間

對未進(jìn)行初始化設置的空間進(jìn)行初始化。

分配存儲空間

分配存儲空間

為新創(chuàng )建的文件分配存儲空間。

追加存儲空間

追加存儲空間

對現有存儲空間已滿(mǎn)的文件追加新的存儲空間

回收存儲空間

回收存儲空間

文件被刪除后,回收不用的存儲空間

建立文件

創(chuàng )建文檔文件

創(chuàng )建一個(gè)新的文件并存檔

創(chuàng )建文件夾

建立文件的組織單元

打開(kāi)文件

打開(kāi)文檔文件

打開(kāi)一個(gè)已經(jīng)存在的文件

打開(kāi)文件夾

打開(kāi)一個(gè)已經(jīng)存在的文件夾

讀文件

順序讀文件

從文件頭順序讀取文件內容

隨機讀文件

從指定位置處讀取指定長(cháng)度的文件內容

寫(xiě)文件

寫(xiě)文件

從指定位置處向已創(chuàng )建文件中寫(xiě)入內容

關(guān)閉文件

關(guān)閉文檔文件

關(guān)閉已經(jīng)打開(kāi)的文件

關(guān)閉文件夾

關(guān)閉已經(jīng)打開(kāi)的文件夾

保存文件

保存文件

對文件內容或屬性有過(guò)更改的文件進(jìn)行存檔

刪除文件

刪除文件內容

刪除指定位置處指定長(cháng)度的文件內容

刪除文件

刪除已經(jīng)存在的文檔性質(zhì)的文件

刪除文件夾

刪除已經(jīng)存在的存放文檔的文件夾

列舉文件

列舉當前文件夾下文件

列舉當前文件夾目錄中的所有文件,包括文件夾和文檔文件。

列舉存儲空間的所有文件

列舉存儲空間中的所有文件夾和文件

檢索文件

在當前文件夾檢索

在當前文件夾中查找指定名稱(chēng)的文件或文件夾

在整個(gè)存儲空間檢索

從整個(gè)存儲空間查找指定名稱(chēng)的文件或文件夾

改變目錄

進(jìn)入子目錄

進(jìn)入當前目錄的下級目錄

返回父目錄

返回當前目錄的上級目錄

填加用戶(hù)

注冊用戶(hù)

登記允許對存儲空間內文件進(jìn)行操作的用戶(hù)信息

刪除用戶(hù)

刪除用戶(hù)

刪除已登記的文件系統的用戶(hù)信息

用戶(hù)登錄

用戶(hù)登錄

用戶(hù)進(jìn)入文件存儲空間

用戶(hù)退出

用戶(hù)退出

用戶(hù)退出文件存儲空間

修改用戶(hù)信息

修改用戶(hù)信息

修改已登記的用戶(hù)信息

設置用戶(hù)權限

設置用戶(hù)權限

對進(jìn)入文件存儲空間用戶(hù)的文件操作權限進(jìn)行設置

3.3.2 描述業(yè)務(wù)用例

本文對文件系統業(yè)務(wù)用例描述采用的是用例文檔和UML的活動(dòng)圖,通過(guò)畫(huà)出文件系統業(yè)務(wù)用例場(chǎng)景的活動(dòng)圖,按照所用例文檔模板的格式對活動(dòng)圖進(jìn)行描述,建立文件系統的業(yè)務(wù)用例模型,得到文件系統的業(yè)務(wù)需求文檔。

3.4 提取原子業(yè)務(wù)

前面對文件系統進(jìn)行了業(yè)務(wù)建模,分析了文件系統的業(yè)務(wù)參與者、業(yè)務(wù)用例和業(yè)務(wù)場(chǎng)景,在此小結中將分析提取文件系統的原子業(yè)務(wù)。主要通過(guò)分析業(yè)務(wù)場(chǎng)景的主干流程來(lái)進(jìn)行原子業(yè)務(wù)的提取。

3.4.1 存儲空間管理原子業(yè)務(wù)分析

以追加存儲空間為例分析業(yè)務(wù)流程。

前置條件:文件當前存儲空間不足,文件剩余存儲空間中有足夠的空閑空間。

后置條件:成功為文件追加空閑存儲空間。

該業(yè)務(wù)流程由如下業(yè)務(wù)步驟組成:

1>.文件存儲空間不足,申請新的存儲空間;

2>.文件定位;

3>.追加新的存儲空間。

分析上述業(yè)務(wù)步驟,畫(huà)出追加存儲空間業(yè)務(wù)用例場(chǎng)景的業(yè)務(wù)流程圖如圖3-4所示。

圖3-4 追加存儲空間活動(dòng)圖

經(jīng)分析追加存儲空間該業(yè)務(wù)用例中可提取出兩個(gè)原子業(yè)務(wù):文件定位、追加存儲空間。分析存儲空間管理業(yè)務(wù)單元其它業(yè)務(wù)用例場(chǎng)景的業(yè)務(wù)流程后,得出該業(yè)務(wù)單元原子業(yè)務(wù)樹(shù)狀結構圖如圖3-5所示。

圖3-5 存儲空間管理原子業(yè)務(wù)模型結構圖

3.4.2 文件存取操作原子業(yè)務(wù)分析

以順序讀文件為例分析業(yè)務(wù)流程。

前置條件:文件存在并且可讀。

后置條件:從文件指定位置處順序讀取指定長(cháng)度內容。

該業(yè)務(wù)流程由如下業(yè)務(wù)步驟組成:

1>.確定文件所在存儲空間;

2>.打開(kāi)目標文件;

3>.讀取指定長(cháng)度的文件內容;

4>.關(guān)閉文件。

分析上述業(yè)務(wù)步驟,畫(huà)出順序讀文件業(yè)務(wù)用例場(chǎng)景的業(yè)務(wù)流程圖如圖3-6所示。

經(jīng)分析順序讀取文件該業(yè)務(wù)用例中可提取出四個(gè)原子業(yè)務(wù):文件定位、打開(kāi)文件、順序讀文件、關(guān)閉文件。

分析文件存取操作業(yè)務(wù)單元其它業(yè)務(wù)用例場(chǎng)景的業(yè)務(wù)流程后,提取出該業(yè)務(wù)單元原子業(yè)務(wù)樹(shù)狀結構圖如圖3-7所示。

圖3-6 順序讀取文件業(yè)務(wù)活動(dòng)圖

3.4.3 用戶(hù)管理原子業(yè)務(wù)分析

以注冊用戶(hù)為例分析業(yè)務(wù)流程。

前置條件:有權限成為文件系統用戶(hù)。

后置條件:注冊成功,分配用戶(hù)名。

該業(yè)務(wù)流程由如下業(yè)務(wù)步驟組成:

1>.管理員進(jìn)入存儲空間;

2>.登記用戶(hù)信息。

分析上述業(yè)務(wù)步驟,畫(huà)出注冊用戶(hù)業(yè)務(wù)用例場(chǎng)景的業(yè)務(wù)流程圖如圖3-8所示。經(jīng)分析注冊用戶(hù)該業(yè)務(wù)用例中可提取出兩個(gè)原子業(yè)務(wù):用戶(hù)登錄、登記用戶(hù)信息。

分析用戶(hù)管理業(yè)務(wù)單元其它業(yè)務(wù)用例場(chǎng)景的業(yè)務(wù)流程后,得出該業(yè)務(wù)單元原子業(yè)務(wù)部分樹(shù)狀結構圖如圖3-9所示。

圖3-9 用戶(hù)管理原子業(yè)務(wù)模型結構圖

通過(guò)以上對文件系統各業(yè)務(wù)單元的分析,提取文件系統完整的原子業(yè)務(wù)及其描述如表3-2所示。

表3-2 文件系統原子業(yè)務(wù)及其描述

序號

原子業(yè)務(wù)

描述

1

初始化空間(Initialize_Space)

對文件系統的存儲空間容量大小和分區容量進(jìn)行初始化設置。

2

分配空間(Allocate_Space)

為新建文件或文件夾分配存儲空間

3

文件定位(Locate_File)

確定文件所在存儲空間地址。

4

追加空間(Supplement_Space)

文件存儲空間不足紿文件追加新的存儲空間。

5

釋放空間(Free_Space)

將存儲空間改為未用。

6

查詢(xún)分區容量(Inquiry_Space)

查詢(xún)分區空閑存儲空間大小。

7

設置文件為打開(kāi)狀態(tài)(Set_File_Open)

更改文件為“打開(kāi)”狀態(tài)

8

設置文件夾為打狀態(tài)(Set_Folder_Open)

更改文件夾為“打開(kāi)”狀態(tài)

9

設置文件為關(guān)閉狀態(tài)(Set_File_Open)

更改文件為“關(guān)閉”狀態(tài)

10

設置文件夾為關(guān)閉狀態(tài)(Set_Folder_Open)

更改文件夾為“關(guān)閉”狀態(tài)

11

順序讀文件(Sequence_Read_File)

按順序讀取指定長(cháng)度的文件內容

12

隨機讀文件(Random_Read_File)

隨機讀取指定長(cháng)度的文件內容

13

寫(xiě)文件(Write_File)

向文件內寫(xiě)入指定長(cháng)度文件內容

14

更新文件(Update_File)

文件進(jìn)行讀寫(xiě)后更改文年屬性和內容

15

查找文件(Find_File)

在指定空間查找指定文件名的文件

16

列舉文件(File_Enumeration)

列舉指定空間的所有文件

17

登記用戶(hù)信息(Rsgister_User_Information)

登記文件系統用戶(hù)信息。

18

修改用戶(hù)信息(Modify_User_Information)

修改已登記的用戶(hù)信息

19

刪除用戶(hù)信息

(Delete_User_Information)

刪除已登記的文件系統用戶(hù)信息

20

用戶(hù)進(jìn)入

(User_Enter)

用戶(hù)進(jìn)入文件存儲空間,查看空間內文件

21

用戶(hù)退出

(User_Exit)

用戶(hù)退出存儲空間

22

設置用戶(hù)權限(Set_Premissions)

設置用戶(hù)訪(fǎng)問(wèn)文件的權限。

4 Petalinux及NFS網(wǎng)絡(luò )文件系統的移植

Petalinux的移植主要工作為硬件平臺搭建,以及內核的裁剪與移植,其中硬件平臺的搭建在windows操作系統上安裝的Xilinx EDK環(huán)境中完成,選擇Virtex5-lx110t開(kāi)發(fā)板,由于網(wǎng)絡(luò )文件服務(wù)器的需要選擇以太網(wǎng)的IP核,DDR,串口,定時(shí)器等并添加相應的中斷,成功建立工程的block diagram 如圖4-1所示。

圖4-1 搭建工程框圖

然后進(jìn)行基于Petalinux軟件平臺的配置,操作系統和庫選項選擇Petalinux,修改主要存儲空間和輸入輸出的當前值,軟件平臺搭建完畢,最后生成庫和板級支持包,然后生成比特流文件下載至目標板測試工程的正確性。

Petalinux是一套開(kāi)發(fā)環(huán)境,linux內核的裁剪以及移植在安裝centos 5.6 操作系統的主機完成首先利用Petalinux自帶的工具創(chuàng )建嵌入式平臺,將在windows下完成的工程拷貝到Linux系統,轉換到Linux系統格式,根據開(kāi)發(fā)板選擇新的平臺,然后用make menuconfig 命令進(jìn)入內核裁剪的圖形化界面,合理的裁剪之后進(jìn)行編譯將生成的image.bin文件通過(guò)下載線(xiàn)下載至開(kāi)發(fā)板的DDR SDRAM中,在串口終端可以看到系統啟動(dòng)信息,如圖4-2所示。

圖4-2 系統啟動(dòng)信息

網(wǎng)絡(luò )文件系統支持以應用程序在客戶(hù)端通過(guò)網(wǎng)絡(luò )存取位于服務(wù)器磁盤(pán)中數據的一種文件系統協(xié)議,大多數網(wǎng)絡(luò )文件系統都分成客戶(hù)端和文件服務(wù)器兩部分??蛻?hù)端以邏輯文件塊的方式存取數據,文件服務(wù)器使用塊映射存取真正的磁盤(pán)塊,并完成磁盤(pán)格式和元數據(如目錄)的管理,對客戶(hù)端完全屏蔽,一般客戶(hù)端和文件服務(wù)器以TCP/IP方式通信。NFS是網(wǎng)絡(luò )文件系統(Network File System)的簡(jiǎn)稱(chēng),是分布式計算機系統的一個(gè)組成部分,可實(shí)現在異種網(wǎng)絡(luò )上共享和裝配遠程文件系統,可讓不同操作系統的計算機共享數據。

NFS服務(wù)器的移植:nfs服務(wù)器的實(shí)現需要內核nfsd的支持外加兩個(gè)應用程序套件 portmap 和nfs-utils ,Petalinux中移植此應用程序,下載此應用程序的源碼,添加到petalinux的usr目錄下,修改makefile 和config.in 文件,重新配置內核加入nfs服務(wù)器端的支持,同時(shí)交叉編譯此應用程序,將生成的可執行文件復制到 romfs 的bin 目錄下,再在etc 目錄下添加exports 文件用來(lái)設置可掛載目錄,使得Petalinux 系統具有nfs服務(wù)器端的功能。

5 IDE硬盤(pán)控制器的設計

IDE(Integrated Drive Electronics,集成驅動(dòng)電子設備)是由Compaq開(kāi)發(fā)并由Western Digital公司生產(chǎn)的硬盤(pán)驅動(dòng)器。IDE是在早期的ST506硬盤(pán)基礎上改進(jìn)而成的,采用40線(xiàn)的單組電纜進(jìn)行連接,數據傳輸的可靠性得到了增強,硬盤(pán)制造起來(lái)變得容易,因為廠(chǎng)商不需要再擔心自己的硬盤(pán)是否與其他廠(chǎng)商生產(chǎn)的控制器兼容,對用戶(hù)而言,硬盤(pán)安裝起來(lái)也更為方便。因此IDE接口實(shí)際上是系統級接口,故也稱(chēng)為ATA(Advanced Technology Attachment)接口,(ATA更接近于接口的協(xié)議層標準,而IDE多用于描述接口的物理結構)。其傳輸方式主要有和DMA兩種。ATA接口規范從最初的ATA-1版本已發(fā)展到ATA-7版本。

5.1 硬盤(pán)接口信號

ATA/ATAPI-6標準中定義的主機和設備端之間的通信連接信號如表5-1所示。其中,左邊是對信號的描述,中間表示信號的傳輸方向(由主機到設備還是由設備到主機),右邊表示信號的名稱(chēng)。

  1. CS(1:0)-:主機發(fā)送給硬盤(pán)的片選信號,實(shí)現對寄存器的選擇;
  2. DA(2:0):主機發(fā)送給硬盤(pán)的地址信號,用來(lái)實(shí)現對硬盤(pán)寄存器的尋址;
  3. DD(15:0):主機與硬盤(pán)之間的數據連接線(xiàn),當主機對硬盤(pán)寄存器進(jìn)行讀寫(xiě)時(shí),使用該數據總線(xiàn)的低八位進(jìn)行數據傳輸,當對數據寄存器進(jìn)行讀寫(xiě)時(shí),用該總線(xiàn)的16位進(jìn)行數據傳輸;
  4. DIOR-:HDMARDY-:HSTROBE:復用信號,表示對寄存器讀信號/Ultra DMA就緒/Ultra DMA數據輸出同步信號,DIOR-表示主機對硬盤(pán)寄存器的讀信號,HDMARDY-表示Ultra DMA數據輸入時(shí),主機發(fā)出的就緒信號,HSTROBE表示Ultra DMA數據輸出時(shí)主機發(fā)出的時(shí)鐘同步信號,雙沿有效,即在該信號的上升沿和下降沿,主機將數據輸出;
  5. DIOW-:STOP:復用信號,表示主機寫(xiě)寄存器命令/主機終止Ultra DMA突發(fā)傳輸信號,DIOW-表示主機發(fā)出的對硬盤(pán)寄存器的寫(xiě)命令信號。在Ultra DMA突發(fā)傳輸時(shí),主機可通過(guò)使能STOP信號來(lái)終止Ultra DMA突發(fā)傳輸。
  6. DMACK-:在DMA開(kāi)始傳輸時(shí),主機對硬盤(pán)發(fā)出的DMA傳輸請求的應答信號;
  7. DMARQ:當硬盤(pán)準備好數據收發(fā)時(shí),給主機發(fā)出的DMA傳輸請求信號;
  8. INTRQ:硬盤(pán)發(fā)出的中斷請求信號;
  9. IORDY:DDMARDY-:DSTROBE:硬盤(pán)發(fā)出的I/O通道就緒/Ultra DMA硬盤(pán)就緒/Ultra DMA數據輸入同步信號。IORDY表示在數據傳輸中,當硬盤(pán)沒(méi)有準備好數據傳輸時(shí),使能該信號無(wú)效以延長(cháng)主機對硬盤(pán)的訪(fǎng)問(wèn)時(shí)間。DDMARDY-表示在Ultra DMA數據傳輸中硬盤(pán)發(fā)出的流量控制信號,該數據有效時(shí),表示硬盤(pán)已準備好接收Ultra DMA傳輸數據,硬盤(pán)使能該信號無(wú)效可暫停Ultra DMA數據傳輸。DSTROBE表示在Ultra DMA數據傳輸時(shí),硬盤(pán)發(fā)出的數據鎖存信號,主機可在該信號的上升沿和下降沿接收數據;
  10. RESET-:主機發(fā)出的硬盤(pán)復位信號,低電平有效。

表5-1 硬盤(pán)接口信號

5.2 硬盤(pán)接口寄存器

主機對硬盤(pán)的訪(fǎng)問(wèn)是通過(guò)對接口寄存器的訪(fǎng)問(wèn)來(lái)實(shí)現的。ATA-6標準規定的硬盤(pán)接口寄存器如表5-2所示。這些寄存器按照功能劃分為命令寄存器(Command block registers)和控制寄存器(Control block registers)。命令寄存器用來(lái)接收主機發(fā)出的各種命令和傳送數據,包括數據寄存器、扇區計數寄存器等??刂萍拇嫫饔米骺刂朴脖P(pán)操作,如使能硬盤(pán)中斷、選擇硬盤(pán)等。

表5-2 硬盤(pán)端接口寄存器

5.3 硬盤(pán)控制器模塊設計

硬盤(pán)控制器模塊內部結構如圖5-1所示。

圖5-1 硬盤(pán)控制器模塊內部結構

5.3.1 總線(xiàn)接口模塊

總線(xiàn)接口模塊是硬盤(pán)控制器與PLB總線(xiàn)的連接模塊,接收處理器通過(guò)PLB總線(xiàn)發(fā)來(lái)的操作命令及讀寫(xiě)數據。

5.3.2 硬盤(pán)復位模塊

硬盤(pán)上電后需要完成一個(gè)復位過(guò)程,即ATA/ATAPI-6標準中描述的上電及硬件復位協(xié)議。復位過(guò)程既可以通過(guò)軟件編程實(shí)現也可以通過(guò)在硬盤(pán)控制器內部設計專(zhuān)用的邏輯來(lái)實(shí)現。系統上電后,硬盤(pán)控制器通過(guò)硬盤(pán)復位模塊生成一個(gè)寬帶大于25us的低電平復位信號,復位信號回到高電平2ms后,即復位操作完成。復位信號波形如圖5-2所示。

圖5-2 復位信號波形

5.3.3 模塊

該模塊的功能是產(chǎn)生讀寫(xiě)硬盤(pán)內部寄存器的時(shí)序,該模塊產(chǎn)生待訪(fǎng)問(wèn)的硬盤(pán)寄存器的地址線(xiàn),并輸出讀寫(xiě)信號,根據數據傳輸方向,發(fā)送數據到數據線(xiàn)或從數據線(xiàn)上讀取數據,操作完成后,釋放地址、數據線(xiàn)。

根據PIO讀寫(xiě)時(shí)序,該模塊應實(shí)現以下功能:

  1. 產(chǎn)生訪(fǎng)問(wèn)硬盤(pán)寄存器的地址信號,并具有一定有效寬帶。
  2. 產(chǎn)生相應的讀寫(xiě)信號DIOR-/DIOW-,當為寫(xiě)操作時(shí),使數據具有規定的建立和保持時(shí)間;當為讀操作時(shí),給出讀數據的時(shí)機。
  3. 處理硬盤(pán)輸入的IORDY信號,當IORDY無(wú)效時(shí),應延長(cháng)對硬盤(pán)的讀寫(xiě)周期。

5.3.4 Ultra DMA模塊

Ultra DMA模塊是硬盤(pán)控制器的關(guān)鍵模塊,其主要功能是實(shí)現Ultra DMA突發(fā)數據輸出時(shí)序的控制。Ultra DMA操作可分為三個(gè)階段,分別是初始階段、數據傳輸階段、傳輸中止階段。

初始階段的時(shí)序描述為:當硬盤(pán)發(fā)出DMA請求信號DMARQ,控制器通過(guò)DMACK-進(jìn)行應答,等到硬盤(pán)發(fā)出的DDMARDY-信號有效后,控制器開(kāi)始輸出HSTROBE信號。

數據傳輸階段的時(shí)序描述為:HSTROBE時(shí)鐘的上升沿和下降沿都觸發(fā)數據輸出,在數據傳輸過(guò)程中,控制器可通過(guò)停止產(chǎn)生HSTROBE信號來(lái)暫停數據的輸出,硬盤(pán)可以通過(guò)使DDMARDY-信號無(wú)效來(lái)暫停數據的接收。

傳輸終止階段,控制器和硬盤(pán)都可終止數據傳輸,終止數據傳輸可分為四個(gè)過(guò)程:停止請求、停止檢查、HSTROBE返回高電平、發(fā)送CRC校驗值。對于控制器停止數據傳輸,首先停止產(chǎn)生HSTROBE時(shí)鐘信號,發(fā)出STOP命令信號,控制器檢查硬盤(pán)的DDMARDY和DMARQ均無(wú)效后,使HSTROBE返回高電平,使DMACK-無(wú)效,并在DMACK-信號跳變沿處輸出CRC校驗值到數據線(xiàn)DD(15:0),如圖5-3所示。對于硬盤(pán)停止數據傳輸,通過(guò)使DDMARDY和DMARQ均無(wú)效來(lái)停止數據傳輸,控制器需要在tL1時(shí)間內發(fā)出STOP信號,使HSTROBE返回高電平,使DMACK-無(wú)效,并輸出CRC校驗值至DD(15:0),如圖5-4所示。

圖5-3 控制器終止Ultra DMA數據傳輸時(shí)序

圖5-4 硬盤(pán)終止Ultra DMA數據傳輸時(shí)序

5.3.5 控制器模塊

控制模塊是硬盤(pán)控制器的核心,該模塊的主要功能是實(shí)現CPU對硬盤(pán)控制器中寄存器的配置,并根據相關(guān)寄存器的寫(xiě)入信息實(shí)現對應的控制操作。

6 總結

項目設計一種基于“流程+引擎+構件”SOA三層架構的網(wǎng)絡(luò )硬盤(pán)控制器。采用FPGA作為系統控制器,在MicroBlaze軟核處理器上移植PetaLinux操作系統,加載NFS網(wǎng)絡(luò )文件系統,將擴展Int 13H規范中定義的基本硬盤(pán)操作指令封裝成原子構件,采用VHDL硬件描述語(yǔ)言實(shí)現各原子構件操作。設計引擎管理模塊,根據NFS文件系統操作指令,調用相關(guān)原子操作,實(shí)現硬盤(pán)存儲空間管理、文件存儲操作、用戶(hù)管理等功能。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>