如何給PCI卡選用合適的總線控制器
摘要:面對(duì)眾多的、性能各有千秋的同類(lèi)產(chǎn)品,如何取舍,如何在設(shè)計(jì)中選用合適的器件,往往是設(shè)計(jì)者尤其是新手們躊躇的事情。本文分析在檢測(cè)設(shè)備中設(shè)計(jì) PCI總線接口卡時(shí)如何選擇適合的PCI控制器總是;分別介紹幾種符合PCI2.2協(xié)議的新型PCI總線橋接器:AMCC5920、CY70944PV- AC、PCI9030、PCI9054、PCI9056,同時(shí)給出其結(jié)構(gòu)框圖。在比較它們各自的特性后,提出自己的方案選擇。 關(guān)鍵詞:PCI總線 接口卡 AMCC5920 CY7C9449PV-AC PCI9030 PCI9054 PCI9056 引言 現(xiàn)要研制一臺(tái)檢測(cè)設(shè)備,采用工控機(jī)結(jié)構(gòu)。需要設(shè)計(jì)一個(gè)將上位機(jī)與DSP、DDS等功能單元(做成擴(kuò)展卡插在擴(kuò)展槽中)連接起來(lái)的模塊單元(即用來(lái)傳輸控制命令、狀態(tài)和信號(hào)數(shù)據(jù)的接口部件)。在設(shè)計(jì)計(jì)算機(jī)擴(kuò)展接口之前,首先考慮的是采用哪種總線形式。PCI總線是Intel公司推出的一種高性能局部總線,它的主要特點(diǎn)是:①具有地址數(shù)據(jù)多路復(fù)用的高性能32位或64位的同步總線??偩€引腳數(shù)目和部件數(shù)量少(對(duì)于總線目標(biāo)設(shè)備只有47根信號(hào)線,對(duì)于主設(shè)備最多只有49根信號(hào)線),降低了成本及布線復(fù)雜度。②PCI局部總線在33MHz總線時(shí)鐘、
32位數(shù)據(jù)通路時(shí),可達(dá)到峰值132Mbit/s的帶寬;在33MHz總線時(shí)鐘,64位數(shù)據(jù)通路時(shí)可達(dá)到峰值264Mbit/s的帶寬;在66MHz主頻時(shí),對(duì)于32位數(shù)據(jù)通路和64位數(shù)據(jù)通路帶寬的峰值,可分別達(dá)到264Mbit/s或528Mbit/s的帶寬;PCI總線還有線性突發(fā)傳輸功能,保證了滿(mǎn)載的高速傳輸。③PCI總線的設(shè)計(jì)是獨(dú)立于處理器的,可以方便地符合PCI規(guī)范的微機(jī)和工作站系統(tǒng)中進(jìn)行硬件移植,目前已成為嵌入式系統(tǒng)的局部總線之一。④隱蔽的總線仲裁,減小了仲裁開(kāi)銷(xiāo)。⑤極小的存取延時(shí),采用總線多主控和異步數(shù)據(jù)轉(zhuǎn)移操作。⑥PCI提供的數(shù)據(jù)和地址奇偶校驗(yàn)功能,保證數(shù)據(jù)完整性和準(zhǔn)確性。⑦PCI總線與CPU和時(shí)鐘頻率無(wú)關(guān),它能支持多個(gè)外設(shè),設(shè)備間通過(guò)局部總線可以完成數(shù)據(jù)快速傳遞,從而很好地解決數(shù)據(jù)傳輸?shù)钠款i問(wèn)題。⑧對(duì) PCI擴(kuò)展卡及元件,能夠自動(dòng)配置,實(shí)現(xiàn)設(shè)備的即插即用。由于使用方便、靈活、產(chǎn)品壽命長(zhǎng),目前PCI總線產(chǎn)品與其它的總線標(biāo)準(zhǔn)相比具有茂大優(yōu)越性和更為廣闊的應(yīng)用前景。我們決定采用1個(gè)PCI總線的控制器來(lái)完成這個(gè)適配卡的設(shè)計(jì)。通過(guò)這一適配卡的連接,將信號(hào)、數(shù)據(jù)通過(guò)工控機(jī)內(nèi)的總線插槽傳到各個(gè)功能模塊中。 1 芯片選擇 目前,PCI總線接口電路主要有2種選擇:PCI專(zhuān)用芯片組(又稱(chēng)橋接電路)或PLD。PCI總線協(xié)議較復(fù)雜,設(shè)計(jì)PCI控制接口難度較大,對(duì)于產(chǎn)品不大又有時(shí)限的工程項(xiàng)目來(lái)說(shuō),成本較大;而通用的PCI接口芯片功能全而強(qiáng)大(例如FIFO速度快、容量大,可支持DMA方式等),它實(shí)現(xiàn)PCI規(guī)范所要求的所有硬件接口信號(hào)和配置空間寄存器,能夠減少開(kāi)發(fā)時(shí)間和成本,并獲得較好的數(shù)據(jù)傳輸性能。所以決定采用已有的橋接電路。PCI總線橋接器又分主控設(shè)備(master)和目標(biāo)設(shè)備(target)兩大類(lèi)。主控設(shè)備可以控制總線驅(qū)動(dòng)地址、數(shù)據(jù)和控制信號(hào);目標(biāo)設(shè)備不能啟動(dòng)總線操作,只能依賴(lài)于主控設(shè)備從其中讀取或向其傳送數(shù)據(jù)。以下針對(duì)當(dāng)前的一些較新推出的產(chǎn)品作一些介紹和比較。 1.1 目標(biāo)設(shè)備 這是一款采用SMARTarget技術(shù)的32位、33MHz的PCI目標(biāo)接口芯片。是目前PLX公司推出的最高級(jí)通用PCI目標(biāo)設(shè)備。它完全符合 PCI2.2規(guī)范,并且是業(yè)界提供的第1個(gè)支持CompactPCI、熱交換規(guī)范PICMG2.1的產(chǎn)品。
①特色。32位、33MHz目標(biāo)接口支持上至132MB/s的突發(fā)傳送;局部總線操作速度最高達(dá)60MHz,支持突發(fā)傳送達(dá)240MB/s;PCI目標(biāo)讀預(yù)取、延遲寫(xiě)模式。PCI突發(fā)傳輸長(zhǎng)度可編程;支持5個(gè)局部地址空間到PCI總線地址空間映射(空間0、1、2、3、4以及1個(gè)擴(kuò)展的ROM);傳輸?shù)却芷?、總線寬度可編程;提供4個(gè)片選信號(hào)(沒(méi)有譯碼邏輯,局部器件減少)、9個(gè)可編程通用I/O;可編程對(duì)局部總線讀寫(xiě)門(mén)信號(hào);全面支持PCI2.2規(guī)范中的關(guān)鍵產(chǎn)品數(shù)據(jù)(vital product data),包含一些新的功能結(jié)構(gòu),為用戶(hù)或系統(tǒng)定久的參數(shù)或配置數(shù)據(jù)提供了一個(gè)靈活的存取方式;包含2個(gè)可編程FIFO(PCI目標(biāo)讀FIFO深度為 16個(gè)長(zhǎng)字、PCI目標(biāo)寫(xiě)FIFO深度為32個(gè)長(zhǎng)字)。PCI9030還提供了1個(gè)PCI時(shí)鐘的緩沖輸出,可用來(lái)作為局部總線的輸入時(shí)鐘;封裝為176腳 PQFP以及180腳uBGA。 ②兼容性。PCI9030的引腳與9050、9052、9054、9080均不兼容,只兼容9050、9052的寄存器,并提供了某些寄存器新的位定義和若干新的寄存器定義;但與9054以及9080的寄存器不兼容。PCI9030可廣泛應(yīng)用于網(wǎng)絡(luò)、通信、圖像及海量存儲(chǔ)設(shè)計(jì)中。它易于將已有的其它總線設(shè)計(jì)轉(zhuǎn)換到PCI總線的設(shè)計(jì),縮短了設(shè)計(jì)周期,且其豐富的外部接口大節(jié)省了制板空間。 (2)AMCCS5920 AMCCS5920(簡(jiǎn)稱(chēng)S5920)是AMCC公司新近推出的一種PCI總線目標(biāo)接口芯片,從其功能來(lái)看,可被視作是S5933的子集。與后者相比,S5920減少了總線主控的功能,其它性能相仿,甚至有所增強(qiáng);而價(jià)格卻降低了很多,因此,在很多無(wú)需進(jìn)行總線主控的場(chǎng)合,采用S5920完成設(shè)計(jì)能取得更高的性能價(jià)格比。其主要性能如下:符合PCI2.2標(biāo)準(zhǔn);最高傳輸速率132MB/s;可編程的預(yù)取長(zhǎng)度和等待周期;4個(gè)32位讀寫(xiě)FIFO的直通通道;外加總線可工作于主動(dòng)或被動(dòng)狀態(tài);支持即插即用;支持串行NVRAM和可選的外部BIOS配置;160腳PQFP封裝。
S5920提供了3個(gè)物理總線接口:PCI總線接口、外加總線接口和外部非易失性存儲(chǔ)器接口。PCI總線接口與主機(jī)板的PCI總線擴(kuò)展槽連接,外加總線接口與外部功能設(shè)備連接,非易失性存儲(chǔ)器接口與配置存儲(chǔ)器連接;符合I2C串行總線標(biāo)準(zhǔn),配置存儲(chǔ)器通常是串行E2PROM,容量從128字節(jié)到65 526字節(jié);數(shù)據(jù)傳送在PCI總線與外加總線之間進(jìn)行。與S5933一樣,S5920為設(shè)計(jì)者提供了與PCI總線相邊的靈活易用的方式。通過(guò)S5920,復(fù)雜的PCI總線被轉(zhuǎn)換成易于使用的8/16/32位用戶(hù)部,即外加總線。S5920有信箱和直通通道2種傳輸方式,并為2種方式提供了完備的操作寄存器完成各種定義和設(shè)置。 1.2 主控設(shè)備 (1)PCI9054 PCI9054是由美國(guó)PLX公司生產(chǎn)的先進(jìn)的PCI I/O加速器,采用了先進(jìn)的PLX數(shù)據(jù)流水線結(jié)構(gòu)技術(shù),是32位、33MHz的PCI總線主I/O加速器;符合PCI本地總線規(guī)范2.2版,突發(fā)傳輸速率達(dá)到132MB/s,本地總線支持復(fù)用/非復(fù)用的32位地址/數(shù)據(jù);有M、C、J三種模式;針對(duì)不同的處理器及局總線特性可選,盡量減少中間邏輯;具有可選的串行E2PROM接口,本地總線時(shí)鐘可和PCI時(shí)鐘異步。PC9054內(nèi)部有6種可編程的FIFO,以實(shí)現(xiàn)零等待突發(fā)傳輸及本地總線和PCI總線之間的異步操作;支持主模式、從模式、DMA傳輸方式,因其強(qiáng)大的功能可應(yīng)用于適配卡和嵌入式系統(tǒng)中。PCI 9054是一種性比高的PCI橋路芯片,比PCI9080、PCI9050等性能更優(yōu)越。 (2)PCI9056 具有32位、66MHz的PCI總線以及局部總線操作,是目前最先進(jìn)的32位通用主控芯片;內(nèi)部還是基于原有的9054技術(shù)架構(gòu)。與9054相比,有以下特點(diǎn):a.含有1個(gè)PCI仲裁器,支持7個(gè)外部主控設(shè)備,針對(duì)Compact PCI(含有7個(gè)插槽)的設(shè)計(jì)是足夠了。B.2個(gè)獨(dú)立的DMA通道:每個(gè)通道含有1個(gè)雙向的深度為64長(zhǎng)字(256字節(jié))的FIFO。C.差分讀寫(xiě)數(shù)據(jù)。 d.用有效位旗語(yǔ)描述符控制動(dòng)態(tài)DMA振鈴管理。e.增強(qiáng)的M模式功能,能提供PowerQUICC超出原有16字節(jié)長(zhǎng)度限制的突發(fā)傳送。f.對(duì)于主控方式,有2個(gè)獨(dú)立的讀(32長(zhǎng)字)寫(xiě)(64長(zhǎng)字)FIFO;對(duì)于目標(biāo)模式,也有2個(gè)響應(yīng)同樣深度的FIFO;并有可編程的讀信號(hào)超過(guò)報(bào)告及其恢復(fù)。g.符合 PICMG 2.1熱交換技術(shù)規(guī)范,包括電壓偏移容錯(cuò)、預(yù)充電功能與預(yù)置不支持響應(yīng)功能,支持PCI電源管理rl.1,含有D3cold電源事件中斷,符合Windows 98和Windows2000系統(tǒng)設(shè)計(jì)的需求,h.可應(yīng)用于嵌入式主機(jī)的復(fù)位和中斷引腳設(shè)置功能。i.JTAG邊界掃描。j.256-FPBGA封裝(17mm%26;#215;17mm,1.0mm),2.5V的CMOS芯核電壓,對(duì)3V和5V的I/O信號(hào)電平容錯(cuò)。
PCI9056與9054的寄存器兼容,易于實(shí)現(xiàn)設(shè)計(jì)的平滑轉(zhuǎn)換。 (3)CY7C09449PV CY7C09449PV-AC是Cypress公司提供的符合PCI2.2總線規(guī)范的功能完善、價(jià)格低廉的雙端口RAM接口芯片。其中一個(gè)端口是PCI接口,適合與PC機(jī)通信;另一個(gè)端本地接口,適合與各類(lèi)本地CPU通信,其總線通信時(shí)鐘速率可達(dá)50MHz,2個(gè)端口均可以獨(dú)立讀/寫(xiě)靜態(tài)存儲(chǔ)器SRAM。其主要特點(diǎn)如下:a.完全兼容PCI規(guī)范2.2版;b.128Kbit雙向靜態(tài)SRAM;c.可作為主/從設(shè)備進(jìn)行數(shù)據(jù)的傳輸,支持PCI突發(fā)方式及 DMA操作;d.具有I2O(智能輸入/輸出)功能,當(dāng)I/O單元工作時(shí)包含4組32位FIFO、終端寄存器及部分SRAM用于一般存儲(chǔ)目的;e.可作為主橋接口;f.單一3.3V電源供電,對(duì)3V、5V信號(hào)電平容錯(cuò);g.可通過(guò)I2C總線對(duì)芯片進(jìn)行初始化配置,并把設(shè)置參數(shù)存于非易失性NVRAM;h.由4個(gè)FIFO和1個(gè)中斷寄存器構(gòu)成I2O消息單元;i.可直接與多種處理器連接,減少了邏輯部件;j.局部總線時(shí)鐘可達(dá)50MHz。k.160腳扁平方形塑封。仲裁加上等待的方式,允許兩邊CPU在指令級(jí)共享SRAM,允許兩邊的CPU相互通過(guò)中斷交換信息,還允許通過(guò)狀態(tài)信號(hào)相互同步。該芯片不含有總線仲裁功能(這一功能是標(biāo)準(zhǔn)PC及嵌入式系統(tǒng)所必需的),可以請(qǐng)示獲取PCI總線控制權(quán)。 CY7C09449PV-AC可以直接與許多處理器連接,省卻了粘著邏輯部件,可以采用總線。 2 選用分析 在眾多通用的PCI接口芯片中,最后選用了PCI9054。原因如下:①目前AMCC公司的S5920、PLX公司的PCI9052/50等芯片已在市場(chǎng)上廣泛應(yīng)用,它們的優(yōu)越性主要是實(shí)現(xiàn)了PCI目標(biāo)設(shè)備的功能,并提供了與ISA總線信號(hào)兼容或時(shí)序相似的本地總線信號(hào),是從ISA到PCI總線平臺(tái)平滑過(guò)渡的最佳選擇;但它們都不支持PCI2.2協(xié)議,無(wú)論是操作速度還是傳輸帶寬在性能上已屬落后,而且從DSP和適配卡的發(fā)展方向來(lái)說(shuō),3.3V低電壓的信號(hào)環(huán)境是更主流的選擇。②如果只是與局總處理器相連,采用CY7C09449PV-AC將是上佳之先;但由于本系統(tǒng)各功能模塊作用不同,與主機(jī)交換信息的方式不同,不能同時(shí)共享CY7C09449PV-AC的右邊接口,因此不選用;③信號(hào)產(chǎn)生模塊中的DSP在需要的時(shí)候,也會(huì)發(fā)起傳輸,所以,決定采用主/ 從控制器更好些。我們所研制的這套檢測(cè)設(shè)備是將根據(jù)設(shè)定的參數(shù)而產(chǎn)生的仿真的回波信號(hào)數(shù)據(jù)流,當(dāng)每次收到啟動(dòng)脈沖時(shí),將預(yù)存數(shù)據(jù)傳入處理模塊中,同時(shí) DSP預(yù)備產(chǎn)生下一次所需的回波信號(hào),這樣對(duì)數(shù)據(jù)流的速度要求就不是很高,所以選擇了PCI9054。PCI9054也是目前業(yè)界設(shè)計(jì)適配器選用的主流芯片。PCI9054以其強(qiáng)大的功能和簡(jiǎn)單的用戶(hù)接口,為PCI總線接口的開(kāi)發(fā)提供了一種簡(jiǎn)潔的方法,設(shè)計(jì)者只需設(shè)計(jì)本地總線接口控制電路,即可實(shí)現(xiàn)與 PCI總線的高速數(shù)據(jù)傳輸。而且由于PCI9056、PCI9656與它的兼容性較好,將來(lái)很容易將設(shè)計(jì)性能提升到64位或64MHz操作,目前已將 PCI9054用于實(shí)際設(shè)計(jì)中。 圖1~圖5是所介紹的PCI總線接口卡的設(shè)計(jì)方案圖及各個(gè)芯片的內(nèi)部結(jié)構(gòu)圖。
結(jié)束語(yǔ) 每當(dāng)要開(kāi)始一個(gè)工程項(xiàng)目設(shè)計(jì)時(shí),首先要搞清楚的是該項(xiàng)目所要完成的性能指標(biāo),然后再確定具體的實(shí)施方案。在成本預(yù)算允許的情況下,當(dāng)然要選用當(dāng)前最先進(jìn)的芯片,同時(shí)也要考慮到采用這種產(chǎn)品的設(shè)計(jì)在未來(lái)的可擴(kuò)展性、易維護(hù)性、升級(jí)成本等;另一方面也不能盲目采用所謂“高性能”產(chǎn)品。“高性能”產(chǎn)品往往集成了很多功能,而且“高性能”的體現(xiàn)還要整體系統(tǒng)性能的配套提高,或者設(shè)計(jì)指標(biāo)本就不高,這樣選用的“高性能”芯片只會(huì)造成資源浪費(fèi),也許隨之來(lái)還有應(yīng)用的復(fù)雜性??傊诳紤]同類(lèi)產(chǎn)品的選用時(shí),要以盡量提高產(chǎn)品的性?xún)r(jià)比為宗旨。在這方面,PLX為了使產(chǎn)品開(kāi)發(fā)風(fēng)險(xiǎn)降到最低并降低成本,提供了支持PCI9054 的軟件開(kāi)發(fā)套件(SDK)和參考設(shè)計(jì)套件(RDK),這些套件可讓設(shè)計(jì)者快速地將設(shè)計(jì)推向生產(chǎn)線。當(dāng)然,產(chǎn)品的更新?lián)Q代速度、價(jià)格、供貨期等這些也都是需要考慮的方面,同時(shí)參考一些成熟的產(chǎn)品設(shè)計(jì),也能提供一定的參考作用。 摘要:面對(duì)眾多的、性能各有千秋的同類(lèi)產(chǎn)品,如何取舍,如何在設(shè)計(jì)中選用合適的器件,往往是設(shè)計(jì)者尤其是新手們躊躇的事情。本文分析在檢測(cè)設(shè)備中設(shè)計(jì) PCI總線接口卡時(shí)如何選擇適合的PCI控制器總是;分別介紹幾種符合PCI2.2協(xié)議的新型PCI總線橋接器:AMCC5920、CY70944PV- AC、PCI9030、PCI9054、PCI9056,同時(shí)給出其結(jié)構(gòu)框圖。在比較它們各自的特性后,提出自己的方案選擇。