新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PCI總線技術講座

        PCI總線技術講座

        作者: 時間:2016-12-16 來源:網絡 收藏

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

        二、即插即用的實現

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

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

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


        三、中斷共享的實現

        ISA卡的一個重要局限在于中斷是獨占的,而我們知道計算機的中斷號只有16個,系統又用掉了一些,這樣當有多塊ISA卡要用中斷時就會有問題了。

        PCI總線的中斷共享由硬件與軟件兩部分組成。

        硬件上,采用電平觸發的辦法:中斷信號在系統一側用電阻接高,而要產生中斷的板卡上利用三極管的集電極將信號拉低。這樣不管有幾塊板產生中斷,中斷信號都是低;而只有當所有板卡的中斷都得到處理后,中斷信號才會回復高電平。(請參考圖四所示電路)

        軟件上,采用中斷鏈的方法:假設系統啟動時,發現板卡A用了中斷7,就會將中斷7對應的內存區指向A卡對應的中斷服務程序入口ISR_A;然后系統發現板卡B也用中斷7,這時就會將中斷7對應的內存區指向ISR_B,同時將ISR_B的結束指向ISR_A。以此類推,就會形成一個中斷鏈。而當有中斷發生時,系統跳轉到中斷7對應的內存,也就是ISR_B。ISR_B就要檢查是不是B卡的中斷,如果是,要處理,并將板卡上的拉低電路放開;如果不是,則呼叫ISR_A。這樣就完成了中斷的共享。

        通過以上討論,我們不難看出,PCI總線有著極大的的優勢。而近年來的市場情況也證實了這一點。凌華公司推出了從高端到低端全系統PCI總線數據采集卡,充分利用了PCI總線的這些優點,必將給您的工作帶來很大的便利。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 唐河县| 沙洋县| 古丈县| 贵港市| 铁岭市| 渝北区| 剑川县| 洛南县| 九寨沟县| 宾川县| 都昌县| 盘山县| 玉门市| 姚安县| 顺昌县| 门源| 老河口市| 连云港市| 深水埗区| 湖州市| 腾冲县| 高要市| 宁陕县| 芮城县| 漳平市| 武穴市| 屏山县| 孟连| 大洼县| 抚州市| 巴彦淖尔市| 紫阳县| 元江| 扎囊县| 中卫市| 思南县| 临高县| 齐河县| 新干县| 化德县| 习水县|