新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于PCD656的高速PCI總線接口的設計與實現

        基于PCD656的高速PCI總線接口的設計與實現

        作者: 時間:2011-03-22 來源:網絡 收藏

          4 局部端設計

          本設計中,局部端采用了C模式。C模式下可配置3種數據傳輸方式:單周期方式(Single Cycle Mode)、4字方式(Brust-4 Mode)和連續突發傳輸方式(Continuous Mode),在本設計中采用了連續突發方式,可以有效地提高輸出效率。

          9在局部為為主設備,始終占用局部總線,局部總線端的FPGA始終響應9的操作。方案中使用9的DMA傳輸模式,在本地端不需要進行地址譯碼,因此可以對PCI9656的控制信號進行簡化處理,PCI9656的局部端主要控制信號如下

          ADS#:一次總線訪問開始;

          Blast#:總線訪問結束;

          LW/R#:讀寫控制信號;

          Ready#:從設備準備好信號,有效時表示總線訪問進行中;

          LHOLD:PCI9656占用本地總線申請信號;

          LHOLDA:占用本地總線應答信號;

          Wait#:主設備傳輸暫停信號;

          EOT#:數據傳輸異常中止信號,用于FIFO溢出或空時中斷數據傳輸;

          Lint#:用于引起CompaetPCI總線端的中斷信號;

          LRST#:本地總線復位信號;

          CCS#:配置寄存器選擇信號。

          在DMA傳輸過程中主要關心的信號可簡化為:ADS#、Blast#、LW/R#、Ready#、LHOLD、LHOLDA,如圖3所示。

        PCI局部總線控制時序

        圖3 PCI局部總線控制時序

          圖3中,lclk為本地總線時鐘,當PCI9656要發起一次DMA操作時,先發送lhold信號申請本地總線,若本地總線空閑則FPGA發出lholda信號響應PCI9656,然后PCI有效ads_n信號以示總線傳輸開始,FPGA使ready_n有效以示總線傳輸正在進行中,此時本地數據通過局部數據線傳送到PCI總線,或著數據由PCI總線傳送到局部邏輯。一次傳輸結束時PCI使blast_n信號有效并使lhold信號無效,然后FPGA使lholda信號和ready_n信號無效,一次DMA傳輸完成。傳輸中若是DMA讀操作則lwr信號拉低,若為寫操作則拉高。

          本地總線位寬為32位,因此本地總線理論速度為264MB·s-1,由于應用程序的效率問題和傳輸中一些無效狀態的存在,目前PCI總線平均速率達到212 MB·s-1,可以滿足目前高速數據采集、傳輸對總線傳輸速度的要求。

          PCI9656本地總線時序設計中需要注意blast_n信號有效說明為突發傳輸最后一個時鐘周期,此時ready_n信號仍然為有效,否則會造成總線等待;在正常讀寫訪問中CCS#信號應置高,否則總線訪問將指向配置空間而非內存或I/O空間。

          5 結束語

          利用PCI9656和FPGA實現了一種高速PCI總線接口,較全面地論述了總線驅動開發和局部時序設計的過程。這種設計提高了總線傳輸速度,為高速數據采集系統的實現創造了條件。


        上一頁 1 2 3 下一頁

        關鍵詞: PCD 656 PCI 總線

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沂南县| 佛坪县| 老河口市| 元谋县| 平山县| 五台县| 孝昌县| 庆城县| 景宁| 凤城市| 信丰县| 余江县| 尼玛县| 理塘县| 福贡县| 合川市| 卫辉市| 龙山县| 铜鼓县| 翁牛特旗| 临猗县| 宣威市| 南康市| 兴安盟| 建水县| 建德市| 边坝县| 金门县| 广河县| 彭泽县| 雷山县| 外汇| 新余市| 同德县| 吉水县| 天全县| 山阳县| 吴忠市| 安新县| 昆山市| 莲花县|