新聞中心

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

ARM922T核ZCP320A處理器PCI總線操作

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

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

關鍵詞: RTL8139

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

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

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

1 PCI總線接口概述

在ZCP320A中設計了一個AHB-PCI的橋來實現(xiàn)AMBA AHB協(xié)議到PCI協(xié)議的轉換。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設備進行配置訪問需要執(zhí)行的步驟如下:

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

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

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

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

4 PCI從設備工作模式

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

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

如圖4所示。

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

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

5 結束語

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



評論


相關推薦

技術專區(qū)

關閉