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

    EEPW首頁 > 嵌入式系統 > 設計應用 > ARM922T核ZCP320A處理器PCI總線操作

    ARM922T核ZCP320A處理器PCI總線操作

    作者: 時間:2005-03-23 來源:網絡 收藏

    摘要:本文簡要說明了內部集成的接口、編程模式及工作模式,并介紹了作為主設備時如何訪問外部擴展的RTL8139 網卡設備。為以后的設計者提供借鑒及應用基礎。

    關鍵詞: RTL8139

    采用了ARM公司的核,是ARM9TDMI通用家族中的一員采用哈佛結構內部使用5級流水線支持32位的ARM指令系統和16位的Thumb指令系統包括兩個相互獨立的8KB 的數據和指令高速緩存,高速緩存行的長度是8個字。ARM922T 實現增強型ARM結構v4MMU以提供對指令和數據地址的轉換和訪問許可檢測。ARM922T 支持ARM調試結構協以及Tracking ICE。

    ZCP320A內部使用三條AHB連接實現功能所需的主從設備。每條AHB總線連接一個主設備和多個從設備。根據總線連接的主設備的不同,三條總線分別被命名為COREBUS(ARM9 核作為該總線的主設備)、PBUS(PCI橋作為該總線的主設備)和DBUS(DMA控制器作為該總線的主設備)。這三條總線由總線管理模塊統一進行管理。

    ZCP320A集成的PCI總線接口是一個符合PCI協議2.2的總線接口。由于ZCP320A的內部總線是符合AMBA AHB協議的總線,所以在ZCP320A中設計了一個AHB-PCI的橋來實現AMBA AHB協議到PCI協議的轉換。PCI總線通過AHB-PCI橋連接到內部AHB總線。

    1 PCI總線接口概述

    在ZCP320A中設計了一個AHB-PCI的橋來實現AMBA AHB協議到PCI協議的轉換。PCI總線通過AHB-PCI橋連接到內部AHB總線。如圖1所示。

    配置地址寄存器的位31是配置使能位。在進行配置時必須將該位設置為1。30-24位是保留位;23-16位是總線號,直接連接在ZCP320A的PC 接口的總線為0號總線。15-11位是設備號,它主要取決于硬件信號IDSEL連接到哪個地址線(AD16-AD31)上,AD16-AD31分別表示設備號0-15。10-8位是功能號,對于單功能設備,其值為0。7-2是外部PCI設備的PCI配置空間寄存器偏移量。

    要訪問RTL8139,需要對其PCI配置空間寄存器作如下配置:

    REG_WRITE(0xe0000000,0xcf8,0x80001814); /* Access 8139 BAR0 */

    REG_WRITE(0xe0000000,0xcfc, 0x10000000); /* Set BAR0=0x100000000 */

    REG_WRITE(0xe0000000,0xcf8,0x80001804);

    /* Access 8139 Command and Status Register */

    REG_WRITE(0xe0000000,0xcfc, 0x02000147);

    /* Enable Bus Master and Memory , IO Access */

    /* 下面是讀取8139的VID和DID */

    REG_WRITE(0xe0000000,0xcf8,0x80001800);

    /* Access 8139 VID and DID Register */

    REG_READ(0xe0000000,0xcfc, VIDDID);

    由此,我們可以利用已知的VID和DID來查找PCI總線是否存在該設備。由于8139的INTA直接連接到ZCP320A處理器的外部中斷1引腳,所以不需要對配置空間的0x3c進行寫。從此以后我們可以利用0x10000000作為RTL8139的基地址來訪問RTL8139的寄存器。如訪問偏移地址0x0000~0x0005來讀取8139的MAC地址,即

    for(i=0;i6;i++)

    mac[i] = *(UCHAR *)(0x10000000 + i);

    接下來我們就可以編寫RTL8139的驅動程序了,在此就論述了。

    3.3 訪問外部PCI設備需要注意的事項

    ZCP320A要通過PCI橋對外部的PCI設備進行配置訪問需要執行的步驟如下:

    (1) 在硬件上要保證連接正確,主要有所要配置的從設備的IDSEL連接到哪一根地址線上,也就是它的設備號是多少。

    (2)對PCI配置地址寄存器(0xcf8)進行正確配置,使它和硬件連接一致,主要指總線號和設備號。

    (3)對PCI配置數據寄存器(0xcfc)進行讀/寫訪問,從而實現對外部PCI設備的配置訪問。

    另外要注意的是由于作配置訪問的時候要對配置地址和數據寄存器進行訪問,而這兩個寄存器屬于橋上的寄存器區,所以要先對寄存器區進行鎖定,然后才能進行配置寫

    4 PCI從設備工作模式

    在AHB-PCI 橋的輸入通道,橋作為PCI總線的從設備同時作為AHB PBUS 的主設備,外部擴展的PCI設備則為主設備。橋從PCI總線上接收傳輸命令并在PBUS上發起相應的操作訪問CPU的資源并反饋回去,通過FIFO將數據在PCI總線和PBUS之間傳輸實現兩種總線協議的轉換。

    PBUS和PCI總線是PCI橋作為PCI從設備同時作為PBUS上的AHB主設備時的兩條連接總線,這兩條總線相互獨立又通過PCI橋聯系起來。

    如圖4所示。

    外部PCI主設備可以通過AHB-PCI橋來訪問PBUS上的SDRAM、FLASH以及PCI數據緩沖區A、B等。

    至于PCI作為從設備,一般比較少用。所以在此不再介紹。

    5 結束語

    ZCP320A內部集成的PCI總線接口,大大簡化了系統設計。可以無縫擴展PCI設備,例如網卡、顯卡等。訪問外部擴展的PCI設備只需按照上述說明即可。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 勃利县| 东平县| 游戏| 辽阳县| 齐齐哈尔市| 瓮安县| 无极县| 密云县| 台东县| 滨州市| 井研县| 呼图壁县| 新宾| 沙湾县| 正阳县| 天门市| 浦东新区| 盐边县| 彩票| 临漳县| 阳原县| 阳信县| 玛多县| 辽源市| 镇赉县| 都安| 朝阳区| 长顺县| 瑞安市| 峡江县| 彩票| 芦溪县| 扎赉特旗| 航空| 延津县| 民丰县| 常熟市| 调兵山市| 宜兰市| 微博| 额敏县|