新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PCI總線協(xié)議的FPGA實(shí)現(xiàn)及驅(qū)動(dòng)設(shè)計(jì)

PCI總線協(xié)議的FPGA實(shí)現(xiàn)及驅(qū)動(dòng)設(shè)計(jì)

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

  
 ?。ǎ常┙涌诳刂菩盘?hào)FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#為數(shù)據(jù)傳輸起止信號(hào),TRDY#為主設(shè)備準(zhǔn)備好信號(hào),IRDY#為從設(shè)備準(zhǔn)備好信號(hào),STOP#為從設(shè)備停止請(qǐng)求信號(hào),DEVSEL#為設(shè)備選擇信號(hào),IDSEL為配置空間讀寫(xiě)時(shí)的片選信號(hào);
  
 ?。ǎ矗┲袛嘁_INTA#。為簡(jiǎn)化PCI協(xié)議,本文只實(shí)現(xiàn)了最重要的總線命令,表1給出了所支持的總線命令對(duì)應(yīng)的C/BE[3:0]#編碼值。

 ?。玻?配置空間設(shè)置

  配置空間大小為256字節(jié),前64字節(jié)必需,記錄了PCI設(shè)備的基本信息,比較重要的有:
  
  (1)VendorID、DeviceID和Class Code域:分別表示設(shè)備的生產(chǎn)廠商、設(shè)備編號(hào)和類(lèi)型;
  
 ?。ǎ玻茫铮恚恚幔睿浜停樱簦幔簦酰笥颍悍謩e給出了對(duì)PCI設(shè)備的控制命令和當(dāng)前狀態(tài);
  
 ?。ǎ常拢幔螅?Adress Register域:指示此PCI設(shè)備按I/O方式還是內(nèi)存方式進(jìn)行讀寫(xiě)以及需要的地址空間大?。?BR>  
 ?。ǎ矗桑睿簦澹颍颍酰穑?Line和Interrupt Pin域:分別指明了設(shè)備使用的中斷號(hào)和中斷引腳。 在對(duì)配置空間的訪問(wèn)中,用AD[7:2]尋址一個(gè)雙字DWORD。在本設(shè)計(jì)中,配置空間設(shè)置如表2所示,各值的具體含義請(qǐng)參閱文獻(xiàn)[1]。

 ?。玻?簡(jiǎn)化的從設(shè)備狀態(tài)機(jī)
  
  在PCI協(xié)議中,標(biāo)準(zhǔn)的從設(shè)備狀態(tài)機(jī)包含五種狀態(tài),而且各狀態(tài)的跳轉(zhuǎn)條件比較復(fù)雜。本文在不違反PCI協(xié)議的前提下,簡(jiǎn)化了從設(shè)備的狀態(tài)機(jī),如圖3所示。



關(guān)鍵詞: PCI總線 FPGA 虛擬設(shè)備

評(píng)論


相關(guān)推薦

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

關(guān)閉