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

    EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PCI總線技術概論

    PCI總線技術概論

    作者: 時間:2012-12-10 來源:網(wǎng)絡 收藏


    從數(shù)據(jù)寬度上看,PCI總線有32bit、64bit之分;從上分,有33MHz、66MHz兩種。目前流行的是32bit @ 33MHz,而64bit系統(tǒng)正在普及中。改良的PCI系統(tǒng),PCI-X,最高可以達到64bit @ 133MHz,這樣就可以得到超過1GB/s的數(shù)據(jù)傳輸速率。如果沒有特殊說明,以下的討論以32bit @ 33MHz為例。

    一、基本概念

    不同于,PCI總線的地址總線與數(shù)據(jù)總線是分時復用的。這樣做的好處是,一方面可以節(jié)省接插件的管腳數(shù),另一方面便于實現(xiàn)突發(fā)數(shù)據(jù)傳輸。在做數(shù)據(jù)傳輸時,由一個PCI設備做發(fā)起者(主控,Initiator或Master),而另一個PCI設備做目標(從設備,Target或Slave)。總線上的所有時序的產(chǎn)生與控制,都由Master來發(fā)起。PCI總線在同一時刻只能供一對設備完成傳輸,這就要求有一個仲裁機構(Arbiter),來決定在誰有權力拿到總線的主控權。

    32bit PCI系統(tǒng)的管腳按功能來分有以下幾類:

    系統(tǒng)控制: CLK,PCI時鐘,上升沿有效
    RST ,Reset信號
    傳輸控制: FRAME#,標志傳輸開始與結束
    IRDY#,Master可以傳輸數(shù)據(jù)的標志
    DEVSEL#,當Slave發(fā)現(xiàn)自己被尋址時置低應答
    TRDY#,Slave可以轉輸數(shù)據(jù)的標志
    STOP#,Slave主動結束傳輸數(shù)據(jù)的信號
    IDSEL,在即插即用系統(tǒng)啟動時用于選中板卡的信號
    地址與數(shù)據(jù)總線: AD[31::0],地址/數(shù)據(jù)分時復用總線
    C/BE#[3::0],命今/字節(jié)使能信號
    PAR,奇偶校驗信號
    仲裁號: REQ#,Master用來請求總線使用權的信號
    GNT#,Arbiter允許Master得到總線使用權的信號
    錯誤報告: PERR#,數(shù)據(jù)奇偶校驗錯
    SERR#,系統(tǒng)奇偶校驗錯



    當PCI總線進行操作時,發(fā)起者(Master)先置REQ#,當?shù)玫街俨闷?Arbiter)的許可時(GNT#),會將FRAME#置低,并在AD總線上放置Slave地址,同時C/BE#放置命令信號,說明接下來的傳輸類型。所有PCI總線上設備都需對此地址譯碼,被選中的設備要置DEVSEL#以聲明自己被選中。然后當IRDY#與TRDY#都置低時,可以傳輸數(shù)據(jù)。當Master數(shù)據(jù)傳輸結束前,將FRAME#置高以標明只剩最后一組數(shù)據(jù)要傳輸,并在傳完數(shù)據(jù)后放開IRDY#以釋放總線控制權。

    這里我們可以看出,PCI總線的傳輸是很高效的,發(fā)出一組地址后,理想狀態(tài)下可以連續(xù)發(fā)數(shù)據(jù),峰值速率為132MB/s。實際上,目前流行的33M@32bit北橋芯片一般可以做到100MB/s的連續(xù)傳輸。

    二、即插即用的實現(xiàn)

    所謂即插即用,是指當板卡插入系統(tǒng)時,系統(tǒng)會自動對板卡所需資源進行分配,如基地址、中斷號等,并自動尋找相應的驅動程序。而不象舊的ISA板卡,需要進行復雜的手動配置。

    實際的實現(xiàn)遠比說起來要復雜。在PCI板卡中,有一組寄存器,叫"配置空間"(Configuration Space),用來存放基地址與內(nèi)存地址,以及中斷等信息。

    以內(nèi)存地址為例。當上電時,板卡從ROM里讀取固定的值放到寄存器中,對應內(nèi)存的地方放置的是需要分配的內(nèi)存字節(jié)數(shù)等信息。操作系統(tǒng)要跟據(jù)這個信息分配內(nèi)存,并在分配成功后把相應的寄存器中填入內(nèi)存的起始地址。這樣就不必手工設置開關來分配內(nèi)存或基地址了。對于中斷的分配也與此類似。


    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 潞城市| 洛南县| 五莲县| 濮阳县| 恩施市| 上思县| 洪湖市| 无极县| 宁国市| 临海市| 桐柏县| 昌平区| 崇义县| 鄄城县| 庆阳市| 利川市| 玉林市| 宁化县| 陈巴尔虎旗| 绥宁县| 会泽县| 昌邑市| 会泽县| 古交市| 会泽县| 剑河县| 石泉县| 鄂托克前旗| 揭东县| 大邑县| 进贤县| 泉州市| 普兰店市| 浮山县| 南投市| 德州市| 深州市| 绍兴县| 商河县| 阿克| 宁夏|