• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Zynq的固態(tài)存儲系統(tǒng)設計和實現(xiàn)

      2020-01-07 01:09:48蔡德林
      關(guān)鍵詞:枚舉固態(tài)嵌入式

      吳 祥,彭 衛(wèi),蔡德林

      基于Zynq的固態(tài)存儲系統(tǒng)設計和實現(xiàn)

      吳 祥1,彭 衛(wèi)2,蔡德林2

      (1.安徽大學 電子信息工程學院,安徽 合肥 230601;2.中國電子集團第38研究所 微波研發(fā)中心,安徽 合肥 230031)

      針對傳統(tǒng)的存儲介質(zhì)對高速數(shù)據(jù)流進行存儲時可能出現(xiàn)的低速率以及高延時的情況,通過設計固態(tài)存儲系統(tǒng)以提高系統(tǒng)的存儲性能?;赬ilinx推出的Zynq平臺進行設計,Zynq作為行業(yè)內(nèi)第一個成功地將ARM和FPGA整合到一起的可擴展處理平臺,在FPGA部分設計PCIe接口和數(shù)據(jù)接口分別驅(qū)動固態(tài)硬盤和存儲數(shù)據(jù)流,在ARM部分移植嵌入式Linux操作系統(tǒng)并實現(xiàn)NVMe(非易失性存儲器)驅(qū)動和數(shù)據(jù)接口驅(qū)動。項目設計使用了PCIe接口方案的IP核簡化了對PCIe鏈路部分的設計,通過移植嵌入式Linux使系統(tǒng)支持文件系統(tǒng)以及多線程的能力。最后通過驗證系統(tǒng)可將PL端的高速數(shù)據(jù)流存入SSD(固態(tài)硬盤)中,相比于現(xiàn)有關(guān)于存儲系統(tǒng)的設計,縮短了系統(tǒng)的開發(fā)周期,提高了系統(tǒng)的速度和實用性。

      PCIe;固態(tài)存儲;Petalinux;狀態(tài)機;Zynq;DMA控制器

      在對高速大量的數(shù)據(jù)流進行存儲時,使用傳統(tǒng)的機械硬盤或片上存儲芯片存儲的速度和存儲的容量都很難達到要求,然而SSD(固態(tài)硬盤)有著存儲速度快、體積小、使用壽命長、無機械噪音和抗干擾能力強等特點更加適合在工業(yè)環(huán)境中應用,并且隨著NAND Flash成本的進一步降低,SSD這一新型存儲器經(jīng)歷了爆發(fā)式發(fā)展和應用[1]。通過研究發(fā)現(xiàn)現(xiàn)有的關(guān)于固態(tài)存儲系統(tǒng)的設計主要是對PCIe接口部分的設計以及在standalone(裸板)下實現(xiàn)NVMe[2]驅(qū)動,然而對于PCIe接口和驅(qū)動部分的開發(fā)有著難度大和時間周期長等問題,在系統(tǒng)結(jié)構(gòu)方面也沒有預留對外的數(shù)據(jù)接口無法對外部的數(shù)據(jù)流進行存儲,不能體現(xiàn)出系統(tǒng)的完整性缺乏靈活性。本文通過使用Xilinx的PCIe接口方案[3]來簡化PCIe接口的設計,并增加數(shù)據(jù)接口來接收外部數(shù)據(jù);在軟件方面,通過實現(xiàn)NVMe驅(qū)動和數(shù)據(jù)接口部分驅(qū)動實現(xiàn)對高速數(shù)據(jù)流的存儲。

      1 關(guān)鍵技術(shù)介紹

      1.1 Zyng平臺介紹

      Zynq平臺是由Xilinx公司推出的行業(yè)內(nèi)第一個可擴展處理平臺,可為高端嵌入式應用提供性能處理與計算[4]。Zynq在結(jié)構(gòu)上可分為2個部分:PS(processing system)和PL(programmable logic),其PS部分和傳統(tǒng)的ARM處理器內(nèi)部結(jié)構(gòu)一致,PL部分則是傳統(tǒng)的FPGA。但相較于傳統(tǒng)的ARM平臺外設固定,Zynq最大的特點就是可以利用PL部分來自定義外設,這也是Zynq靈活性的一個具體表現(xiàn)。

      本文系統(tǒng)設計基于Zynq 7035芯片,其PL部分集成了4路的高速GTX收發(fā)器,支持PCIe Gen2×4,可以配置為PCIe Root Complex(根復合體)模式來驅(qū)動PCIe接口的固態(tài)盤,PS部分的雙核ARM處理器架構(gòu)為V7,主頻可根據(jù)需要進行配置最高可達800 MHz。

      1.2 PCIe總線介紹

      PCIe總線使用串行差分信號來傳輸數(shù)據(jù)具有傳輸帶寬高、可靠性高、抗干擾強以及成本低等特點。在PCIe鏈路的拓撲結(jié)構(gòu)中可將PCIe設備分為Root Complex(根復合體)、Switch(交換開關(guān))和Endpoint(端點設備)3個部分。

      PCIe總線和絕大多數(shù)總線一樣也采用分層來實現(xiàn),PCIe總線協(xié)議定義了三層從上到下依次為:事物層(transaction layer)、數(shù)據(jù)鏈路層(data link layer)、物理層(physical layer)[5],每一層的功能不同但下層總是為上層提供服務。其中事物層的主要職責是創(chuàng)建或解析TLP(transaction layer packet)和流量控制等,數(shù)據(jù)鏈路層主要是負責創(chuàng)建或解析DLLP(data link layer packet)、檢錯和糾錯等,物理層則是處理所有的Packet數(shù)據(jù)的物理傳輸。

      2 PL部分邏輯設計

      圖1所示為系統(tǒng)結(jié)構(gòu)框圖,對于固態(tài)存儲系統(tǒng)的設計可分為2個部分來進行,在PL部分使用FPGA資源設計PCIe接口子系統(tǒng)和外部數(shù)據(jù)接口模塊,當邏輯部分設計完成后再在PS部分完成NVMe驅(qū)動和數(shù)據(jù)接口驅(qū)動設計。系統(tǒng)的PL和PS通過2個高速接口AXI_HP0和AXI_HP1進行高速的數(shù)據(jù)傳輸,PS通過AXI_GP接口來對PL中各模塊控制。

      圖1 固態(tài)存儲系統(tǒng)結(jié)構(gòu)圖

      2.1 PCIe接口子系統(tǒng)設計

      2.1.1 AXI PCIe橋接器

      在Xilinx提供的多個PCIe接口解決方案中都包含一個名為Integrated Block For PCIe的IP核,Integrated Block For PCIe是Zynq芯片集成的PCIe硬核用來實現(xiàn)PCIe協(xié)議的物理層和數(shù)據(jù)鏈路層,其傳輸數(shù)據(jù)流是Unmapped(無地址映射)型的TLP數(shù)據(jù)包,在與PS進行數(shù)據(jù)傳輸時要使用AXI Bridge來進行地址映射以及對TLP數(shù)據(jù)包的封裝和解析,在Vivado中Integrated Block For PCIe和AXI Bridge組合為AXI Memory Mapped to PCIe,也稱為AXI PCIe橋接器[6]。使用AXI PCIe橋接器可簡化PL部分對PCIe接口子系統(tǒng)的設計,AXI PCIe橋接器既可配置為EP模式也可配置為RC模式,本文Zynq作為主機來驅(qū)動SSD,因此AXI PCIe橋接器應被配置為RC模式。

      AXI PCIe橋接器結(jié)構(gòu)如圖2所示,主要由3個部分組成:Integrated Block For PCIe、Master AXI Bridge和Slave AXI Bridge分別連接AXI地址域空間和PCIe地址域空間,2個不同的地址空間之間進行訪問需要地址轉(zhuǎn)換的過程,當EP設備對主機發(fā)起訪問時,發(fā)出的TLP請求首先被PCIe硬核接收,然后由Master Bridge(主橋)進行地址翻譯將PCIe域地址轉(zhuǎn)換成相應的AXI域地址,使得EP訪問到正確的AXI域中地址。當RC對EP的BAR(基地址寄存器)空間發(fā)起訪問時,首先RC訪問的AXI域地址請求被SlaveBridge(從橋)接收,并且將其翻譯成PCIe域地址,然后由PCIe硬核將訪問請求封裝成TLP數(shù)據(jù)包,最后發(fā)送給PCIe設備完成對EP設備的BAR空間訪問。PCIe硬核實現(xiàn)了PCIe總線協(xié)議的物理層,主要完成創(chuàng)建和解析TLP數(shù)據(jù)包。

      圖2 AXI PCIe橋接器

      2.1.2 DMA控制器

      DMA(直接內(nèi)存訪問)控制器的使用可大大減少處理器的工作負荷,處理器只需要只需指定源地址、目的地址、傳輸字節(jié)數(shù)和傳輸方向,DMA控制器就可以在無CPU控制下進行數(shù)據(jù)搬移,在搬移結(jié)束后通過中斷告知CPU結(jié)果即可,這很大程度地提高了系統(tǒng)的性能[7]。

      AXI PCIe橋接器完成了數(shù)據(jù)從Unmapped到Mapped的映射,CDMA(AXI Central DMA Controller,AXI中樞控制器)在PL部分使用FPGA邏輯資源實現(xiàn),可將PL端Mapped型數(shù)據(jù)流傳輸?shù)絇S端內(nèi)存中[8],因此選擇CDMA來完成高性能的數(shù)據(jù)搬移是最合適的方法。

      2.2 數(shù)據(jù)接口設計

      設計數(shù)據(jù)接口來接收外界數(shù)據(jù)流,針對不同的系統(tǒng)應用,對數(shù)據(jù)模塊進行設計就可實現(xiàn)對不同接口(光口和以太網(wǎng)等)的數(shù)據(jù)流存儲,這更能體現(xiàn)系統(tǒng)的靈活性。

      2.2.1 數(shù)據(jù)模塊

      在PL端設計一個數(shù)據(jù)模塊,該模塊是自定義的具有AXI4接口的IP核,在該模塊中使用一個狀態(tài)機來控制其產(chǎn)生連續(xù)的32位數(shù)據(jù),狀態(tài)機的狀態(tài)轉(zhuǎn)換如圖3所示。其中Ready、Valid、Tdata和Tlast均是AXI4接口中的信號,Ready為高電平表示從設備準備就緒可以接受數(shù)據(jù),Valid為高電平表示此時發(fā)送的數(shù)據(jù)為有效數(shù)據(jù),當所發(fā)送的數(shù)據(jù)是最后一個數(shù)據(jù)的時候Tlast會從低電平變成高電平,Tdata為發(fā)送的數(shù)據(jù)且只有當Ready和Valid均為高電平時數(shù)據(jù)才會被接收方成功接收。

      圖3 數(shù)據(jù)模塊狀態(tài)轉(zhuǎn)換圖

      在狀態(tài)機中,空閑態(tài)時valid為低電平此時輸出數(shù)據(jù)為無效數(shù)據(jù);當按鍵被按下后跳轉(zhuǎn)到等待發(fā)送數(shù)據(jù)態(tài),如果此時接收方Ready為高電平,表示準備好接受數(shù)據(jù),此時跳轉(zhuǎn)到數(shù)據(jù)發(fā)送態(tài);在數(shù)據(jù)發(fā)送態(tài)下,數(shù)據(jù)模塊從Tdata為1開始連續(xù)向從機發(fā)送數(shù)據(jù),當Tdata的值大于786432時,立即跳轉(zhuǎn)到停止發(fā)送態(tài),并且將Tlast拉高表示786432為最后一個數(shù)據(jù);最后狀態(tài)機重新回到空閑態(tài),等待下一次按鍵被按下。

      2.2.2 接口模塊

      數(shù)據(jù)接口模塊通過DMA控制器來將PL端的高速數(shù)據(jù)流搬移到PS端的內(nèi)存中,F(xiàn)IFO模塊是一種先進先出的數(shù)據(jù)緩存器,在對不同速率的模塊之間的數(shù)據(jù)進行傳輸時可以作為緩沖器進行調(diào)節(jié)[9]。數(shù)據(jù)模塊產(chǎn)生的數(shù)據(jù)首先放入FIFO中緩存,當主機發(fā)起數(shù)據(jù)搬移命令后,F(xiàn)IFO中的數(shù)據(jù)則通過DMA搬移到PS端內(nèi)存中。

      3 PCIe設備枚舉

      PCIe接口子系統(tǒng)的作為系統(tǒng)中重要的一部分,PCIe鏈路能否成功建立可以通過PCIe設備枚舉來得到驗證,在裸板環(huán)境下使用Xilinx官方提供的SDK來對AXI PCIe橋接器進行配置,并對系統(tǒng)中EP設備進行枚舉。為使系統(tǒng)的性能更穩(wěn)定,PCIe鏈路的參考時鐘由可編程時鐘芯片SI5338P提供,PS端通過IIC接口對時鐘芯片進行配置,使其輸出穩(wěn)定的100 MHz PCIe鏈路參考時鐘。

      首先通過Export Hardware功能將Vivado設計中的HDF(硬件描述文件)和編譯完成的bitstream文件導入到SDK中,再基于此設計裸板下的PCIe設備枚舉程序,裸板下對PCIe設備的枚舉流程如圖5所示。在枚舉函數(shù)中首先需定義AXI PCIe橋接器的實例,其類型為:

      圖4 PCIe設備枚舉流程

      其中Config是類型為Struct XAxiPcie_Config的變量,其包含了IP的硬件配置信息:

      當時鐘芯片配置成功后,SI5338P將為PCIe鏈路提供穩(wěn)定的100 MHz的差分時鐘,XAxiPcie_LookupConfig()函數(shù)通過唯一的設備ID來查找IP核配置信息,根據(jù)得到的配置信息來對Struct XAxiPcie變量進行初始化,初始化成功后依據(jù)成員變量IncludeRootComplex的值判斷IP是否配置為RC模式,若未被配置為RC模式則無法進行設備的枚舉串口打印枚舉失敗并且退出函數(shù),若IP被配置為RC模式,則通過XAxiPcie_IsLinkUp()函數(shù)來讀取BAR中鏈路狀態(tài)寄存器判斷鏈路是否建立成功,鏈路建立成功后讀取IP核寄存器的值,包括總線號、設備號、功能號和端口號,并對IP中可寫寄存器寫入數(shù)據(jù)再讀回比較讀寫數(shù)值是否一致,最后枚舉系統(tǒng)中的PCIe設備并通過串口將這些設備的信息打印出來并退出枚舉函數(shù)。

      4 驅(qū)動開發(fā)

      在Linux系統(tǒng)中,驅(qū)動程序作為低層硬件和上層應用的橋梁,硬件設備在Linux下能夠正常工作必須要開發(fā)對應的驅(qū)動程序,Zynq平臺采用的是FPGA+ARM的架構(gòu),在FPGA部分設計的IP核也必須要有驅(qū)動程序的支持才可以在Linux中正常運行[10]。NVMe官方已開放Linux環(huán)境下的NVMe驅(qū)動源碼,因此本節(jié)主要描述對數(shù)據(jù)接口部分驅(qū)動的開發(fā)。為使DMA控制器可正常工作需要設計嵌入式Linux系統(tǒng)下的DMA驅(qū)動程序,在早期發(fā)布的Linux內(nèi)核中,各種嵌入式處理器對DMA驅(qū)動框架是不統(tǒng)一的,都有自己的DMA編程接口,這給開發(fā)者帶來了很多不便,為了改變這一局面,Linux內(nèi)核開發(fā)了一個統(tǒng)一的DMA子系統(tǒng)—dmaengine[11](DMA引擎)。

      在DMA驅(qū)動中定義一個struct dma_channel結(jié)構(gòu)體類型,此結(jié)構(gòu)體包含了一個DMA通道所涉及到的所有數(shù)據(jù)struct dma_channel結(jié)構(gòu)體類型定義如下:

      DMA驅(qū)動的工作流程可以分為以下幾個步驟:

      (1)使用API函數(shù)dma_request_slave_channel()向DMA引擎申請一個DMA接收通道,指定DMA傳輸?shù)姆较虿⒃趦?nèi)存中為其分配一塊適用于DMA操作的內(nèi)存。

      (2)使用API函數(shù)device_prep_slave_sg()創(chuàng)建傳輸描述符chan_desc,對其進行初始化并指定回調(diào)函數(shù),當DMA操作完成后回調(diào)函數(shù)將被調(diào)用。

      (3)使用API函數(shù)dmaengine_submit()將初始化過的傳輸描述符chan_desc提交給DMA引擎。

      (4)使用API函數(shù)dma_async_issue_pending()開始對指定的DMA通道傳輸。

      (5)等待DMA傳輸完成。

      除此之外,驅(qū)動中還包括驅(qū)動的初始化函數(shù),驅(qū)動卸載函數(shù)。

      5 嵌入式Linux系統(tǒng)以及驅(qū)動的移植

      5.1 Petalinux的安裝

      Petalinux由Xilinx公司開發(fā),在Linux環(huán)境下對嵌入式Linux操作系統(tǒng)進行開發(fā)的工具,不僅提供了Linux內(nèi)核(Kernel)、啟動文件(U-boot)、文件系統(tǒng)以及嵌入式應用程序的配置和編譯方法,還整合了同步Vivado FPGA硬件設計工程到Petalinux中的方法,方便了軟硬件協(xié)同設計[12]。

      在安裝Petalinux之前需要安裝依賴庫:lia32-libs、ncurses-dev、gcc-multilib、libssl-dev等,安裝成功后使用以下命令配置Petalinux環(huán)境變量腳本,每一次使用Petalinux工具之前都要進行環(huán)境變量的配置。

      #source /setting.sh

      5.2 Linux內(nèi)核及文件系統(tǒng)的配置

      在Petalinux導入HDF文件并解析HDF文件后,使用內(nèi)核配置命令來對Linux內(nèi)核進行配置,命令如下:

      #petalinux-config -c kernel

      在內(nèi)核配置的圖形界面下使能PCI總線支持,Xilinx AXI PCIe host bridge,NVMe塊設備等驅(qū)動的支持,完成配置保存并退出。

      使用文件系統(tǒng)配置命令來配置Linux文件系統(tǒng),在文件系統(tǒng)配置界面下需要配置SSD的功能單元,命令如下:

      #petalinux-config -c rootfs

      5.3 DMA驅(qū)動模塊的添加

      DMA驅(qū)動是用戶開發(fā)的驅(qū)動模塊,需要使用Petalinux來添加到Linux系統(tǒng)中,大體流程如下[13]。

      (1)使用Petalinux創(chuàng)建一個驅(qū)動模塊,此驅(qū)動模塊為自定義驅(qū)動基本框架。

      (2)將開發(fā)的DMA驅(qū)動dma_driver.c等頭文件復制到驅(qū)動模塊文件夾下。

      (3)編寫驅(qū)動的Makefile文件。

      (4)向設備樹文件中添加DMA驅(qū)動的設備樹節(jié)點。

      (5)用Petalinux編譯生成內(nèi)核鏡像文件image.ub(內(nèi)核鏡像文件)和BOOT.BIN(啟動鏡像文件)。

      在使用DMA設備之前要手動加載驅(qū)動進入內(nèi)核,加載進內(nèi)核后在/dev目錄下可以看到一個名為dma_rx的字符設備。通過編寫上層應用,在應用程序中對dma_rx字符設備進行操作就可通過DMA將PL端數(shù)據(jù)搬移到PS端內(nèi)存中。

      6 系統(tǒng)測試

      本文的實驗使用Zynq 7035開發(fā)板搭建項目平臺,主機端配置為win 7操作系統(tǒng),8 GB內(nèi)存,I5-5400 CPU,在主機端虛擬機中安裝Ubantu14.01操作系統(tǒng)來使用Pealinux來對嵌入式Linux操作系統(tǒng)的裁剪和移植,將使用Petalinux工具生成的啟動文件U-BOOT和鏡像文件IMAGE拷貝到SD卡的FAT分區(qū)中,將文件系統(tǒng)拷貝到SD卡的EXT-4分區(qū)中,最后接通電源開機運行。

      ILA(邏輯分析儀)是Vivado中對系統(tǒng)進行調(diào)試時重要的工具,對數(shù)據(jù)模塊插入Vivado邏輯分析IP核來觀察模塊發(fā)送的數(shù)據(jù),圖5為按鍵按下后抓取的數(shù)據(jù)波形,模塊從1開始連續(xù)地發(fā)送數(shù)據(jù)接收方Ready信號一直為高,數(shù)據(jù)可正常被接收。

      圖5 開始寫數(shù)據(jù)到FIFO

      圖6為數(shù)據(jù)模塊連續(xù)發(fā)送數(shù)據(jù)直到786432,Tlast信號為高表示為最后一個數(shù)據(jù),Ready信號為高接收方可正確接受。數(shù)據(jù)模塊可以連續(xù)向fifo發(fā)送從1到786 432,總共786 432個數(shù)據(jù),每個數(shù)據(jù)位寬為32位,數(shù)據(jù)量為3 MB。

      圖6 停止寫數(shù)據(jù)到FIFO

      圖7為PCIe枚舉函數(shù)通過串口打印出系統(tǒng)中的PCIe設備,包括AXI PCIe Bridge IP核以及PCIe接口的固態(tài)盤,并分別讀取它們的總線號、設備號、功能號和廠家ID。

      圖7 PCIe枚舉

      在Ubuntu系統(tǒng)中,使用交叉編譯工具GCC將應用程序編譯成在嵌入式Linux環(huán)境中運行的二進制文件,并通過Tftp服務器將文件下載到開發(fā)版文件系統(tǒng)中。程序運行結(jié)果如圖8所示,PL端的數(shù)據(jù)存入了固態(tài)盤的data文件中,將其通過Tftp上傳到主機端,圖9為data文件中頭和尾部分數(shù)據(jù),接收到的32位數(shù)據(jù)均以二進制格式存入文件中,文件大小為3 MB其中連續(xù)保存了786 432個數(shù)。

      圖8 程序運行結(jié)果

      圖9 Data文件中二進制數(shù)據(jù)

      7 結(jié)論

      本文基于Zynq平臺,通過軟硬件協(xié)同設計的方法在PL端分別完成了PCIe接口和數(shù)據(jù)接口的設計,在PS端使用Petalinux移植嵌入式Linux操作系統(tǒng)并完成Linux下的驅(qū)動開發(fā),最終實現(xiàn)了對外部數(shù)據(jù)的存儲。不同于采用裸板開發(fā)主要針對PCIe接口子系統(tǒng)部分的設計,本文設計的存儲系統(tǒng)預留對外的高速數(shù)據(jù)接口更能體現(xiàn)系統(tǒng)的整體性,在不同的應用中只需對數(shù)據(jù)模塊進行重新設計就可以完成系統(tǒng)的整體設計,在Linux的支持下此系統(tǒng)也可進行更為復雜的任務處理具有更高的靈活性。

      [1]陳思揚. 基于FPGA的NVMe接口設計[D]. 西安: 西安電子科技大學, 2015.

      [2] NVM Express Inc. NVM Express[EB/OL]. http://www. nvmexpress.org/about/,2018.

      [3] Xilinx Inc.pcie central dma subsystem[EB/OL]. http:// china.xilinx.com/support/documentation/application_notes/xapp1171-pcie-central-dma-subsystem.pdf,2019.

      [4] 陸啟帥, 陸彥婷, 王地. Xilinx Zynq SoC與嵌入式Linux設計實戰(zhàn)指南[M]. 北京: 清華大學出版社, 2014.

      [5]Revision 3.0,PCI Express Base Specification[S].

      [6]LiuYu-feng,Xu De-gang, Cai Hai-ming, et al.System Architecture Design of PCIe Root Complex Based on SOPC[C]. Proccedings of the 36th China Control Conference,USA:IEEE Conference Publi -cation,2017.

      [7] 郭志紅,石春, 吳剛.嵌入式以太網(wǎng)通信系統(tǒng)設計與實現(xiàn)[J].小型微型計算機系統(tǒng),2015, 36(4):754-758.

      [8] Cao Ying-jie, Zhu Yong-xin, Wang Xu,et al. An FPGA based PCI-E Root Complex Architecture for Standalone SOPCs[C]. International Sympo-sium On Field- programmable Custom Computing Machines, USA: IEEE Conference Publication,2013.

      [9] 黃萬偉,董永潔.Xilinx FPGA應用進階[M].北京:電子工業(yè)出版社,2014.

      [10] Wang Long-fei, Zhao Xiao-qing, et al. Zynq-based Solid-State Drive Prototyping Platform for Emerging Non-Volatile Memories[C].2016 13th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT)Proceeding,USA:IEEE Conference Publication, 2016.

      [11] 姜先剛,劉洪濤.嵌入式Linux驅(qū)動開發(fā)教程[M]. 北京: 電子工業(yè)出版社,2017.

      [12] 李朗,張索非,楊浩.基于Zynq-7000的視頻處理系統(tǒng)框架設計[J].計算機技術(shù)與發(fā)展,2017, 27(5):192-195.

      [13] Xilinx Inc.Xilinx Petalinux SDK user guide:getting started guide[EB/OL].https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_2/ug1144-petalinux-tools-reference-guide.pdf, 2018.

      Design and Implementation of Solid-state Storage System Based on Zynq

      WU Xiang1,PENG Wei2, CAI De-lin2

      (1.School of Electronics and Information Engineering, Anhui University, Hefei 230601, China;2.Microwave Research and Development Center, The 38th Institute of China Electronic Corporation, Hefei 230031, China)

      In the data acquisition and processing system, storing a large number of high-speed data streams is one of the key points of system design. Traditional HDD has some deficiencies, such as low storage rate, high storage delay, poor system stability and so on. Compared with the insufficiency of HDD, NVMe SSD has the characteristics of high storage rate, low storage delay and small size. This paper is based on the Zynq platform of Xilinx. Zynq is the first extensible processing platform to successfully integrate ARM and FPGA. In the PL of Zynq, the PCIe interface and data interface are designed, which are respectively used to connect the PCIe interface SSD and external data stream. The embedded Linux operating system is transplanted in the PS of the Zynq and the NVMe drive and data interface drive are realized. By using the IP core of PCIe interface, the design of the PCIe link part is simplified. By transplanting embedded Linux, file system and multi-threading capability are supported in the system. Finally through verification, the high-speed data stream can be stored in SSD. Compared with the existing design of storage system, the system designed in this paper has the characteristics of high storage performance, strong practicability and high flexibility.

      PCIe; solid-state storage; Petalinux; state machine; Zynq; DMA controller

      TP368

      A

      1674-3261(2020)01-0012-06

      2019-10-17

      安徽省高校自然科學研究重大項目(KJ2017ZD03);安徽省教育廳自然科學重點項目(KJ2018A0019)

      吳 祥(1994-),男,安徽銅陵人,碩士生。

      蔡德林(1965-),男,安徽安慶人,研究員。

      優(yōu)先出版地址:http://kns.cnki.net/kcms/detail/21.1567.T.20191227.1019.010.html

      責任編校:孫 林

      猜你喜歡
      枚舉固態(tài)嵌入式
      基于理解性教學的信息技術(shù)教學案例研究
      速讀·上旬(2022年2期)2022-04-10 16:42:14
      一種高效的概率圖上Top-K極大團枚舉算法
      固態(tài)Marx發(fā)生器均流技術(shù)研究
      Sn摻雜石榴石型Li7La3Zr2O12固態(tài)電解質(zhì)的制備
      陶瓷學報(2021年1期)2021-04-13 01:33:40
      透明陶瓷在固態(tài)照明中的應用進展
      陶瓷學報(2021年1期)2021-04-13 01:32:54
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
      基于太陽影子定位枚舉法模型的研究
      寬禁帶固態(tài)功放在導航衛(wèi)星中的應用
      Altera加入嵌入式視覺聯(lián)盟
      青岛市| 南昌市| 石屏县| 襄垣县| 玉山县| 武强县| 曲周县| 平罗县| 郁南县| 石景山区| 朝阳区| 光山县| 嘉义县| 开平市| 什邡市| 刚察县| 深水埗区| 嘉义县| 太仓市| 板桥市| 康保县| 溧水县| 叙永县| 宁波市| 南江县| 福清市| 浮梁县| 喀什市| 夏河县| 五莲县| 卫辉市| 姚安县| 建始县| 东平县| 西藏| 靖边县| 龙里县| 论坛| 崇阳县| 潞西市| 七台河市|