新聞中心

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

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

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

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

          由圖1可見,系統(tǒng)的硬件平臺為一塊PCI卡。此卡的結(jié)構(gòu)十分簡潔,主要由FPGA芯片、RAM芯片和輸出接口三部分組成。其中,FPGA芯片集成了PCI接口模塊和數(shù)據(jù)處理模塊。PCI接口模塊實現(xiàn)了33MHz工作時鐘、32位總線寬度的接口功能,支持I/O空間、內(nèi)存空間及配置空間的讀寫和PCI中斷功能。由于簡化的PCI接口占用的邏輯資源較少,可以在同一塊芯片中集成其他用戶邏輯。作為一個應用實例,本文加入了一個數(shù)據(jù)處理模塊,對PCI接口傳送來的數(shù)據(jù)進行處理,通過片外的輸出接口輸出到下位機。RAM芯片為數(shù)據(jù)處理提供緩存功能。
          
          2 從設(shè)備模式下的簡化PCI協(xié)議的實現(xiàn)
          
          為了實現(xiàn)PCI接口的基本功能,必須完成以下幾個模塊:
          
          (1)PCI配置空間設(shè)置。PCI協(xié)議支持三種地址空間:I/O空間、內(nèi)存空間和配置空間。配置空間提供了支持PCI設(shè)備自動配置的機制,是必需的。
          
          (2)PCI從設(shè)備狀態(tài)機。PCI總線狀態(tài)機是具有PCI總線的計算機系統(tǒng)的狀態(tài)流,是由一個已知狀態(tài)到另一個狀態(tài)的條件、時序的描述。這是PCI接口設(shè)計中最基本也是最重要的部分。
          
          (3)地址譯碼和命令譯碼。地址譯碼用來確定PCI設(shè)備是否應當響應當前總線的操作;命令譯碼則用來指示PCI設(shè)備根據(jù)不同的總線命令作出相應的動作。
          
          本文采用ALTERA公司的Max+PlusII軟件平臺,硬件描述語言使用ALTERA HDL語言,也可以方便地轉(zhuǎn)換成VHDL或VerilogHDL語言。在此之前,先引入PCI總線信號的定義。
          
          2.1 總線信號定義
          
          根據(jù)PCI總線協(xié)議2.2版,從設(shè)備模式下PCI接口至少包含47根引腳。圖2給出了按功能劃分的引腳分布,左邊是必需引腳,右邊是可選引腳。為簡化起見,本文采用了如下引腳,其他引腳均不使能或置為高阻態(tài)。

          (1)由系統(tǒng)提供的33MHz的同步時鐘信號CLK和復位信號RST#(#表示低電平有效);
          
          (2)關(guān)于數(shù)據(jù)傳輸?shù)暮诵男盘枺海常参坏刂罚瘮?shù)據(jù)復用線AD[31:0]、總線命令/字節(jié)使能復用線C/BE[3:0]#和偶校驗信號PAR;


        上一頁 1 2 3 下一頁

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

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 禄劝| 隆德县| 古浪县| 综艺| 新化县| 富裕县| 定日县| 安庆市| 新绛县| 黑河市| 济南市| 宁远县| 柯坪县| 久治县| 温宿县| 三明市| 开原市| 阿克苏市| 贡觉县| 巴塘县| 巴东县| 扶沟县| 婺源县| 社会| 平武县| 修水县| 达孜县| 嘉鱼县| 乌审旗| 岳阳市| 赤城县| 青州市| 东兰县| 二连浩特市| 永济市| 海城市| 永和县| 平原县| 陆川县| 名山县| 当阳市|