亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MPMC的高性能DMA控制器的設(shè)計*

        2017-06-01 12:19:24楊潔明趙寶峰
        電子器件 2017年3期
        關(guān)鍵詞:扇區(qū)寄存器硬盤

        劉 佳,楊潔明,趙寶峰

        (1.山西職業(yè)技術(shù)學(xué)院電子信息工程系,太原 030006;2.太原理工大學(xué)機械工程學(xué)院,太原 030024;3.太原理工大學(xué)礦業(yè)工程學(xué)院,太原 030024)

        基于MPMC的高性能DMA控制器的設(shè)計*

        劉 佳1,2,楊潔明2,趙寶峰3*

        (1.山西職業(yè)技術(shù)學(xué)院電子信息工程系,太原 030006;2.太原理工大學(xué)機械工程學(xué)院,太原 030024;3.太原理工大學(xué)礦業(yè)工程學(xué)院,太原 030024)

        依據(jù)ATA6協(xié)議,在FPGA上設(shè)計對IDE硬盤的控制模塊,同時使用Xilinx的多端口內(nèi)存控制器MPMC IP核,實現(xiàn)能夠訪問外部DDR2_SDRAM的NPI接口控制器。在此基礎(chǔ)上,利用嵌入式FPGA開發(fā)環(huán)境,設(shè)計頂層控制IP核,完成硬盤控制器與NPI接口的有效銜接。在MicroBlaze的控制下,數(shù)據(jù)在硬盤與DDR2_SDRAM之間直接高速傳輸,實現(xiàn)了高性能DMA控制器的功能,從而提高了主機CPU利用率。設(shè)計在Xilinx的XUPV5_LX110T開發(fā)平臺得到了驗證。

        ATA硬盤;FPGA;MPMC;NPI接口

        嵌入式系統(tǒng)蓬勃發(fā)展,而基于FPGA的可配置嵌入式系統(tǒng)開發(fā)技術(shù)[1]不僅滿足了嵌入式系統(tǒng)要求,而且降低了設(shè)計難度、縮短了開發(fā)周期[2]。但由于嵌入式FPGA片內(nèi)資源有限,使得片內(nèi)系統(tǒng)與外設(shè)的大量數(shù)據(jù)交換成為限制系統(tǒng)性能的因素。為解決這一問題,本文在ATA6協(xié)議的基礎(chǔ)上,借助FPGA開發(fā)板的通用IO端口[3],利用Xilinx公司提供的多端口內(nèi)存控制器MPMC(Multi-Port Memory Controller)IP核[4],設(shè)計了一款高性能的DMA IDE硬盤控制器,在此基礎(chǔ)上,在Xilinx嵌入式開發(fā)平臺XPS下設(shè)計頂層控制IP核模塊,使Microblaze處理器能夠通過PLB總線將讀寫命令發(fā)送給頂層控制模塊,有效調(diào)度底層接口,實現(xiàn)IDE硬盤數(shù)據(jù)與DDR2_SDRAM進行DMA操作[5],從而提高系統(tǒng)處理數(shù)據(jù)的速度,增強系統(tǒng)性能。

        1 系統(tǒng)介紹

        本文中FPGA開發(fā)板選用采用Xilinx的XUPV5_LX110T[6],包含兩片Xilinx XCF32P Platform Flash PROMs(32 Mbyte each)和可配置64位的256 Mbyte DDR2 SODIMM外部存儲器、IO端口等設(shè)備。

        設(shè)計主要包括3個模塊:頂層控制IP核接口模塊、NPI接口控制模塊、IDE硬盤控制器模塊。總體框架如圖1所示。

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

        圖1中,NPI接口控制模塊實現(xiàn)與外部DDR2_SDRAM的數(shù)據(jù)傳輸,ATA硬盤控制器模塊實現(xiàn)對IDE硬盤的操作,頂層控制模塊接收來自PLB總線的命令,同時實現(xiàn)對ATA硬盤控制器和NPI接口控制器的有效銜接。

        在XPS環(huán)境下,搭建基于32位的MicroBlaze處理器的嵌入式FPGA系統(tǒng),并添加MPMC IP核及DDR2_SDRAM、串口等外部設(shè)備,PLB總線等設(shè)備由系統(tǒng)自動生成。系統(tǒng)搭建時需要配置MPMC,將PORT0配置成PLB總線接口,將PORT1配置成NPI接口,并讀寫模式設(shè)置成SRL,內(nèi)存選擇板上型號為mt4htf3264-53e的256M DDR2_SDRAM。

        2 DMA控制器功能模塊的設(shè)計

        2.1 ATA硬盤控制器模塊

        硬盤控制器主要是在分析ATA-6協(xié)議[7]基礎(chǔ)上,實現(xiàn)對指令接收及解析、硬盤訪問時序控制、系統(tǒng)監(jiān)控及差錯處理、傳輸數(shù)據(jù)以及CRC校驗等操作。

        ATA硬盤控制器控制的接口寄存器及信號包括:

        (1)命令塊寄存器,主機通過該寄存器讀取設(shè)備的狀態(tài)或向設(shè)備傳輸命令,其主要包括:柱面號高(Cylinder High)8位寄存器、柱面號低(Cylinder Low)8位寄存器、設(shè)備/磁頭(Device/Head)寄存器、扇區(qū)數(shù)(Sector Count)寄存器、扇區(qū)號(Sector Number)寄存器、命令(Command)寄存器、狀態(tài)(Status)寄存器、特征(Features)寄存器、錯誤(Error)寄存器、數(shù)據(jù)(Data)寄存器。

        (2)控制塊寄存器,該寄存器主要用來替換狀態(tài)或控制設(shè)備,其主要包括:設(shè)備控制(Device Control)寄存器、備用狀態(tài)(Alternate Status)寄存器、驅(qū)動器地址(Drive Address)寄存器。

        (3)ATA控制器接口信號包括:選擇控制寄存器或是設(shè)備寄存器CS(1:0);寄存器或數(shù)據(jù)端口選擇信號DA(2:0);雙向8 bit或16 bit數(shù)據(jù)端口DD(15:0);寄存器讀、主機準備好數(shù)據(jù)傳輸、主機向設(shè)備傳輸UDMA數(shù)據(jù)控制信號DIOR_/HDMARDY_/HSTROBE;寄存器寫、終止UDMA數(shù)據(jù)傳輸控制信號DIOW_/STOP;主機響應(yīng)設(shè)備DMARQ請求信號DMACK_;設(shè)備準備好與主機傳輸數(shù)據(jù)DMARQ;設(shè)備數(shù)據(jù)傳輸控制、設(shè)備聲明準備好接收數(shù)據(jù)以及設(shè)備控制UDMA數(shù)據(jù)到主機信號IORDY/DDMARY_/DSTROBE;主機對設(shè)備進行硬件復(fù)位信號RESET。圖2為硬盤控制器模塊。

        命令解析模塊監(jiān)控并接收上層發(fā)送的命令代碼,然后將指令所需的基本參數(shù)鎖存并對硬盤進行相應(yīng)操作,本設(shè)計采用100 MHz的系統(tǒng)時鐘。ATA硬盤控制器的主要控制模塊為硬盤訪問控制模塊,其主要包括數(shù)據(jù)傳輸控制和硬盤寄存器讀寫控制兩部分。

        圖2 硬盤控制器模塊

        CRC校驗?zāi)K用來判斷傳輸數(shù)據(jù)的可靠性,在本設(shè)計中利用16位的CRC校驗算法來實現(xiàn),差錯監(jiān)控模塊實現(xiàn)指令執(zhí)行錯誤等異常情況的處理。片內(nèi)BRAM實現(xiàn)數(shù)據(jù)讀寫雙向緩存,并與NPI接口相連,實現(xiàn)與NPI控制器的數(shù)據(jù)傳輸。

        2.2 NPI接口控制器模塊

        NPI控制模塊采用64-bit數(shù)據(jù)端口[8],通過端口實現(xiàn)與MPMC和ATA控制器的BRAM連接,從而實現(xiàn)與外部DDR2_SDRAM的數(shù)據(jù)批量交換。接口模塊如圖3所示。NPI控制模塊一次請求傳輸64-word的數(shù)據(jù),即傳輸數(shù)據(jù)256 byte,32-bit的地址請求寬度,滿足64-word對齊,可訪問4GB的內(nèi)存空間,時鐘采用200 MHz的MPMC的基準時鐘。

        圖3 NPI接口控制器模塊

        NPI接口的主要信號端口包括:讀寫請求的內(nèi)存起始地址PIM_Addr(31:0);讀寫操作請求信號PIM_AddrReq;讀寫標志信號PIM_RNW;單周期傳輸數(shù)據(jù)量標志PIM_Size(2:0);MPMC初始化完成標志信號PIM_InitDone;請求應(yīng)答信號PIM_AddrAck;待寫入內(nèi)存的64位數(shù)據(jù)信號PIM_WrFIFO_DATA(63:0);寫數(shù)據(jù)有效字節(jié)標志PIM_WrFIFO_BE(7:0);寫數(shù)據(jù)使能信號PIM_WrFIFO_Push;寫MPMC緩沖區(qū)數(shù)據(jù)小于一個數(shù)據(jù)寬度標志信號PIM_WrFIFO_EMPTY;讀數(shù)據(jù)使能標志信號PIM_RdFIFO_POP;讀數(shù)據(jù)PIM_RdFIFO_DATA(63:0);讀內(nèi)存請求起始地址PIM_RdFIFO_Addr(31:0);讀MPMC緩存區(qū)少于一個數(shù)據(jù)寬度標志信號PIM_RdFIFO_EMPTY;讀數(shù)據(jù)輸出延時時間參數(shù)PIM_RdFIFO_Latency(1:0)等。

        2.3 頂層控制IP核模塊

        頂層控制IP核模塊[9]一方面實現(xiàn)了PLB從設(shè)備的總線接口[10],使處理器能夠通過寄存器方式訪問用戶IP核,另一方面實現(xiàn)對ATA硬盤控制器以及對NPI接口控制器的有效調(diào)度[11],完成處理器的指令請求。內(nèi)部結(jié)構(gòu)如圖4所示。

        圖4 頂層控制IP核模塊

        PLB總線接口模塊[12]參照PLB總線標準接收來自處理器的相關(guān)請求,并反饋底層模塊的當前狀態(tài)給主要,主要是以寄存器方式訪問自定義IP核,采用32-bit數(shù)據(jù)寬度,時鐘頻率為系統(tǒng)總線時鐘100 MHz,在接收到處理器指令后,將參數(shù)和命令交給任務(wù)控制模塊,由任務(wù)控制模塊觸發(fā)底層時序控制模塊實現(xiàn)本次數(shù)據(jù)交換任務(wù)。通過以上分析,讀寫硬盤一個扇區(qū)的數(shù)據(jù)需要的時間為兩個NPI傳送周期,處理器讀寫n個扇區(qū)的數(shù)據(jù)需要2n個NPI傳送周期。

        圖5 讀硬盤扇區(qū)波形圖

        下面列出處理器測試的C語言代碼,通過PLB總線將指令及參數(shù)發(fā)送給自定義IP核,完成DDR與硬盤之間的數(shù)據(jù)傳輸。

        u32*addra=(Xuint32*)XPAR_ATA_IP_0_BASEADDR;

        u8*addrb=(Xuint8*)XPAR_DDR2_SDRAM_MPMC_BASEADDR;

        int status;

        xil_printf("read status:%x ",addr[0]);//打印系統(tǒng)狀態(tài)

        addra[6]=0x55;//軟件復(fù)位系統(tǒng)(自定義指令)

        addra[6]=0xAA;//硬件復(fù)位系統(tǒng)(自定義指令)

        addra[0]=0x0;//傳送數(shù)據(jù)讀入到內(nèi)存地址參數(shù)

        addra[1]=0x1;//傳送扇區(qū)數(shù)參數(shù)

        addra[2]=0x0;//傳送硬盤設(shè)備號

        addra[3]=0x0;//傳送LBA0參數(shù)

        addra[4]=0x0;//傳送LBA1參數(shù)

        addra[5]=0x0;//傳送LBA2參數(shù)

        addra[6]=0xca;//傳送讀命令

        while(addr[0]!=0){asm("nop");}//等待讀命令完成

        for(j=0;j<2;j++){

        for(i=0;i<256;i++){

        addrb[j*256+i]=i;}

        }//寫一個扇區(qū)數(shù)據(jù)到DDR2_SDRAM

        addra[0]=0x0;傳送需要寫入硬盤數(shù)據(jù)的內(nèi)存地址參數(shù)

        addra[1]=0x1;

        addra[2]=0x0;

        addra[3]=0x10;

        addra[4]=0x0;

        addra[5]=0x0;

        addra[6]=0xca;//傳送寫命令

        3 功能測試與驗證

        設(shè)計采用Xilinx的XUPV5_LX110T 開發(fā)板進行驗證,分為模塊驗證與系統(tǒng)驗證。ATA硬盤控制器在ISE10.1下進行驗證,NPI接口及后續(xù)的系統(tǒng)驗證在嵌入式開發(fā)環(huán)境EDK10.1下進行。在ISE10.1下用ChipScope Pro抓到的讀硬盤扇區(qū)數(shù)據(jù)的信號波形圖如圖5所示。

        從邏輯0扇區(qū)的數(shù)據(jù)標志AA55及信號變化可以看出,ATA控制器讀扇區(qū)正常,通過其他的反復(fù)讀寫測試,硬盤控制器模塊能夠正確讀寫硬盤扇區(qū)。

        在EDK10.1下,測試NPI接口,寫入32個64-bit數(shù)據(jù),然后讀出,如圖6所示。

        系統(tǒng)測試采用C語言程序?qū)?shù)據(jù)寫入內(nèi)存某地址,然后向PLB總線發(fā)送寫硬盤指令和參數(shù)將數(shù)據(jù)寫入硬盤,再通過向PLB總線發(fā)送讀硬盤指令及參數(shù),將寫入的數(shù)據(jù)讀到內(nèi)存的其他地址,通過串口顯示內(nèi)存中的數(shù)據(jù),進行對比數(shù)據(jù)一致,誤碼率較低。數(shù)據(jù)最高讀寫速度為66 Mbyte/s,同時控制器能與多種型號硬盤連接進行數(shù)據(jù)傳輸,性能穩(wěn)定。

        圖6 寫MPMC時序波形圖

        圖7 讀MPMC時序波形圖

        4 總結(jié)

        通過驗證,基于MPMC的DMA硬盤控制器總體能夠在MicroBlaze處理器的控制下完成硬盤數(shù)據(jù)直接與DDR2_SDRAM的數(shù)據(jù)交換,大大提高了系統(tǒng)處理數(shù)據(jù)的能力,有效節(jié)省了CPU資源,有很好的實用前景。

        [1] 趙峰,馬迪銘,孫煒. FPGA上的嵌入式系統(tǒng)設(shè)計實例[M]. 西安:電子科技大學(xué),2008:43-58.

        [2] 方傳杰,朱健,房志東. 高速實時數(shù)據(jù)采集智能控制器的設(shè)計與實現(xiàn)[J]. 電子技術(shù),2014(5):28-30.

        [3] 陳方. 專用USB接口仿真與測試[D]. 北京:北京交通大學(xué),2015.

        [4] 張威. FPGA中個人云存儲系統(tǒng)的設(shè)計與研究[D]. 太原:太原理工大學(xué),2014.

        [5] 劉喬壽,張毅. SPCE061A與IDE硬盤之間的數(shù)據(jù)接口[J]. 信息技術(shù),2015(12):51-53.

        [6] 儲昭賢,施慧彬. 基于FPGA的16位堆棧處理器的設(shè)計[J]. 微電子學(xué)與計算機,2012(2):23-26.

        [7] 黃夢玲,翟正軍,索曉杰. ATA總線控制器接口在固態(tài)硬盤中的應(yīng)用[J]. 計算機測量與控制,2013(7):1976-1977.

        [8] 范曉星,席鵬飛,孟琪. 基于EDK的高速數(shù)據(jù)收發(fā)嵌入式用戶IP核設(shè)計[J]. 電子科技,2015(2):165-168.

        [9] 彭維. 基于PLB總線的用戶IP核接口技術(shù)研究[D]. 合肥:合肥工業(yè)大學(xué),2011.

        [10] 張興堂. 基于FPGA的智能網(wǎng)絡(luò)接口設(shè)計[J]. 計算機測量與控制,2014(6):1884-1886.

        [11] 彭宇,仲雪潔,王少軍. 基于FPGA線性方程組的存儲優(yōu)化設(shè)計[J]. 計算機工程,2013(4):287-290.

        [12] 徐向前,劉新杰,羅歡. 基于FPGA的混沌序列發(fā)生器的設(shè)計[J]. 電子世界,2014(1):153-155.

        Design of High-Performance DMA Controller Based on MPMC*

        LIUJia1,2,YANGJieming2,ZHAOBaofeng3*

        (1.Electronic Information Engineering Department,Shanxi Polytechnic College,Taiyuan 030006,China;2.College of Mechanical Engineering,Taiyuan University of Technology,Taiyuan 030024,China;3.College of Mining Engineering,Taiyuan University of Technology,Taiyuan 030024,China)

        According to ATA6 protocol,the control module to IDE hard disk is achieved on FPGA,and using the MPMC IP core of Xilinx,the NPI interface controller is designed that can access the external DDR2_SDRAM. Utilizing embedded FPGA development environment and designing top control IP cores,the effective connection between hard disk controller and NPI interface is completed. Then direct fast data transmission between hard disk and DDR2_SDRAM is implemented under MicroBlaze control. Implementing the high-performance DMA Controller,increasing the host’s CPU utilization,the design is verified on Xilinx XUPV5_LX110T development platform.

        ATA hard disk;FPGA;MPMC;NPI interface

        項目來源:國家自然科學(xué)基金青年科學(xué)基金項目(61303207);教育部2012年高等學(xué)校博士學(xué)科點專項科研基金聯(lián)合課題項目(20121402120020);山西省科學(xué)技術(shù)發(fā)展項目工業(yè)部分(20120321024-01)

        2016-07-25 修改日期:2016-11-29

        TP319

        A

        1005-9490(2017)03-0626-05

        C:7200

        10.3969/j.issn.1005-9490.2017.03.022

        猜你喜歡
        扇區(qū)寄存器硬盤
        分階段調(diào)整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        HiFi級4K硬盤播放機 億格瑞A15
        Egreat(億格瑞)A10二代 4K硬盤播放機
        Lite寄存器模型的設(shè)計與實現(xiàn)
        U盤故障排除經(jīng)驗談
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于貝葉斯估計的短時空域扇區(qū)交通流量預(yù)測
        重建分區(qū)表與FAT32_DBR研究與實現(xiàn)
        我區(qū)電視臺對硬盤播出系統(tǒng)的應(yīng)用
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        伊人久久大香线蕉av不变影院| 精品人妻一区二区三区蜜桃| 亚洲黄色大片在线观看| 永久免费视频网站在线| 亚洲热线99精品视频| 在线播放国产一区二区三区| 大伊香蕉精品视频一区| 久久精品国产亚洲av日韩一| 久久99精品久久久久婷婷| 狠狠色噜噜狠狠狠狠色综合久| 色欲AV无码久久精品有码| 亚洲国产综合精品一区最新| 蜜桃视频一区二区在线观看| 亚洲va中文字幕无码| 久久青草亚洲AV无码麻豆| 蜜桃成熟时日本一区二区| 亚洲人成网线在线播放va蜜芽| 人人妻人人澡人人爽曰本| 久久亚洲精彩无码天堂 | 亚洲人妻精品一区二区三区| 亚洲高清中文字幕精品不卡| 在线观看二区视频网站二区| 99精品国产成人一区二区| 97无码人妻福利免费公开在线视频| 无码专区亚洲avl| 大香蕉国产av一区二区三区| 亚洲熟妇久久国产精品| 亚洲综合色秘密影院秘密影院| 狠狠综合亚洲综合亚色| 日韩精品极品系列在线免费视频| 又粗又硬又大又爽免费视频播放| 亚洲一二三区在线观看| 亚洲av中文字字幕乱码| 老熟妇乱子伦牲交视频| 少妇被躁爽到高潮无码文| 亚洲AV无码成人精品区H| 人妻熟女翘屁股中文字幕| 国产精品美女久久久久久| 无码人妻一区二区三区免费手机| 国产一级黄色片一区二区| 欧美国产综合欧美视频|