• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PCI軟“核”的PCI總線接口設(shè)計與實現(xiàn)

    基于PCI軟“核”的PCI總線接口設(shè)計與實現(xiàn)

    作者: 時間:2013-03-30 來源:網(wǎng)絡(luò) 收藏
    是通過主橋電路掛接在Host CPU上的,典型的PCI系統(tǒng)結(jié)構(gòu)如圖1所示。PCI的外部設(shè)備既可以作為目標設(shè)備(Slave),實現(xiàn)基本的傳送要求,也可以作為的主控設(shè)備(Master),訪問其他PCI總線設(shè)備及系統(tǒng)的其他資源。用戶在實際應(yīng)用中可以根據(jù)實際需求來設(shè)計設(shè)備的功能。
    由于PCI總線規(guī)范[1]定義了嚴格的電氣特性和時序要求,因而開發(fā)基于PCI總線的接口卡有一定的難度。它要求在接口卡和終端設(shè)備之間有一個總線接口控制器,以解碼PCI總線線范并完成數(shù)據(jù)傳送,這需要開發(fā)人員對PCI總線規(guī)范有深刻的理解并具有較高的計算機開水平。開發(fā)PCI接口大體有兩種方式:使用專用的PCI接口芯片和可編程器件。如果使用ASIC廠家提供的專用接口芯片,用戶使用到的只是部分PCI接口功能,會造成了一定的資源浪費,而且芯片價格高,不經(jīng)濟。使用可編程器件設(shè)計,將廠家提供的PCI軟“核”引入可編程器件中,根據(jù)插卡的功能進行最優(yōu)化,不必實現(xiàn)所有的PCI功能機以將PCI插卡的用戶邏輯與PCI接口邏輯集成在一個芯片上,實現(xiàn)緊湊的系統(tǒng)設(shè)計。當系統(tǒng)升級時,只需更改可編程器件的邏輯,無需更新PCB版圖。許多可編程器件產(chǎn)生廠商都提供經(jīng)過測試的PCI接口功能模塊,如Xilinx公司的LogiCore,Altera公司的AMPP(Altera Megafunction Partners Prongam)。下面介紹用Xilinx公司的LogiCore來實現(xiàn)控制連接在PCI上的外設(shè)。

    1 Xilinx公司的LogiCore簡介
    Xilinx公司的LogiCore邏輯框圖如圖2所示。可以看出,該LogiCore的功能是將左邊復(fù)雜的PCI接口轉(zhuǎn)換成右邊的用戶接口信號:周期控制信號(包括用于配置PCI接口的信號CEG[255:0])、從設(shè)備控制信號、主設(shè)備控制信號、狀態(tài)機信號等。其主要的功能是起一個橋梁作用,完成用戶設(shè)備與PCI總線的信息傳送,并且可以在Bus Master方式下直接訪問系統(tǒng)主存儲器。圖2的LogiCorem邏輯框圖只給出Xilinx的LogiCore中與PCI Master控制器有關(guān)的關(guān)鍵信號?,F(xiàn)在就以上信號進行介紹:
    PCI Host 端總線接口:
    AD[31:0] 時分復(fù)用地址/數(shù)據(jù)信號,在幀信號有效的一個時鐘AD[31:0]上的信號為地址信號。
    C/BE[3:0] 命令/字節(jié)使能信號,在幀信號有效的第一個節(jié)拍,指示總線作業(yè)類型。
    FRAMF 由總線上設(shè)備驅(qū)動,指明傳輸?shù)钠鹗紩r間和終止時間,在該信號有效期間表示總線傳輸開始,當該信號無效時,傳輸?shù)氖亲詈笠粋€數(shù)據(jù)節(jié)拍。
    IRDY 由總線主設(shè)備驅(qū)動,讀操作時表示總線傳輸開始,當該信號無效時,傳輸?shù)淖詈笠粋€數(shù)據(jù)節(jié)拍。
    IRDY 由總線主設(shè)備驅(qū)動,讀操作時表示已準備好接受數(shù)據(jù),寫操作時表示有效數(shù)據(jù)已經(jīng)在數(shù)據(jù)上。
    TRDY 由從設(shè)備驅(qū)動,讀操作時從設(shè)備正在把有效數(shù)據(jù)放在數(shù)據(jù)總線上;寫操作時表示從設(shè)備準備接受來自Host的數(shù)據(jù)。
    DEBSEL 譯碼出的地址在該設(shè)備的地址范圍內(nèi)時,則該信號有效。
    IDSEL 配置讀、寫期間由Host發(fā)出的片選信號。
    STOP 從設(shè)備向Host表示停止目前信號的傳送。
    PAR 奇偶校驗信號,它通過AD[31:0]和C/BE[3:0]進行奇偶校驗。
    PERR 該信號只報告數(shù)據(jù)奇偶校驗錯。
    SERR 該信號只報靠地址奇偶校驗錯,或者特殊命令序列中的數(shù)據(jù)奇偶校驗錯。
    INTR_A 表示PCI設(shè)備請求中斷。
    REQ 表示總線主設(shè)備向仲裁器發(fā)出要占用PCI總線的請求。
    User端總線接口:
    ADIO[31:0] 地址數(shù)據(jù)復(fù)用總線,該總線由三態(tài)緩沖器驅(qū)動。
    ADDR[31:0] 在地址周期,輸出PCI總線當前作業(yè)的起始地址。
    DEVSEL_USR 是DEVSEL信號的“克隆”版本。
    FRAME_USR 是FRAME信號的“克隆”版本。

    電磁爐相關(guān)文章:電磁爐原理



    上一頁 1 2 下一頁

    關(guān)鍵詞: PCI總線 DMA 局部總線

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 祥云县| 夹江县| 夏津县| 宁波市| 息烽县| 闵行区| 合阳县| 东宁县| 灌云县| 屯留县| 昌平区| 库伦旗| 昌江| 文化| 吐鲁番市| 龙江县| 万宁市| 富平县| 曲水县| 巴东县| 乐都县| 黄梅县| 甘孜县| 南丹县| 陕西省| 平凉市| 浮山县| 阳高县| 务川| 英吉沙县| 镇雄县| 政和县| 吴堡县| 宁海县| 武清区| 涡阳县| 宜都市| 玉屏| 金平| 西城区| 汕头市|