1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>PCI接口芯片s5935及其應用

    PCI接口芯片s5935及其應用

    時間:2023-02-20 23:43:27 電子通信論文 我要投稿
    • 相關推薦

    PCI接口芯片s5935及其應用

    摘要:s5935是AMCC公司生產的 PCI接口芯片,可實現直通(PASS-THRU)、郵箱(MAILBOX)、FIFO/DMA三種工作方式。文章簡要介紹了這三種工作方式,并給出了s5935的WDM驅動編程。

        關鍵詞:PCI WDM s5935

    PCI局部總線由于具有高速率以及支持即插即用等特點在微機系統中得到廣泛應用。利用PCI接口芯片可以方便地設計PCI規范板卡。s5935是AMCC公司s59xx系列PCI接口芯片中的一種。該芯片功能強大,可用于高速數據采集處理卡、視頻加速卡以及多媒體通信等。其主要特點如下:

    ●兼容PCI2.1規范,可實現PCI總線主設備和從設備功能;

    ●具有高達132MB/s的傳輸速率;

    ●支持8/16/32位外加用戶總線;

    ●可選nvRAM和擴展BIOS;

    ●具有直通、郵箱、FIFO/DMA三種工作方式;

    ●適于32位5V電平PCI卡,具有160腳PQFP和208腳TQFP兩種封裝。
    (范文先生網www.baimashangsha.com收集整理)
    1 s5935的結構

    圖1所示是s5935的內部結構框圖。s5935中的寄存器分為PCI配置寄存器組和操作寄存器組。前者可從nvRAM的40h~7fh位載入,也可以是默認值,s5935只能實現首部類型0和單功能設備配置。后者用于s5935與外加總線的操作配置和數據傳輸(如中斷控制,郵箱入口等),從PCI總線訪問時稱為PCI操作寄存器組,地址為PCI操作寄存器基址加各寄存器偏移地址;而從外加總線訪問時,稱為外加總線操作寄存器組,可通過ADR[6:2]選擇。

    s5935的引腳接口分為PCI總線接口、外加總線接口和nvRAM接口。外加總線接口包括中斷、復位輸出、數據總線及控制引腳,這三種工作方式各有其獨立的控制引腳。

    2 s5935的工作方式

    s5935具有直通、郵箱和FIFO三種工作方式,其中直通方式(Pass-Thru)可以實現PCI總線對外加總線的實時讀寫,它可對PCI總線讀寫時序直接響應;郵箱方式(MAILBOX)可通過PCI總線與外加總線的一方讀/寫郵箱,另一方接收中斷/查詢并寫/讀郵箱;以上兩種工作方式只能在s5935作為PCI從設備時實現。 而FIFO方式則可使其作為總線主設備來啟動DMA數據傳輸。在典型的PCI數據處理卡中,可用s5935作為PCI接口通過DSP處理數據,同時使用FPGA完成DSP與s5935間的邏輯轉換;郵箱或直通方式用于主機和DSP之間的命令和參數傳輸,FIFO/DMA方式則可完成高速批量數據傳送。下面是s5935的PCI配置及三種工作方式在Win-dows2000下的WDM驅動程序(DDK編程)。

    2.1 s5935的PCI配置

    PCI配置寄存器格式可參考PCI協議文檔。如果不使用nvRAM加載s5935的PCI配置寄存器,將無法實現FIFO和直通工作方式。PCI配置寄存器中的基址寄存器BASE ADDRESS 0對應于PCI操作寄存器的基地址;BASE ADDRESS 1至4則分別對應于四個直通通道地址(無nvRAM時默認為0)。上述基址寄存器的內容可由系統在初始化時查詢以確定映射方式(I/O或內存映射)、直通通道位寬和地址范圍,然后由系統寫入物理地址,這種具體配置方法比較麻煩(見參考文獻1和2)。同時,nvRAM的45h字節的第5、6位必須置0以使能FIFO操作。

    2.2 直通方式

    s5935提供有四條直通通道,可以實現單周期和突發數據傳送。在主機驅動程序中,讀寫直通通道地址可實現數據傳輸,如:

    WRITE PORT USHORT?BASE ADDRESS 3+OFF-SET ADDRESS,DATA?;

    s5935外加總線接口部分相關引腳:

    PTATN: 輸出,直通周期開始;

    PTNUM?1?0?: 輸出,指示四個直通通道之一;

    PTBE?3?0?: 輸出,DQ?31?0?字節使能;

    PTWR: 輸出,讀寫選擇;

    PTADR: 輸入,OFFSET ADDRESS從直通地址寄存器驅動至DQ?31?0?;

    PTRDY: 輸入,表明外加總線完成傳輸;

    ADR?6?2?: 輸入,選擇外加操作寄存器;

    2.3 郵箱方式

    s5935有輸入、輸出郵箱各四個,多采用中斷/查詢方式傳輸數據,外加總線則可由ADR?6:2?和IRQ等引腳實現。中斷控制/狀態寄存器用于實現中斷的使能配置、查詢和清除,郵箱狀態寄存器可查詢郵箱狀態,通過控制/狀態寄存器可使郵箱復位。還可以通過EA?0?8?腳直接讀寫外加總線4號輸出郵箱的第三字節,這也是直連外部中斷的一種簡單方法。在Windows2000下,其典型WDM驅動程序中斷相關部分模型如下(地址I/O映射):

    AddDevice()//加載設備

    ? ……

    IoInitializeDpcRequest();

    ……?

    DispatchPNP ? ? //

    ?……

    case CmResourceTypeInterrupt:

    GetInterruptRes??; //取得中斷資源

    ……

    WRITE PORT ULONG(BASE ADDRESS 0+INTCSR,DISABLE INT DWORD) ;//禁止中斷

    IoConnectInterrupt???

    ……?

        DeviceControl()//實現應用程序中DeviceIOCon-trol函數對設備的讀寫

    ? ……

    switch?CONTROLCODE??……

    case ENABLE INTERRUPT: //使能和配置

    中斷方式

    WRITE PORT ULONG(BASE ADDRESS 0+INTCSR,INT MASK DWORD);

    case WRITE DATA:

    WRITE PORT ULONG(BASE ADDRESS 0+INCOMING MBOX2 ADDRESS,DATA);

    }

    ……}

    InterruptHandler? ? //中斷服務函數

    { ……

    DWORD= READ PORT ULONG(BASE AD-DRESS 0+INTCSR)?//查詢是否使本設備產生的中斷及本設備以何種方式產生中斷

    ……

    DWORD=READ PORT ULONG(BASE AD-DRESS 0+PCI INCOMING MBOX2);//假設2號郵箱收到數據產生此中斷

    WRITE PORT ULONG(BASE ADDRESS 0+INTCSR,DEASSERT INTERRUPT WORD);//清中斷

    ……

    IoRequestDpc();//調用DpcForISR函數,完成可推遲的中斷服務

    ……?

    DpcForISR? ? ?……?

    2.4 FIFO方式

    s5935的兩條FIFO,分別對應于讀、寫外加總線,它們可根據讀寫方向由s5935自動選擇。當外加總線作為主控設備時,使能AMREN(外加總線主控讀使能)和AMWEN(外加總線主控寫使能)引腳即可啟動FIFO/DMA傳輸,同時可通過相應的引腳或寄存器得到FIFO狀態并復位FIFO。當從PCI總線進行s5935主控FIFO/DMA傳輸時,首先應在中斷配置寄存器中寫endian格式和中斷方式,然后寫地址和計數寄存器,最后寫PCI控制/狀態寄存器(MCSR)并啟動DMA, 在Windows2000下的驅動程序步驟如圖2所示,具體編程可參考郵箱方式。


    【PCI接口芯片s5935及其應用】相關文章:

    PCI總線接口芯片9050及其應用08-06

    PCI總線通用接口芯片CH361及其應用08-06

    多媒體PCI接口控制芯片SAA7146A及其應用08-06

    USB總線接口芯片CH371及其應用08-06

    FPGA芯片APA150及其應用08-06

    電力載波芯片ST7538及其應用08-06

    Neuron多處理器芯片及其應用08-06

    高性能DDS芯片AD9954及其應用08-06

    高速PCI總線接口卡的開發08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲亚洲大片亚洲一级高清 | 日本免费一级一区二区三区 | 亚洲性人人天天夜夜摸福利 | 亚洲中出在线视频 | 午夜精品久久久久久不卡 | 色综合国产精品视频 |