<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 簡(jiǎn)化PCI總線(xiàn)協(xié)議的實(shí)現以及FPGA驅動(dòng)設計

簡(jiǎn)化PCI總線(xiàn)協(xié)議的實(shí)現以及FPGA驅動(dòng)設計

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

目前,許多公司都提出了新型的計算機高速總線(xiàn),如Arapahoe總線(xiàn)標準和HyperTransport技術(shù),但各協(xié)議互不兼容,沒(méi)有形成統一標準。作為傳統的通用局部總線(xiàn),總線(xiàn)仍然占據著(zhù)主流個(gè)人電腦市場(chǎng),具有頑強的生命力。

本文引用地址:http://dyxdggzs.com/article/202715.htm

  現在市面上存在著(zhù)各種接口芯片,如AMCC公司的S5933,PLX的9080系列等。專(zhuān)用芯片可以實(shí)現完整的主設備與從設備模式的接口功能,將復雜的PCI總線(xiàn)接口轉化相對簡(jiǎn)單的用戶(hù)接口,但系統結構受接口芯片的限制,不能靈活地設計目標系統,且成本較高。本文使用符合PCI電氣特性的芯片進(jìn)行簡(jiǎn)化的PCI接口邏輯設計,實(shí)現了33MHz、32位數據寬度的PCI從設備模塊的接口功能,節約了系統的邏輯資源,且可以將其它用戶(hù)邏輯集成在同一塊芯片,降低了成本,增加了設計的靈活性。另外,還給出了Windows9x系統下的設備驅動(dòng)程序,可以與應用程序接口,形成一個(gè)完整的系統。目前,本系統已經(jīng)被印染企業(yè)應用在數據采集和處理等方面。

  1 系統構成與功能描述

  系統的總體框圖如圖1所示。

  由圖1可見(jiàn),系統的硬件平臺為一塊PCI卡。此卡的結構十分簡(jiǎn)潔,主要由芯片、RAM芯片和輸出接口三部分組成。其中,芯片集成了PCI接口模塊和數據處理模塊。PCI接口模塊實(shí)現了33MHz工作時(shí)鐘、32位總線(xiàn)寬度的接口功能,支持I/O空間、內存空間及配置空間的讀寫(xiě)和PCI中斷功能。由于簡(jiǎn)化的PCI接口占用的邏輯資源較少,可在同一塊芯片中集成其他用戶(hù)邏輯。作為一個(gè)應用實(shí)例,本文加入了一個(gè)數據處理模塊,對PCI接口傳送來(lái)的數據進(jìn)行處理,通過(guò)片外的輸出接口輸出到下位機。RAM芯片為數據處理提供緩存功能。

2 從設備模式下的簡(jiǎn)化PCI協(xié)議的實(shí)現

  為了實(shí)現PCI接口的基本功能,必須完成以下幾個(gè)模塊:

 ?。?)PCI配置空間設置。PCI協(xié)議支持三種地址空間:I/O空間、內存空間和配置空間。配置空間提供了支持PCI設備自動(dòng)配置的機制,是必需的。

 ?。?)PCI從設備狀態(tài)機。PCI總線(xiàn)狀態(tài)機是具有PCI總線(xiàn)的計算機系統狀態(tài)流,是由一個(gè)已知狀態(tài)到另一個(gè)狀態(tài)的條件、時(shí)序的描述。這是PCI接口設計中最基本也是最重要的部分。

 ?。?)地址譯碼和命令譯碼。地址譯碼用來(lái)確定PCI設備是否應當響應當前總線(xiàn)的操作;命令譯碼則用來(lái)指示PCI設備根據不同的總線(xiàn)命令作出相應的動(dòng)作。

  本文采用ALTERA公司的Max+PlusII軟件平臺,硬件描述語(yǔ)言使用ALTERA HDL語(yǔ)言,也可以方便地轉換民VHDL或VerilogHDL語(yǔ)言。在此之前,先引入PCI總線(xiàn)信號的定義。

  2.1 總線(xiàn)信號定義

  根據PCI2.2版,從設備模式下PCI接口至少包含47根引腳。圖2給出了按功能劃分的引腳分布,左邊是必需引腳。右邊是可選引腳。為簡(jiǎn)化起見(jiàn),本文采用了如下引腳,其他引腳均不使能或置為高阻態(tài)。

 ?。?)由系統提供的33MHz的同步時(shí)鐘信號CLK和復位信號RST#(#表示低電平有效);

 ?。?)關(guān)于數據傳輸的核心信號:32位地址/數據復用線(xiàn)AD[31:0]、總線(xiàn)命令/字節使能復用線(xiàn)C/BE[3:0]#和偶校驗信號PAR;

 ?。?)接口控制信號FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#為數據傳輸起止信號,TRDY#為主設備準備好信號,IRDY#為從設備準備好信號,STOP#為從設備停止請求信號,DEVSEL#為設備選擇信號,IDSEL為配置空間讀寫(xiě)時(shí)的片選信號;

 ?。?)中斷引腳INTA#。

  為簡(jiǎn)化PCI協(xié)議,本文只實(shí)現了最重要的總線(xiàn)命令,表1給出了所支持的總線(xiàn)命令對應的C/BE[3:0]#編碼值。

  表1 支持的總線(xiàn)命令

