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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 一種基于PCIe固態(tài)硬盤存儲(chǔ)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

          一種基于PCIe固態(tài)硬盤存儲(chǔ)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

          作者:任華鋒 高傳發(fā) 孫振華 時(shí)間:2016-03-28 來源:電子產(chǎn)品世界 收藏
          編者按: 介紹了一種在智能繼電保護(hù)裝置中,基于PCIe總線技術(shù)實(shí)現(xiàn)大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)方法。該方法選用飛思卡爾P2020處理器為硬件平臺(tái),88se9170做為PCIe轉(zhuǎn)SATA接口控制器,以固態(tài)硬盤為存儲(chǔ)介質(zhì),采用兼容性好的FAT文件系統(tǒng)管理數(shù)據(jù)存儲(chǔ)。該存儲(chǔ)系統(tǒng)具有高速、支持熱插拔、可脫機(jī)運(yùn)行等特點(diǎn)。經(jīng)EMC試驗(yàn)和具體智能變電站工程運(yùn)行驗(yàn)證,滿足智能繼電保護(hù)裝置對(duì)數(shù)據(jù)處理安全可靠的要求。

          摘要: 介紹了一種在智能繼電保護(hù)裝置中,基于總線技術(shù)實(shí)現(xiàn)大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)方法。該方法選用飛思卡爾P2020處理器為硬件平臺(tái),88se9170做為轉(zhuǎn)SATA接口控制器,以固態(tài)硬盤為存儲(chǔ)介質(zhì),采用兼容性好的文件系統(tǒng)管理數(shù)據(jù)存儲(chǔ)。該存儲(chǔ)系統(tǒng)具有高速、支持熱插拔、可脫機(jī)運(yùn)行等特點(diǎn)。經(jīng)EMC試驗(yàn)和具體智能變電站工程運(yùn)行驗(yàn)證,滿足智能繼電保護(hù)裝置對(duì)數(shù)據(jù)處理安全可靠的要求。

          本文引用地址:http://cafeforensic.com/article/201603/288913.htm

          引言

            新一代的智能電網(wǎng)繼電保護(hù)裝置軟硬件平臺(tái)研發(fā)設(shè)計(jì)中大都采用了多種類型的組件技術(shù),根據(jù)功能可分解為環(huán)境建模、推理決策、系統(tǒng)監(jiān)控、領(lǐng)域?qū)W習(xí)和領(lǐng)域知識(shí)庫等各類邏輯實(shí)現(xiàn)組件,組件與外部或組件間都有大量的數(shù)據(jù)傳遞和處理,這些關(guān)鍵數(shù)據(jù)不僅需要高速穩(wěn)定的存儲(chǔ)系統(tǒng)來存儲(chǔ),還要存儲(chǔ)系統(tǒng)能在惡劣電磁干擾環(huán)境下保證數(shù)據(jù)的正確完整性。針對(duì)這些要求,文中著重研究了在飛思卡爾P2020多核處理器下通過實(shí)現(xiàn)的嵌入式固態(tài)硬盤存儲(chǔ)技術(shù),就存儲(chǔ)系統(tǒng)的硬件設(shè)計(jì)和軟件驅(qū)動(dòng)設(shè)計(jì)等方面進(jìn)行了詳細(xì)的闡述,并通過EMC專業(yè)測(cè)試和具體智能變電站工程進(jìn)行了可靠性驗(yàn)證。

          1 存儲(chǔ)系統(tǒng)架構(gòu)設(shè)計(jì)

            根據(jù)存儲(chǔ)系統(tǒng)的設(shè)計(jì)需求,要求該系統(tǒng)具有大容量數(shù)據(jù)存儲(chǔ)、高速總線、熱插拔等特點(diǎn)。按照模塊化的設(shè)計(jì)思路,兼顧繼電保護(hù)裝置機(jī)箱插件式結(jié)構(gòu)的特點(diǎn),將存儲(chǔ)設(shè)備設(shè)計(jì)為獨(dú)立的插件模塊,通過機(jī)箱背板的高速PCIE擴(kuò)展總線與主控CPU模塊插件相連。其組成結(jié)構(gòu)如圖1所示。

          2 存儲(chǔ)系統(tǒng)硬件設(shè)計(jì)

          2.1 P2020處理器主控單元CPU模塊設(shè)計(jì)

            CPU模塊采用飛思卡爾新推出的低功耗P2020多核微處理器, P2020處理器具有雙E500v2內(nèi)核,最高主頻可達(dá)到1.2GHz,集成了PCIe、SGMI、SD/MMC等接口。包含P2020處理器的主控CPU主要由復(fù)位電路、時(shí)鐘電路、時(shí)序邏輯控制電路、DDR內(nèi)存電路和接口模塊電路組成。為了節(jié)省硬件資源和降低功耗,P2020處理器外圍接口電路采用了復(fù)用SerDes(串行器解串器)設(shè)計(jì),通過處理器上電復(fù)位時(shí)初始化設(shè)備狀態(tài)寄存器,將P2020的四個(gè)SerDes通道靈活配置成PCIE、SGMII等接口。兩個(gè)E500內(nèi)核可根據(jù)具體的軟件設(shè)計(jì)非常方便地通過SerDes訪問存儲(chǔ)設(shè)備。PCIe接口的數(shù)據(jù)收發(fā)差分線和時(shí)鐘線經(jīng)過CPU插件上的高速連接器擴(kuò)展到機(jī)箱背板。

          2.2 固態(tài)硬盤存儲(chǔ)模塊設(shè)計(jì)

            固態(tài)硬盤()是一種基于閃存的存儲(chǔ)技術(shù),具有能耗低、無機(jī)械活動(dòng)部件、讀寫速度快、抗震動(dòng)等優(yōu)點(diǎn)。該存儲(chǔ)模塊使用工業(yè)級(jí)固態(tài)硬盤(>=120G)作為存儲(chǔ)介質(zhì),解決了智能保護(hù)裝置采用Flash或SD卡存儲(chǔ)空間容量小、傳輸速率慢、不能脫機(jī)運(yùn)行的劣勢(shì)。

            是固態(tài)硬盤控制的核心。系統(tǒng)選用Marvell 88SE9170作為,該芯片有兩個(gè)支持SATA 3.0規(guī)范的SATA端口,一個(gè)lane PCIe2.0接口。6路可設(shè)置方向的GPIO,用于操作固態(tài)硬盤的數(shù)據(jù)指示燈閃爍指示等功能。88SE9170是Marvell新推出的一款工業(yè)級(jí)PCIE轉(zhuǎn)SATA的控制芯片,兼容SATA3.0以下的SATA協(xié)議規(guī)范,支持SATA端口的FIS和COMMAND交換技術(shù),支持SATA常見的硬盤NCQ(全速命令隊(duì)列)、(高級(jí)主機(jī)控制器接口)接口模式等功能。

            88SE9170自帶一個(gè)支持SPI接口的512KB固件FLASH芯片,芯片上可由寫片器寫入BIOS和引導(dǎo)碼,通過軟件運(yùn)行將FLASH內(nèi)容映射到內(nèi)存指定地址來加載或由88SE9170上電時(shí)自動(dòng)加載,完成88SE9170片內(nèi)寄存器的配置。另外一種方式不需要SPI flash,每次上電時(shí)由處理器通過PCIE接口對(duì)88SE9170進(jìn)行寄存器配置,配置參數(shù)掉電丟失。缺點(diǎn)是該存儲(chǔ)模塊不能脫離CPU模塊獨(dú)立運(yùn)行,通用性不好。

            由88SE9170 通過SATA協(xié)議實(shí)現(xiàn)處理器和固態(tài)硬盤之間的數(shù)據(jù)傳輸和管理。數(shù)據(jù)傳輸速率可達(dá)2.5Gbps或5Gbps。模塊示意圖如圖2所示。

          3 軟件和驅(qū)動(dòng)設(shè)計(jì)

            嵌入式操作系統(tǒng)采用國外引進(jìn)的嵌入式實(shí)時(shí)操作系統(tǒng)Nucleus Plus。Nucleus Plus具有實(shí)時(shí)的、搶先的、多任務(wù)的內(nèi)核。95%的內(nèi)核代碼由C語言編寫,開放性好,一些開源的驅(qū)動(dòng)代碼和應(yīng)用代碼能很容易地添加到操作系統(tǒng)中。在嵌入式操作系統(tǒng)下運(yùn)行驅(qū)動(dòng)軟件可以分為三部分: P2020處理器PCIe設(shè)備初始化、88SE9170 SATA控制器驅(qū)動(dòng)初始化和文件系統(tǒng)實(shí)現(xiàn)。存儲(chǔ)系統(tǒng)的驅(qū)動(dòng)軟件框架結(jié)構(gòu)如圖3所示。

          3.1 PCIe設(shè)備初始化

            PCIe總線采用點(diǎn)對(duì)點(diǎn)的串行連接方式,每個(gè)PCIe設(shè)備都有獨(dú)立的數(shù)據(jù)傳輸通道,該通道對(duì)其他設(shè)備來說是封閉的,可避免其他設(shè)備的干擾。能有效提高智能繼電保護(hù)裝置的產(chǎn)品可靠性。P2020處理器可提供3個(gè)工作在2.5/5 GHz頻率下的串行PCIe控制器接口。本設(shè)計(jì)中P2020處理器的PCIe控制器初始化參考了UBOOT開源代碼的相關(guān)部分。在Nucleus 嵌入式操作系統(tǒng)啟動(dòng)時(shí), 根據(jù)硬件設(shè)計(jì),對(duì)應(yīng)設(shè)置P2020 處理器復(fù)用Serdes的配置。劃分PCIe控制器地址空間。初始化PCIe控制器的配置寄存器和中斷設(shè)置寄存器。PCIe控制器的初始化流程見圖4。

          3.2 88SE9170 SATA控制器驅(qū)動(dòng)初始化

          3.2.1 SATA控制器的PCIe設(shè)備注冊(cè)

            P2020處理器通過設(shè)置為RC模式的PCIe 控制器掃描PCIe總線上的設(shè)備,通過配置空間讀取88SE9170的設(shè)備ID和廠商ID等屬性,向PCIe控制器硬件驅(qū)動(dòng)層注冊(cè)。注冊(cè)完成后,處理器即可通過PCIE總線,對(duì)88SE9170的SATA控制器進(jìn)行初始化配置和固態(tài)硬盤訪問。

          3.2.2 SATA控制器的工作模式選擇

            88se9170 SATA控制器支持PCI-IDE模式和模式。IDE模式是為了兼容IDE硬盤。固態(tài)硬盤的首選模式。AHCI是由Inter指導(dǎo)下多家公司聯(lián)合研發(fā)的接口標(biāo)準(zhǔn)。AHCI在PCIe和串行SATA設(shè)備內(nèi)部邏輯間扮演標(biāo)準(zhǔn)接口的角色,通過PCI BAR5,實(shí)現(xiàn)原生的SATA功能,為設(shè)備制造商省去了單獨(dú)開發(fā)接口的工作。C語言編寫的開源AHCI接口驅(qū)動(dòng)能非常容易添加進(jìn)嵌入式Nucleus操作系統(tǒng)中。

          3.2.3 SATA控制器AHCI接口初始化

            在PCIE總線初始化完成后,可將AHCI的配置空間映射到BAR5寄存器指定的一段非緩存的內(nèi)存空間,通過內(nèi)存操作直接對(duì)AHCI的配置寄存器進(jìn)行初始化操作。AHCI標(biāo)準(zhǔn)指定了寄存器的偏移地址,偏移地址小于100h的為通用控制寄存器空間,大于100h的為SATA端口寄存器空間。88se9170 的HBA Capability 支持64位尋址、NCQ、端口復(fù)用等常見SATA控制器特性。SATA控制器初始化完成后,掃描SATA端口,建立物理連接,通過AHCI驅(qū)動(dòng)的讀寫函數(shù)完成對(duì)SATA接口固態(tài)硬盤的操作。AHCI初始化流程見圖5。

          3.3 文件系統(tǒng)實(shí)現(xiàn)

            現(xiàn)有智能繼電保護(hù)裝置為節(jié)省硬件資源,大都采用嵌入式環(huán)境下對(duì)FLASH存儲(chǔ)器支持較好的小巧精簡(jiǎn)的YAFFS或JFFS文件系統(tǒng)。這兩種文件系統(tǒng)在目前主流的桌面系統(tǒng)中都不能直接兼容,不利于移動(dòng)存儲(chǔ)設(shè)備的脫機(jī)運(yùn)行。為保證不同桌面系統(tǒng)下工具軟件對(duì)存儲(chǔ)設(shè)備能夠直接操作和讀寫,進(jìn)行數(shù)據(jù)分析,本設(shè)計(jì)選用了兼容性好的文件系統(tǒng),來有效管理寫入固態(tài)硬盤內(nèi)的數(shù)據(jù)。

            文件系統(tǒng)整體上可以劃分為四個(gè)部分:保留區(qū)、 FAT 表區(qū)、數(shù)據(jù)區(qū)和剩余扇區(qū), 這四部分在存儲(chǔ)設(shè)備格式化時(shí)被創(chuàng)建,并且在數(shù)據(jù)存儲(chǔ)期間不可被更改。FAT文件系統(tǒng)是完全免費(fèi)開源的,具有高效和代碼小的優(yōu)點(diǎn)。在P2020處理器上移植時(shí),根據(jù)處理器定義改動(dòng)FAT文件系統(tǒng)的數(shù)據(jù)類型和文件系統(tǒng)的配置頭文件ff.h,重新編寫DISK I/O層的驅(qū)動(dòng)函數(shù)。I/O函數(shù)主要有disk_initialize(),disk_read(),disk_status(),disk_write(),disk_ioctl(),get_fattime(),通過調(diào)用AHCI驅(qū)動(dòng)函數(shù),分別實(shí)現(xiàn)固態(tài)硬盤初始化、狀態(tài)獲取、讀寫、命令控制等功能。具體流程見圖6。

          4 測(cè)試驗(yàn)證

          4.1 固態(tài)硬盤數(shù)據(jù)讀寫測(cè)試

            選用固態(tài)硬盤支持的三種SATA命令:IDENTIFY、WRITE DMA EXT和READ DMA EXT來測(cè)試固態(tài)硬盤數(shù)據(jù)讀寫數(shù)據(jù)的可靠性。

            (1) IDENTIFY測(cè)試

            利用NUCLEUS 操作系統(tǒng)的測(cè)試代碼,操作SATA控制器AHCI I/O接口函數(shù)ahci_device_data_io(u8 port, u8 *fis, int fis_len, u8 *buf,int buf_len, u8 is_write),下發(fā)IDENTIFY FIS命令,函數(shù)返回256字節(jié)buf數(shù)據(jù)區(qū)IDENTIFY命令響應(yīng)數(shù)據(jù),該數(shù)據(jù)根據(jù)硬盤生產(chǎn)廠商不同,數(shù)據(jù)內(nèi)容也有差別,主要內(nèi)容有制造廠商的名稱、產(chǎn)品序列號(hào)、硬盤大小、支持的功能等參數(shù)。與選用的固態(tài)硬盤廠商提供的數(shù)據(jù)手冊(cè)相關(guān)內(nèi)容逐項(xiàng)核對(duì)后,內(nèi)容一致,測(cè)試正常。

            (2) 利用WRITE DMA EXT、READ DMA EXT命令循環(huán)測(cè)試讀寫固態(tài)硬盤數(shù)據(jù),對(duì)寫入和讀取相同硬盤扇區(qū)的數(shù)據(jù)進(jìn)行比較,判斷數(shù)據(jù)讀寫的正確性。部分相關(guān)測(cè)試代碼見如下:

            u8 user_buffer_read [2048];

            u8 user_buffer_write[2048];

            int sata_ahci_sectortest_read_write(u8 ahci_port,u8 is_write,u64 lba_start,u16 block_count);

            while(1)

            { …

            count=4;

            ata_ahci_sectortest_read_write(0,1,lba,count)//WRITE 2K 數(shù)據(jù)

            ata_ahci_sectortest_read_write(0,0,lba,count)//READ 2K 數(shù)據(jù)

            if(data_compare(&user_buffer_write,& user_buffer_read)!=0)

            { printf ("ahci: sata data error! Return!rn")

            Break;}

            lba=lba+4;

            …

            }

            通過測(cè)試代碼可對(duì)固態(tài)硬盤數(shù)據(jù)區(qū)進(jìn)行全覆蓋測(cè)試,根據(jù)1000次測(cè)試輸出結(jié)果來看,數(shù)據(jù)讀寫正常。

            隨后用大數(shù)據(jù)文件(>5G)的讀寫進(jìn)行測(cè)試,對(duì)讀寫時(shí)間進(jìn)行了統(tǒng)計(jì),計(jì)算下來,可以達(dá)到240MB/S的讀取速度,180MB/S的寫入速度,滿足設(shè)計(jì)要求。

          4.2 PCIE總線數(shù)據(jù)傳輸可靠性驗(yàn)證

            智能繼電保護(hù)裝置為機(jī)箱插件式結(jié)構(gòu),本設(shè)計(jì)中固態(tài)硬盤插件和應(yīng)用P2020處理器的CPU插件由PCIE總線經(jīng)機(jī)箱PCB背板擴(kuò)展后連接。PCIE的信號(hào)完整性和EMC耐受能力,將影響系統(tǒng)的穩(wěn)定性和可靠性。為驗(yàn)證硬件設(shè)計(jì)的可靠性,對(duì)整裝置進(jìn)行了靜電放電抗擾度、快速瞬變脈沖群抗擾度、浪涌抗擾度、阻尼震蕩波等多項(xiàng)EMC試驗(yàn)。試驗(yàn)結(jié)果表明,PCIE總線物理連接可靠,存儲(chǔ)系統(tǒng)無數(shù)據(jù)丟失和出錯(cuò)現(xiàn)象。

          4.3 具體智能變電站工程現(xiàn)場(chǎng)運(yùn)行驗(yàn)證

            采用新一代智能變電站保護(hù)軟硬件平臺(tái)設(shè)計(jì)的繼電保護(hù)和通信裝置,在吉林500kV包家智能變電站、重慶500kV玉屏智能變電站等多個(gè)新建智能變電站掛網(wǎng)運(yùn)行,現(xiàn)場(chǎng)運(yùn)行狀況良好。

          5 結(jié)束語

            本文介紹的基于PCIe實(shí)現(xiàn)固態(tài)硬盤存儲(chǔ)系統(tǒng)的設(shè)計(jì)方案,采用了應(yīng)用范圍廣泛和成熟的PCIe總線技術(shù)和基于SATA的AHCI驅(qū)動(dòng)接口規(guī)范,有效提高了智能繼電保護(hù)裝置的數(shù)據(jù)存儲(chǔ)性能。大容量存儲(chǔ)系統(tǒng)的應(yīng)用使智能繼電保護(hù)裝置集成大數(shù)據(jù)錄波、PMU、在線監(jiān)測(cè)等功能成為可能,特別是為站域和廣域集中式軟件功能復(fù)雜數(shù)據(jù)容量大的保護(hù)裝置提供了硬件實(shí)現(xiàn)基礎(chǔ)。此外,在PCIe總線硬件設(shè)計(jì)環(huán)節(jié)中,如何設(shè)計(jì)才能提高總線的抗電磁干擾能力也是值得研究的地方。

          參考文獻(xiàn):

            [1]劉振亞. 智能電網(wǎng)技術(shù)[M]. 中國電力出版社,2010

            [2]王齊. PCI Express 體系結(jié)構(gòu)導(dǎo)讀[M]. 北京機(jī)械工業(yè)出版社,2010

            [3]Serial ATA International Organization. Serial ATA Revision 3.0[S],2009

            [4]PCISIG. PCI Express Base Specification Revision 2.0[S],2009

            [5]Serial ATA AHCI 1.3specification [Z],2008,6

            [6]Freescale Semiconductor Corp. Qor IQ TM P2020 Integrated Pr-ocessor Reference Manual[M].America: Freescale Semicon-ductor,2009

            [7]Freescale Semiconductor Corp. Power PCTM e500 Core Family Reference Manual[[M]. America: Freescale Semiconductor,2005


          本文來源于中國科技期刊《電子產(chǎn)品世界》2016年第3期第64頁,歡迎您寫論文時(shí)引用,并注明出處。



          關(guān)鍵詞: PCIe SSD SATA控制器 AHCI FAT 201604

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