基于PCI總線的接口設(shè)計(jì)方案
目前,PCI總線已成為新一代個(gè)人計(jì)算機(jī)的標(biāo)準(zhǔn)總線,它是一種高性能的32/64位地址數(shù)據(jù)復(fù)用總線,總線時(shí)鐘頻率的0~33MHz。它不象ISA異步總線那樣把地址尋址和數(shù)據(jù)讀寫控制信號都交由微處理器產(chǎn)生,而是一種獨(dú)立于處理器的同步總線,可以支持猝發(fā)傳送。為支持即插即用功能,PCI總線規(guī)范定義了264字節(jié)的配置空間。由于PCI總線協(xié)議比較復(fù)雜,因而其接口電路實(shí)現(xiàn)起來比較困難,但采用通用PCI接口芯片即可很好地解決這個(gè)問題。
設(shè)計(jì)PCI接口的實(shí)現(xiàn)通常有兩種方法:一種是用可編程器件FPGA或CPLD,另一種是用專用PCI接口芯片。二者各有優(yōu)缺點(diǎn):利用可編程器件自行設(shè)計(jì)PCI接口邏輯,可以根據(jù)具體的應(yīng)用需要,優(yōu)化接口邏輯,靈活性是該方法最大的特點(diǎn),且接口邏輯也可獲得較高的性能。但是由于PCI協(xié)議比較復(fù)雜,在具體的實(shí)現(xiàn)中也相當(dāng)困難,并且各種邏輯關(guān)系驗(yàn)證起來也很麻煩,有時(shí)會(huì)得不償失,把簡單的設(shè)計(jì)變得復(fù)雜化了;而利用專用芯片來實(shí)現(xiàn)PCI總線接口是一種能夠解決設(shè)計(jì)難點(diǎn)的有效方法。但是這種芯片必須具有較低的成本和通用性,而不限于插卡一側(cè)的特定處理器總線,能夠優(yōu)化數(shù)據(jù)傳輸,提供配置空間,具備片內(nèi)FIFO功能(用于突發(fā)性傳輸)等。例如南京沁恒公司的CH365,AMCC 公司的AMCC S5920、AMCC S5933,PLX 公司的PLX9054、PLX9080 等,通過專用芯片可以實(shí)現(xiàn)完整的PCI主控模塊和目標(biāo)模塊的功能,將復(fù)雜的PCI總線接口轉(zhuǎn)換為相對簡單的用戶接口,用戶只要設(shè)計(jì)轉(zhuǎn)換后的總線接口即可,它能實(shí)現(xiàn)PCI規(guī)范所要求的所有硬件接口信號和配置空間寄存器,專用接口芯片具有較低的成本和通用性,能夠有效降低接口設(shè)計(jì)的難度,縮短開發(fā)時(shí)間, 并能獲得較好的數(shù)據(jù)傳輸性能。下面將主要介紹PLX公司的PCI9054接口芯片。
PCI9054是PLX公司生產(chǎn)的PCI總線通用接口芯片,采用先進(jìn)的PLX數(shù)據(jù)管道結(jié)構(gòu)技術(shù),符合PCIV2.1和V2.2規(guī)范。提供了兩個(gè)獨(dú)立的可編程DMA控制器。每個(gè)通道均支持塊和分散/集中的DMA方式:在PCI總線端支持32位/33MHz;本地端(local bus)可以編程實(shí)現(xiàn)8、16、32位的數(shù)據(jù)寬度,傳輸速率最高可達(dá)132MB/s。
PCI9054作為一種橋接芯片在PCI總線和LOCAL總線之間提供傳遞消息,既可以作為兩個(gè)總線的主控設(shè)備去控制總線,也可以作為兩個(gè)總線的目標(biāo)設(shè)備去響應(yīng)總線。其本地總線可工作在M,C,J三種模式:M模式是專為Motorola公司的MCU設(shè)計(jì)的工作模式。C模式下9054芯片通過片內(nèi)邏輯控制將PCI的地址線和數(shù)據(jù)線分開,很方便地為本地工作時(shí)序提供各種工作方式,一般較廣泛應(yīng)用于系統(tǒng)設(shè)計(jì)中。J模式是一種沒有Local Master的工作模式。它的好處是地址數(shù)據(jù)線沒有分開,嚴(yán)格仿效PCI總線的時(shí)序。
PCI熱插拔技術(shù)的基本目的是在系統(tǒng)正常工作的同時(shí),PCI總線上插入或拔出插件板,完成故障插件板的更換與計(jì)算機(jī)系統(tǒng)的重新配置。熱插拔技術(shù)主要分為三種處理過程:
1)物理連接過程
熱插入——在工作著
CPCI總線上加入插件板。
熱拔出—— 在工作著
CPCI總線上移走插件板。
2)硬件連接過程
計(jì)算機(jī)系統(tǒng)在硬件上的電氣連接與斷開。
3)軟件連接過程
計(jì)算機(jī)系統(tǒng)在軟件上的連接與斷開。
這些連接過程在系統(tǒng)中雖屬于不同的連接層,但是彼此相互關(guān)聯(lián)。例如:當(dāng)物理連接不存在時(shí),硬件連接層就不能產(chǎn)生電氣連接。而插件板從計(jì)算機(jī)系統(tǒng)的PCI總線上拔出后,軟件與硬件連接將自動(dòng)斷開。
我們研制的設(shè)備實(shí)際上是一個(gè)通用硬件平臺,通過加載不同軟件,它需要完成很多復(fù)雜信號的檢測、解調(diào)等功能,由于受到硬件運(yùn)算速度、存儲(chǔ)量等資源限制,這些信號處理僅靠底層的硬件電路(如DSP、FPGA)將很難滿足要求,這就需要傳給主控板處理;另外,考慮到應(yīng)用的場合,CPCI總線系統(tǒng)很適合我們的要求,其接口設(shè)計(jì)就成為十分重要的部分,需要從軟硬件兩個(gè)方面全盤考慮、精心設(shè)計(jì),才能達(dá)到預(yù)期目標(biāo)。