C/BE[3:0]# 命令類(lèi)型說(shuō)明
0010

  0011

  0110

  0111

  1010

  1011
I/O讀

  I/O寫(xiě)

  存儲器讀

  存儲器寫(xiě)

  配置空間讀

  配置空間寫(xiě)


  2.2 配置空間設置

  配置空間大小為256字節,前64字節必需,記錄了PCI設備的基本住處,比較重要的有:

 ?。?)VendorID、DeviceID和Class Code域:分別表示設備的生產(chǎn)廠(chǎng)商、設備編號和類(lèi)型;

 ?。?)Command和Status域:分別給出了對PCI設備的控制命令和當前狀態(tài);

 ?。?)Base Adress Register域:指示此PCI設備按I/O方式還是內存方式進(jìn)行讀寫(xiě)以及需要的地址空間大??;

 ?。?)Interrupt Line和Interrupt Pin域:分別指明了設備使用的斷號和中斷引腳。

  在對配置空間的訪(fǎng)問(wèn)中,用AD[7:2]尋址一個(gè)雙字DWORD。在本設計中,配置空間設置如表2所示。

  2.3 簡(jiǎn)化的從設備狀態(tài)機

  在PCI協(xié)議中,標準的從設備狀態(tài)機包含五種狀態(tài),而且各狀態(tài)的跳轉條件比較復雜。本文在不違反PCI協(xié)議的前提下,簡(jiǎn)化了從設備的狀態(tài)機,如圖3所示。

  圖3中,狀態(tài)轉移條件信號a、b、c定義如下:a代表配置空間訪(fǎng)問(wèn)條件,b代表I/O空間或內存空間訪(fǎng)問(wèn)條件,c代表總線(xiàn)傳輸開(kāi)始條件。這三個(gè)條件的實(shí)現由后面的命令譯碼模塊給出。

  表2 配置空間設置(均為十六進(jìn)制)

字 段 值或含義 字段 值或含義
VendorID 1172 Class Code 040000,即視頻卡
DeviceID 8901 Base Adress Register 映射到I/O空間
Command 0082 Interrupt Line 中斷號A
Status 0400 Interrupt Pin 使用INTA中斷引腳


  IDLE是系統的缺省狀態(tài),表示總線(xiàn)當前空閑。通常,設備處在IDLE狀態(tài)時(shí),要檢測來(lái)自PCI總線(xiàn)和后級設備的信號,便設備作出合適的響應。設備處于S_DATA狀態(tài)時(shí)完成第一次數據傳輸,直接無(wú)條件跳到BACKOFF狀態(tài)。設備在BACKOFF狀態(tài)時(shí)進(jìn)行多個(gè)數據傳輸,直到主設備斷開(kāi)訪(fǎng)問(wèn)。需要注意的是:任何對I/O空間、配置空間以及內存空間的突發(fā)傳輸的地址超過(guò)了設備映射地址的范圍時(shí),從設備要在此狀態(tài)建立STOP信號,斷開(kāi)訪(fǎng)問(wèn)。當幀信號無(wú)效或主設備終止傳輸時(shí),設備回到初始的IDLE狀態(tài)。BUS_BUSY狀態(tài)時(shí)總線(xiàn)忙,表示總線(xiàn)正在被其它設備使用。有兩條轉移路徑,若總線(xiàn)仍然被占用,則停留在BUS_BUSY狀態(tài),否則返回空頭狀態(tài)IDLE。

  2.4 地址譯碼和命令譯碼模塊


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>