摘要:S5920是AMCC公司推出的一種PCI總線接口芯片。文章介紹了S5920的結(jié)構(gòu)和特性,詳細(xì)描述了其信箱和直通通道的工作機(jī)制以及外加總線信號(hào)的定義,給出了利用S5920直通通道實(shí)現(xiàn)并行數(shù)據(jù)接口擴(kuò)展卡的設(shè)計(jì)實(shí)例。
關(guān)鍵詞:S5920;PCI總線;信箱;直通通道
1 引言
PCI局部總線由于其速度高、可靠性強(qiáng)、成本低及兼容性好等性能,在各種計(jì)算機(jī)總線標(biāo)準(zhǔn)中占主導(dǎo)地位,采用基于PCI標(biāo)準(zhǔn)的接口設(shè)計(jì)已成為各種項(xiàng)目開(kāi)發(fā)中的優(yōu)先選擇。但是,由于PCI總線規(guī)范和接口定義較為復(fù)雜,從而使得傳統(tǒng)的、以中小型規(guī)模器件開(kāi)發(fā)接口電路的方法難以實(shí)現(xiàn)。鑒于此,許多廠家推出了專用的PCI總線接口芯片,其中AMCC公司生產(chǎn)的S59XX系列芯片因其功能強(qiáng)大、開(kāi)發(fā)方便,而應(yīng)用最為廣泛。
S5920是AMCC公司新近推出的一種PCI總線接口芯片,它可被視作S5933的子集。與之相比,S5920減少了總主控的功能,但其它性能與之相仿或有所增強(qiáng),但價(jià)格降低了很多。因此,在無(wú)需進(jìn)行總線主控的場(chǎng)合,使用S5920具有更高的性價(jià)比。
S5920的主要特點(diǎn)如下:
●符合PCI2.2標(biāo)準(zhǔn)的總線目標(biāo)/受控設(shè)備;
●具有最高132M字節(jié)/秒的傳輸速率;
●具有可編程的預(yù)取和等待狀態(tài);
●帶有4個(gè)集成32位讀寫FIFO的直通通道;
●外加總線可工作于主動(dòng)或被動(dòng)狀態(tài);
●具有直接操作的信箱數(shù)據(jù)鎖存/中斷引腳和直接操作的PCI和外加總線中斷引腳;
●支持即插即用;
●支持串行nvRAM(非易失性RAM)和可選的外部BIOS;
●采用160腳PQFP封裝。
2 內(nèi)部結(jié)構(gòu)
與S5933一樣, S5920為設(shè)計(jì)者提供了與PCI總線相連的靈活易用的方式。通過(guò)S5920,復(fù)雜的PCI總線可被轉(zhuǎn)換成易于使用的8/16/32位用戶總線即外加總線(ADD_ON_BUS)。S5920有信箱(MAIL_BOX)和直通通道(PASS_THRU)兩種傳輸方式,并為這兩種方式提供了完備的操作寄存器和外加總線信號(hào)。設(shè)計(jì)者可根據(jù)需要選擇合適的傳輸方式,并通過(guò)S5920內(nèi)部寄存器完成各種定義和設(shè)置。這樣的特性使得設(shè)計(jì)者在進(jìn)行應(yīng)用設(shè)計(jì)時(shí)無(wú)須深入掌握PCI總線規(guī)范,而只需將注意力集中在外加總線邏輯和擴(kuò)展卡功能的實(shí)現(xiàn)上即可,從而大大減少了為嚴(yán)格遵循PCI接口定義和總線時(shí)序所帶來(lái)的工作量。
S5920的內(nèi)部結(jié)構(gòu)如圖1所示。下面對(duì)其主要組成模塊作一介紹。

2.1 S5920的寄存器結(jié)構(gòu)
S5920的通信、控制和配置主要通過(guò)PCI配置寄存器的內(nèi)部操作寄存器來(lái)實(shí)現(xiàn)。該P(yáng)CI配置寄存器是所有遵循PCI規(guī)范的設(shè)備都必須提供的一組寄存器,它們之中保存了特殊的設(shè)備和產(chǎn)品信息,如廠商ID、設(shè)備ID、存儲(chǔ)空間需求等,其內(nèi)容在系統(tǒng)引導(dǎo)時(shí)被主BIOS讀入內(nèi)存。這些寄存器在S5920芯片中既可用自定義的缺省值進(jìn)行初始化,也可由設(shè)計(jì)者用存儲(chǔ)在外部nvRAM中的內(nèi)容重新定義。
S5920內(nèi)部操作寄存器主要包括信箱數(shù)據(jù)寄存器、信箱狀態(tài)寄存器、中斷控制/狀態(tài)寄存器、復(fù)位控制寄存器、直通通道設(shè)置寄存器、直通通道地址和數(shù)據(jù)寄存器。除直通通道地址和數(shù)據(jù)寄存器只用于外加總線讀寫直通通道外,其它寄存器都是雙向的,因而能被PCI或外加總線直接訪問(wèn)。
2.2 nvRAM接口
S5920支持的兩線串行nvRAM,除了可保存設(shè)備的配置信息外,如有必要,在nvRAM中也可包含擴(kuò)展的BIOS。設(shè)備加電后,S5920將自動(dòng)讀取nvRAM中的內(nèi)容,并將其寫入相應(yīng)的配置寄存器。
2.3 信箱通道
與S5933提供4個(gè)雙向的信箱通道不同的是,S5920只有一個(gè)雙向的信箱通道,但在多數(shù)設(shè)計(jì)中,這已經(jīng)足夠。由于S5920為信箱通道提供了非常靈活的操作方式,因而使得信箱的應(yīng)用更加簡(jiǎn)便容易。
S5920內(nèi)部有兩個(gè)信箱寄存器,其寬度均為4個(gè)字節(jié),可分別用于完成PCI到外加總線和外加總線到PCI的數(shù)據(jù)傳輸。S5920同時(shí)提供了一個(gè)信箱狀態(tài)寄存器,可用于指示兩個(gè)信箱寄存器中的任一字節(jié)的“空/滿”狀態(tài),這使得設(shè)計(jì)者可靈活地實(shí)現(xiàn)8/16/32位的設(shè)計(jì),比如在外加總線上傳輸一個(gè)8位單字節(jié)數(shù)據(jù)時(shí)就無(wú)需考慮32位數(shù)據(jù)的組裝和拆分。
信箱數(shù)據(jù)的傳送有寄存器讀寫和硬件直接訪問(wèn)兩種方式。為實(shí)現(xiàn)信箱數(shù)據(jù)的硬件直接訪問(wèn),S5920配備有專用的外部信箱數(shù)據(jù)和鎖存引腳。信箱的每個(gè)字節(jié)都可以引起PCI總線或外加總線的中斷,通過(guò)對(duì)操作寄存器的編程,可以選擇在信箱寫入數(shù)據(jù)時(shí)哪一個(gè)字節(jié)引起中斷,這些中斷既可以產(chǎn)生在PCI總線上也可以產(chǎn)生在外加總線上。S5920還有一種特有的機(jī)制,即直接由硬件接口引起PCI總線上的中斷或在外加總線上通過(guò)一組專用的引腳訪問(wèn)信箱,如果中斷被允許,那么數(shù)據(jù)鎖入信箱將產(chǎn)生PCI總線上的一個(gè)中斷。





