《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于狀態機的PEX8311的DMA實現
基于狀態機的PEX8311的DMA實現
范 晶,胡愛蘭
(華北計算機系統工程研究所,北京 100083)
摘要: 結合PCI-Express的傳輸特性,分析了PEX8311的DMA傳輸模式與時序邏輯,通過有限狀態機的設計,實現PEX8311的DMA傳輸。與其他設計相比,利用有限狀態機理論設計控制邏輯具有直觀、簡單、設計流程短等優點,并對狀態機進行了Verilog優化設計,使狀態機更加穩定。
Abstract:
Key words :

  摘  要: 結合PCI-Express的傳輸特性,分析了PEX8311的DMA傳輸模式與時序邏輯,通過有限狀態機的設計,實現PEX8311的DMA傳輸。與其他設計相比,利用有限狀態機理論設計控制邏輯具有直觀、簡單、設計流程短等優點,并對狀態機進行了Verilog優化設計,使狀態機更加穩定。

  關鍵詞橋接芯片PEX8311;PCI-Express接口;DMA傳輸;有限狀態機

0 引言

  PCI-Express是最新的總線和接口標準,它代表著下一代I/O接口標準。它原名為3GIO,是由英特爾在2001年提出的,交由PCI-SIG(PCI特殊興趣組織)認證發布后才改名為PCI-Express,簡稱PCI-E。PCI-E屬于高速串行點對點雙通道高帶寬傳輸,所連接的設備分配獨享通道帶寬,不共享總線帶寬,主要支持主動電源管理、錯誤報告、端對端的可靠性傳輸、熱插拔以及服務質量(QoS)等功能。這個新標準將全面取代現行的PCI和AGP,最終實現總線標準的統一。

  PCI-Express的主要優勢就是數據傳輸速率高,目前最高的16X2.0版本可達到10 Gb/s,而且還有相當大的發展潛力。PCI-Express也有多種規格,從PCI-Express 1X到PCI-Express 16X,能滿足將來一定時間內出現的低速設備和高速設備的需求。PCI-Express最新的接口是PCIE 3.0接口,其比特率為8 Gb/s,約為上一代產品帶寬的兩倍,并且包含發射器和接收器均衡、PLL改善以及時鐘數據恢復等一系列重要的新功能,用以改善數據傳輸和數據保護的性能[1]。

1 PEX8311的介紹

  PEX8311是PLX Technology公司推出的一款專用于將DSP、FPGA等處理器總線接口升級為PCI-E的橋接器件。利用PEX8311靈活的局部總線可以方便地連接多種存儲器、緩存器及FPGA、DSP等邏輯芯片,使復雜的PCIE接口設計簡單化。PEX8311兼容PCI-Express 1.0標準,其本地總線和寄存器與PCI9056兼容,能夠提供完整的本地總線到PCI-E的接口,包括地址轉換、包生成與解碼、信號中斷支持及并/串轉換等[2]。圖1為PEX8311結構圖。

001.jpg

  PEX8311由兩組橋接模塊組成:PCIE-PCI和PCI-Local Bus,相應地配有兩組寄存器PECS和LCS。PEX8311支持外部EEPROM對寄存器分別進行配置,也可以通過PC或本地處理器進行配置。

  PEX8311芯片特點:

 ?。?)集成了單通道、全雙工2.5 Gb/s傳輸的PCI Express端口;

 ?。?)本地總線配置支持8位、16位和32位的總線結構;

 ?。?)支持三種操作模式,使用靈活;

 ?。?)高性能DMA數據傳輸支持塊模式、集散模式、循環隊列管理和命令模式;

 ?。?)支持端點(EP)和根組件(RC)模式;

 ?。?)芯片低功耗設計;

 ?。?)芯片小型封裝,適合緊湊的電路板設計;

 ?。?)3.3 V的I/O并且兼容5 V系統;

 ?。?)串行EEPROM用來可選擇的導入配置,支持SPI接口和Microwire接口;

 ?。?0)有8 KB的統配共享RAM。

  PEX8311可配置為端點模式(Endpoint mode)和根組件模式(Root complex mode)。端點模式多用于設備端的橋接模式,而根組件端則用于PC端的橋接模式。最常用的模式為端點模式[3]。

  在端點模式下有三種操作類型:C模式、J模式和M模式。C模式為非復用地址/數據總線模式,是最為常用的模式,支持多數的MCU、ASIC和FPGA。J模式為復用地址/數據總線模式,即部分地址/數據總線復用,支持部分MCU和FPGA。M模式為專用模式。

002.jpg

  在C模式下又有三種數據傳輸模式:直主模式(Direct Master mode)、直從模式(Direct Slave mode)和DMA模式。三種數據傳輸模式中,直從模式的優先級最高,直主模式次之,DMA模式最低。

 ?。?)直主模式:本地處理器掌握本地總線控制權。寄存器配置和PEX8311芯片控制都由本地處理器完成。

  (2)直從模式:PEX8311掌握本地總線控制權,寄存器配置和PEX8311芯片控制由PC端完成。

 ?。?)DMA模式:PEX8311掌握本地總線和PCI-E端總線的控制權,此模式下的數據傳輸無需本地處理器或PC處理器干預。

2 DMA傳輸模式

  DMA模式中,PEX8311提供兩個完全獨立的雙向通道DMA Channel 0和DMA Channel 1,每個通道都配有256 B深度的獨立異步FIFO;支持塊模式、集散模式、循環隊列管理和命令模式[2]。DMA塊模式無需PC或本地控制器干預,傳輸效率高,所以可以大大降低控制器的工作量并且提高數據傳輸效率,為了達到最大的數據傳輸效率,選擇DMA塊模式持續傳輸方式進行數據傳輸。

  PCI-E設備或本地處理器設置DMA的PCI以及本地的開始地址、傳輸字節數和傳輸方向后,PCI-E設備或本地處理器設置DMA通道開始和使能位(LCS_DMACSR0/1[1:0]=11b)來初始化一個傳輸。PEX8311訪問內部PCI-E地址空間在PCI-E接口和本地總線上產生一個TLP,然后開始傳輸數據。傳輸完成后,PEX8311設置相應的DMA通道的通道完成位(LCS_DMACSR0/1[4]=1),聲明一個終中斷(LCS_INTCSR[16 and/or 8]和/或LCS_DMAMODE0/1[17 and/or 10]到本地處理器或PCI-E接口(可編程)。相應DMA通道的通道完成位可以采用輪詢的方式取代中斷方式來指示DMA傳輸狀態[4]。圖2為DMA塊傳輸的初始化過程。

  在DMA傳輸中,PEX8311是PCI-E接口的傳輸發起者(產生TLP)和本地總線的主機,對于同一時間的訪問,直從模式或直主模式比DMA模式優先級更高,如圖3所示。

003.jpg

3 狀態機設計

  狀態機的基本要素有三個:輸入、輸出和狀態。根據狀態機的輸出是否與輸入條件有關,可將狀態機分為兩大類:摩爾型(Moor)狀態機和米勒型(Mealy)狀態機[5]。

  根據狀態機的設計步驟,首先確定狀態機的輸入輸出信號,即DMA傳輸的控制信號。

  3.1 狀態機輸入輸出信號

  LCLK:輸入,PEX8311本地總線系統時間。

  LHOLD:輸出,PEX8311本地總線請求信號,上電為低電平,當PEX8311需要控制本地總線時拉高,等到LHOLDA信號響應后,PEX8311獲得本地總線控制權。

  LHOLDA:輸入,PEX8311本地總線請求應答信號,上電為低電平,在當前總線擁有者響應LHOLD信號后,將LHOLDA拉高。PEX8311未發出LHOLD信號時,不能把本地總線的使用權交給PEX8311。

  LA[31:0]:雙向,本地地址總線。提供總線物理地址的高30位。

  LD[31:0]:雙向,本地數據總線,當PEX8311配置為Local總線主控時,可以傳輸8 bit、16 bit或32 bit數據。

  LBE[3:0]#:雙向,本地字節使能信號,利用此信號可以實現8 bit、16 bit、32 bit數據傳輸,同時由該管腳提供輔助增加的地址信號。如果是32 bit數據線,則LBE[3:0]#=0000。

  ADS#:三態雙向,內有上拉電阻,地址選通信號,表明地址有效,開始新的總線訪問,ADS#在每次傳輸的第一個時鐘周期插入。

  BLAST#:雙向,作為輸入時,本地總線主機有效該信號來指示總線的最后一次數據傳輸;作為輸出時,PEX8311有效該信號來指示總線上的最后一次數據傳輸。

  READY#:雙向,I/O口就緒信號。在直從或DMA傳輸下為輸入信號,表明可讀的數據已經在總線上有效或待寫數據已經在下個時鐘上升沿到達前準備好;直主模式下為輸出信號。

  LW/R#:雙向,讀寫控制位,對于DMA塊傳輸,LW/R#=0為讀信號,本地總線到PCI-E方向;LW/R#=1為寫信號,PCI-E到本地總線方向。

  3.2 狀態機狀態轉換

  DMA傳輸模式分為單周期模式和突發模式。本設計中采用單周期模式。單周期模式是默認的數據傳輸模式。在該模式下,PEX8311每個數據周期都聲明一個ADS#。單周期模式的起始地址可以是任意的。

  Local Bus FSM設計分為三個狀態:IDLE、WAIT和TRANS。其狀態轉換如圖4所示。

004.jpg

  IDLE:為空閑狀態,當FPGA收到lreset復位信號后,進入IDLE狀態。

  WAIT:為等待狀態,當握手信號LHOLD和LHOLDA完成后進入WAIT狀態,進行地址空間判斷,等待地址選通信號有效。

  TRANS:為傳輸狀態,當地址選通信號有效后進入傳輸狀態,進行數據傳輸,直到BLAST#信號有效后,進入IDLE狀態。

  FPGA作為Local Bus的控制器,主要負責控制Local Processor與PC端的數據傳輸。上電初始化完成后,PEX8311向FPGA以及其他后端邏輯電路發送復位信號。當PC端做好接收數據的準備后,PEX8311向FPGA發送Local Bus的總線請求信號LHOLD,FPGA向PEX8311發送請求應答信號LHOLDA,PEX8311獲得總線控制權,并進行地址空間判斷,向FPGA發送地址選通信號,表明地址有效,進行新的總線訪問。在FPGA端,將經過處理的數據存入RAM中,當地址選通信號有效后,置位ram_rd信號,從RAM中將數據讀出,并且使READY#信號有效,開始進行數據傳輸,當FPGA收到有效的BLAST#信號后,在下一周期使READY#信號無效,進入IDLE狀態,完成一次DMA傳輸。

  3.3 Local Bus狀態機Verilog設計

  always@(state or ads_n or lhold or blast_n)

  begin

  case(state)

  IDLE:

  begin

  if(lhold)

  next_state<=WAIT;

  else

  next_state<=IDLE;

  end

  WAIT:

  begin

  if(~lhold)

  next_state<=IDLE;

  else if(!ads_n)

  next_state<=TRANS;

  else

  next_state<=WAIT;

  end

  TRANS:

  begin

  if(~lhold|(~ram_rd_delay[2]&ram_rd_delay[1]))

  next_state<=IDLE;

  else

  next_state<=TRANS;

  end

  default:

  begin

  next_state<=IDLE;

  end

  endcase

  end

  3.4 仿真

  圖5為DMA傳輸讀操作仿真圖。

005.jpg

4 結論

  本文設計的Local Bus控制器應用在PEX8311與FPGA的接口中以實現DMA傳輸,穩定性強,使用靈活,可隨時改變為其他工作模式??蓱糜谝曨l采集卡、數據采集卡。經過實踐證明,基于FPGA設計的控制器靈活性強、可編程能力強,能迅速縮短產品研發上市周期,滿足客戶需求。

  在Verilog的設計中對代碼的優化使用了三段式描述方法[6]。與一段式描述方法相比較,三段式FSM描述方法對FSM寄存器輸出的描述只需判斷下一狀態,然后直接將下一狀態的輸出用寄存器輸出即可,根本不用考慮狀態轉移條件(米勒狀態機)。與兩段式描述相比,三段式雖然代碼結構復雜了一些,但是換來的優勢是使FSM做到了同步寄存器輸出,消除了組合邏輯輸出的不穩定與毛刺的隱患,而且更利于時序路徑分組,一般來說在FPGA/CPLD等可編程邏輯器件上的綜合與布局布線效果更佳。

  參考文獻

  [1] 王齊.PCI Express體系結構導讀[M].北京:機械工業出版社,2010.

  [2] PLX.PEX8311AA Data Book[OL].[2014-04-20].http://www.plxtech.com, 2009.

  [3] PLX. Local Bus Primer: introduction to Local Bus signals and protocols[OL]. [2014-04-20].http://www.plxtech.com, 2001.

  [4] 王誠,蔡海寧,吳繼華.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2011.

  [5] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.

  [6] 黃小紅,李峰,倪衛芳.PEX8311芯片數據傳輸研究[J].電子工程師,2007,33(10):65.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品亚洲人在线观看| 国产在线麻豆精品观看| 国产午夜亚洲精品理论片色戒| 黄色免费成人| 国产欧美日韩视频在线观看| 亚洲精品一区二区三区在线观看| 免费久久精品视频| 午夜亚洲性色视频| 久久久久久久97| 韩国久久久久| 欧美日韩国产不卡| 午夜视频精品| 欧美一区二区视频在线观看2020| 亚洲一二三级电影| 国产亚洲女人久久久久毛片| 日韩视频中午一区| 亚洲人久久久| 欧美日韩亚洲三区| 久久女同互慰一区二区三区| 韩国久久久久| 欧美日本簧片| 国产精品a级| 亚洲三级免费观看| 欧美绝品在线观看成人午夜影视| 欧美日韩久久精品| 嫩草伊人久久精品少妇av杨幂| 激情校园亚洲| 亚洲人成毛片在线播放| 国产欧美 在线欧美| 亚洲视频免费在线观看| 一卡二卡3卡四卡高清精品视频| 国产精品网曝门| 一区一区视频| 国产一区二区三区免费在线观看| 国产香蕉97碰碰久久人人| 欧美日韩一级大片网址| 欧美精品激情blacked18| 亚洲免费精彩视频| 99re热这里只有精品视频| 久久成人精品| 国内视频一区| 欧美不卡高清| 欧美伦理一区二区| 国产精品成人v| 欧美日韩免费观看中文| 精品不卡在线| 免费成年人欧美视频| 永久免费毛片在线播放不卡| 亚洲尤物视频网| 国产日韩在线一区二区三区| 欧美日韩精品欧美日韩精品一| 国产在线观看精品一区二区三区| 一本一本大道香蕉久在线精品| 亚洲精品国产精品国自产观看浪潮| 亚洲精品综合| 久久亚洲精品一区二区| 国产色视频一区| 黑人巨大精品欧美黑白配亚洲| 亚洲免费成人av| 一本色道久久综合亚洲精品不| 午夜精品亚洲| 中国日韩欧美久久久久久久久| 欧美一乱一性一交一视频| 日韩视频精品| 欧美日韩高清在线观看| 国产日韩欧美91| 欧美精品1区2区| 在线观看日产精品| 在线精品视频一区二区三四| 一区二区在线观看av| 久久精品2019中文字幕| 久久精品国产一区二区三区| 欧美婷婷六月丁香综合色| 亚洲人成亚洲人成在线观看图片| 亚洲国产精品热久久| 亚洲伦理中文字幕| 91久久在线| 欧美在线黄色| 在线播放日韩| 国产欧美日韩| 亚洲精品1区| 亚洲综合国产精品| 亚洲女人小视频在线观看| 99re国产精品| 亚洲国产精品久久精品怡红院| 国产精品久久一卡二卡| 亚洲高清不卡在线| 久久这里有精品视频| 欧美日韩国产限制| 一区二区三区四区五区精品视频| 国产亚洲精品成人av久久ww| 欧美喷潮久久久xxxxx| 久久综合网色—综合色88| 免费视频一区二区三区在线观看| 亚洲人成在线免费观看| 一区二区三区日韩在线观看| 欧美日韩国产a| 尤物99国产成人精品视频| 欧美日韩三级在线| 国产精品露脸自拍| 亚洲看片免费| 欧美一区二区三区免费观看视频| 欧美精品aa| 亚洲免费电影在线观看| 在线播放一区| 亚洲美女在线国产| 免费欧美日韩国产三级电影| 亚洲午夜女主播在线直播| 亚洲激情在线观看| 亚洲人成啪啪网站| 一区二区三区久久网| 欧美日韩国产一区二区三区地区| 一卡二卡3卡四卡高清精品视频| 欧美午夜电影网| 亚洲国产日韩欧美| 国产日韩一区欧美| 午夜久久99| 久久精品国产v日韩v亚洲| 欧美一区二区三区免费在线看| 国产精品成av人在线视午夜片| 狠狠色狠色综合曰曰| 另类酷文…触手系列精品集v1小说| 亚洲精品婷婷| 亚洲人成毛片在线播放| 亚洲女人小视频在线观看| 中文国产亚洲喷潮| 国产精品久久久久av| 欧美另类一区二区三区| 一区二区欧美日韩| 加勒比av一区二区| 亚洲欧美激情在线视频| 亚洲福利视频一区二区| 91久久精品国产91性色| 性欧美大战久久久久久久久| 亚洲福利视频免费观看| 99精品久久久| 国内揄拍国内精品久久| 老司机精品视频一区二区三区| 亚洲女女做受ⅹxx高潮| 国产亚洲一区二区三区在线观看| 久久一本综合频道| 亚洲午夜一区二区| 牛牛影视久久网| 久久国内精品自在自线400部| 国产精品劲爆视频| 欧美成年人在线观看| 欧美日韩另类国产亚洲欧美一级| a91a精品视频在线观看| 99视频国产精品免费观看| 欧美紧缚bdsm在线视频| 亚洲一区在线观看免费观看电影高清| 亚洲女人天堂av| 国产午夜一区二区三区| 亚洲一区免费观看| 亚洲综合国产激情另类一区| 免费看成人av| 欧美影视一区| 亚洲综合视频网| 日韩一区二区久久| 在线亚洲一区| 麻豆成人小视频| 欧美+日本+国产+在线a∨观看| 狠狠色丁香久久综合频道| 韩国精品在线观看| 在线观看视频日韩| 亚洲一区二区日本| 99香蕉国产精品偷在线观看| 久久av二区| 亚洲风情亚aⅴ在线发布| 韩国成人精品a∨在线观看| 久久成人免费日本黄色| 亚洲精品视频在线观看免费| 国产一区二区久久久| 久久久久久久97| 六月天综合网| 国产亚洲欧美一区| 亚洲国产精品久久| 欧美精品久久一区二区| 欧美日韩在线高清| 欧美视频中文在线看| 欧美日韩专区| 91久久视频| 亚洲国产精品久久人人爱蜜臀| 性视频1819p久久| 在线视频欧美一区| 国产精品久99| 欧美一区免费视频| 亚洲一二三级电影| 国产日韩一区二区三区在线| 欧美人与性禽动交情品| 欧美久久在线| 欧美日韩大片一区二区三区| av成人毛片| 亚洲在线网站| 国产视频在线观看一区二区| 在线成人中文字幕| 国模 一区 二区 三区| 一色屋精品视频免费看| 欧美日产在线观看| 永久久久久久| 欧美精品精品一区| 国产一区二区三区观看| 国产一二三精品| 国产精品久久久久久久久免费桃花| 国产一区美女| 午夜精品久久久久久久| 亚洲第一页中文字幕| 国产精品夜夜夜一区二区三区尤| 亚洲欧美国产va在线影院| 亚洲国产欧美精品| 国产午夜精品福利| 欧美一区二区视频97| 亚久久调教视频| 欧美巨乳在线| 韩国自拍一区| 亚洲欧美综合一区| 国产精品对白刺激久久久| 国产日韩在线一区| 宅男66日本亚洲欧美视频| 久久精品人人做人人爽| 99热这里只有成人精品国产| 欧美日韩国产免费| 一区二区三区我不卡| 久久午夜激情| 欧美国产日本高清在线| 亚洲精品老司机| 欧美电影在线观看完整版| 久久久国产精品一区二区中文| 欧美日韩一区二区国产| 欧美亚洲不卡| 欧美成人一区在线| 欧美日韩一区二区在线播放| 欧美成人一区二区三区在线观看| 一区二区高清在线观看| 国产一区二区三区成人欧美日韩在线观看| 久久aⅴ国产欧美74aaa| 小黄鸭精品aⅴ导航网站入口| 亚洲电影免费在线观看| 一区二区三区免费在线观看| 亚洲精品久久嫩草网站秘色| 国产一级一区二区| 欧美性理论片在线观看片免费| 国产精品香蕉在线观看| 好吊妞**欧美| 亚洲人成在线播放网站岛国| 国产精品99久久久久久久女警| 欧美在线一级va免费观看| 玖玖视频精品| 亚洲网友自拍| 极品少妇一区二区三区| 亚洲欧美日韩高清| 国产精品免费久久久久久| 99视频在线观看一区三区| 欧美一区国产一区| 欧美一级艳片视频免费观看| 日韩视频久久| 欧美日韩在线视频首页| 一区二区毛片| 一区二区三区我不卡| 欧美在线3区| 欧美日韩国产色站一区二区三区| 欧美大片在线观看一区二区| 免费在线国产精品| 国产精品二区在线观看| 欧美精品一线| 精品成人国产| 久久国产精品免费一区| 日韩写真视频在线观看| 欧美精品日韩一本| 最新成人av在线| 欧美日韩在线视频观看| av成人激情| 欧美成人精品在线观看| 亚洲第一主播视频| 亚洲电影视频在线| 国产一区二区黄| 国产乱肥老妇国产一区二| 伊人成年综合电影网| 一区二区三区 在线观看视频| 国产精品欧美激情| 欧美日韩国产丝袜另类| 久久激情综合网| 久久午夜精品一区二区| 久久久中精品2020中文| 久久久国产视频91| 国产欧美日韩高清| 国产精品影院在线观看| 欧美精彩视频一区二区三区| 欧美视频在线看| 国产精品视频99| 久久综合五月天婷婷伊人| 欧美性猛交xxxx乱大交退制版| 欧美精品在线一区| 久久蜜桃香蕉精品一区二区三区| 欧美r片在线| 欧美日韩一区二区免费在线观看| 免费一级欧美在线大片| 久久躁狠狠躁夜夜爽| 国产日韩亚洲欧美精品| 午夜精品99久久免费| 久久久精品日韩欧美| 国内自拍视频一区二区三区| 亚洲精品在线视频| 久久久五月天| 韩国v欧美v日本v亚洲v| 欧美日一区二区三区在线观看国产免| 亚洲狼人综合| 久久综合中文字幕| 国产精品video| 在线播放中文字幕一区| 国产在线视频不卡二| 亚洲精品一区二| 欧美一级片在线播放| 欧美在线精品一区| 日韩视频在线一区二区| 亚洲国产视频一区二区| 欧美国产日韩一区二区在线观看| 韩国成人理伦片免费播放| 亚洲免费在线观看视频| 小黄鸭精品密入口导航| 欧美一级专区| 亚洲激情在线观看视频免费| 久久精品成人一区二区三区蜜臀| 香蕉久久夜色精品国产| 亚洲无线观看| 免费成人黄色片| 亚洲一区高清| 国产麻豆精品在线观看|