以太網(wǎng)(Ethernet)作為應(yīng)用最廣泛的局域網(wǎng)技術(shù)異軍突起,已經(jīng)迅速走向工業(yè)自動(dòng)化控制領(lǐng)域的前臺(tái),。CPCI總線系統(tǒng)插槽有限,設(shè)計(jì)基于CPCI總線的多網(wǎng)口卡可節(jié)省空間,,又可以滿足狀態(tài)監(jiān)測(cè)及故障診斷系統(tǒng)要求的實(shí)時(shí)和大數(shù)據(jù)量傳輸,。
1 模塊總體設(shè)計(jì)
該模塊采用CPCI并行總線進(jìn)行設(shè)計(jì)。圖1給出該模塊總體設(shè)計(jì)框圖,,其中,,通過(guò)PCI橋擴(kuò)展總線分別連接4片INTEL82551,由于INTEL82551內(nèi)部已集成PCI接口,,PCI橋可實(shí)現(xiàn)與INTEL82551之間的無(wú)縫連接,。J1和J2為CPCI的接口插件。
2 CPCI總線結(jié)構(gòu)模塊
2.1 原理和結(jié)構(gòu)
在1條PCI總線上如果連接過(guò)多的電氣負(fù)載或設(shè)備,,總線不能正常工作,。通過(guò)在系統(tǒng)內(nèi)另外增加1條或多條PCI總線,問(wèn)題可以得到解決。在系統(tǒng)內(nèi)擴(kuò)展另1條PCI總線,,唯一的方法是使用PCI-PCI(即P2P)橋進(jìn)行系統(tǒng)擴(kuò)展,。P2P橋是特殊的PCI設(shè)備,可把系統(tǒng)中的PCI總線粘合在一起,。P2P橋在系統(tǒng)中連接主從兩條PCI總線,它作為上一級(jí)總線的一個(gè)負(fù)載,,通過(guò)對(duì)PCI信號(hào)的重新驅(qū)動(dòng)和仲裁,,而向下可以驅(qū)動(dòng)一個(gè)總線段。
其作用是協(xié)調(diào)2條PCI總線之間的數(shù)據(jù)傳輸,,監(jiān)視在這兩條PCI總線上啟動(dòng)的所有交易,,并決定是否將交易傳送通過(guò)另一條PCI總線。當(dāng)橋確定將一條總線上的交易傳送到另一條總線時(shí),,橋必須充當(dāng)交易總線的總線目標(biāo),,以及交易的目的總線的主設(shè)備。系統(tǒng)設(shè)計(jì)者也可以安裝多個(gè)P2P橋,。
2.2 PCI2050B簡(jiǎn)介
根據(jù)系統(tǒng)集成的特性,,這里選擇TI公司的PCI2050B橋接器來(lái)實(shí)現(xiàn)P2P橋。PCI2050B屬于透明的PCI-PCI橋,,在2個(gè)32位最高工作頻率66 MHz的PCI總線之間提供橋連接,。該橋支持突發(fā)模式(burstmode transfers),極大增加了數(shù)據(jù)的吞吐量,,橋的總線數(shù)據(jù)路徑(tmstraffic paths)獨(dú)立工作,。橋的主、從總線分別可以工作在3.3 V或者5 V的環(huán)境下,,而橋的核心邏輯工作在3.3 V,,以減少功耗。主機(jī)軟件通過(guò)內(nèi)部寄存器對(duì)橋進(jìn)行操作,。通過(guò)內(nèi)部寄存器既可以得到標(biāo)準(zhǔn)PCI的狀態(tài),,也可以對(duì)主、從總線進(jìn)行控制,。橋的PCI配置頭只能通過(guò)主PCI接口來(lái)操作,。PC-I2050B帶9個(gè)從總線,除了為每個(gè)從總線提供內(nèi)部仲裁外,,也可為系統(tǒng)提供外部仲裁,。PCI2050B提供10個(gè)從側(cè)時(shí)鐘輸出。
2.3 PCI橋的設(shè)計(jì)
根據(jù)該模塊總體設(shè)計(jì)框圖,,系統(tǒng)設(shè)計(jì)需要注意以下幾個(gè)方面,。
2.3.1 時(shí)鐘設(shè)計(jì)
圖2為PCI2050B的時(shí)鐘設(shè)計(jì)框圖。
該時(shí)鐘設(shè)計(jì)要點(diǎn)如下:
1)PCI2050B有2個(gè)獨(dú)立的時(shí)鐘域,主接口受主側(cè)輸入時(shí)鐘P_CLK的控制,,從接口受從側(cè)輸入時(shí)鐘S_CLK的控制,。這2個(gè)時(shí)鐘相互獨(dú)立,但保持同步,,而且從側(cè)的時(shí)鐘頻率不能高于主側(cè)的時(shí)鐘頻率,。P_CLK與S_CLK最大延時(shí)不得超過(guò)7ns,S_CLK不能超前P_CLK,。
2)PCI2050B的從側(cè)有10個(gè)時(shí)鐘輸出S-clkout[9:0],,其中9個(gè)時(shí)鐘輸出可以供給擴(kuò)展的PCI槽,為保證時(shí)鐘輸出同步,,另1個(gè)必須反饋給從側(cè)的輸入時(shí)鐘S_CLK,,每一個(gè)時(shí)鐘只能驅(qū)動(dòng)一個(gè)負(fù)載。
3)為了減小時(shí)鐘的信號(hào)反射,,輸出到擴(kuò)展槽的9個(gè)時(shí)鐘輸出必須在起始端加串聯(lián)電阻匹配,,匹配電阻阻值與電路板特征阻抗大小有關(guān),對(duì)65 Ω的傳輸線,,選用50 Ω串聯(lián)匹配電阻,。
4)為了減小這些時(shí)鐘之間的抖動(dòng)(skew),供給擴(kuò)展槽(或擴(kuò)展設(shè)備)的9根時(shí)鐘線(9個(gè)S_clkout)與S_CLK必須等長(zhǎng),。所以,,從S_clkout[9]輸出反饋至S_CLK的時(shí)鐘線長(zhǎng)度應(yīng)等于從PCI2050B的時(shí)鐘輸出引腳到擴(kuò)展設(shè)備的時(shí)鐘線的總長(zhǎng)。本模塊擴(kuò)展4個(gè)網(wǎng)口,,使用PCI2050B從側(cè)的4個(gè)輸出時(shí)鐘,,在PCB布線中這4根時(shí)鐘線與反饋時(shí)鐘線必須等長(zhǎng)。
2.3.2 中斷設(shè)計(jì)和IDSEL映射
PCI2050B支持9個(gè)從設(shè)備,,在初始化配置空間讀寫(xiě)時(shí),,PCI2050B作為上一級(jí)PCI總線的操作對(duì)象,提供了IDSEL引腳進(jìn)行器件選擇,,該引腳可以連接到高24位PCI總線中的任意一根,。同時(shí),為了減少地址線的容性負(fù)載,,需要在該信號(hào)連線上串接一只1 kΩ的電阻,。本模塊僅擴(kuò)展一級(jí)總線,PCI2050B主側(cè)的IDSEL引腳直接連接到CPCI插座J1的IDSEL,。對(duì)于二級(jí)總線側(cè)的PCI器件(本模塊為INTEL82551),,其IDSEL引腳經(jīng)過(guò)1 kΩ的電阻連接到PCI2050B的S_AD31S_ADl6引腳的任意一根。來(lái)自從側(cè)上的設(shè)備的INT線不通過(guò)橋,。如果橋位于一個(gè)插入卡上,,從側(cè)設(shè)備的中斷線直接接到連接器的中斷引腳(INTA#~I(xiàn)NTD#),。本模塊中,PCI2050B是一個(gè)橋設(shè)備,,INTEL82551的中斷引腳直接連接到J1的中斷引腳,。所有從設(shè)備的中斷線的連接與設(shè)備編號(hào)(即IDSEL線的連接)有綁定關(guān)系,對(duì)應(yīng)關(guān)系如表1所示,。4片INTEL8255l的IDSEL引腳分別連接到S_AD28,、S-AD29、S_AD30和S_AD31,,對(duì)應(yīng)的設(shè)備編號(hào)為12,、13、14,、15,則器件的中斷引腳INT#對(duì)應(yīng)連接到J1的INTA#,、INTB#,、INTC#、INTD#,。
2.3.3 PCI2050B工作模式的選擇
PCI2050B有3種工作模式可供選擇:TI CPCI熱插拔模式,、電源管理模式和INTEL 21150兼容模式。選擇引腳分別為MSO,,MSl,,模式選擇定義如表2所示。
根據(jù)CPCI總線應(yīng)用設(shè)計(jì)的需要,,筆者選擇了TI CPCI熱插拔工作模式,。當(dāng)PCI2050B選擇TI CPCI熱插拔工作模式時(shí),為了確保熱插拔邏輯的正常工作,,要求必須將HS_SWICH/GPI03引腳和HSENUM引腳上拉,,同時(shí),由于沒(méi)有使用PCI2050B的關(guān)于GPI0引腳,,且因?yàn)檫@些引腳在缺省條件下定義為輸入腳,,為了避免誤觸發(fā),將這些引腳全部上拉,。
3 以太網(wǎng)接口
本網(wǎng)卡使用4片INTEL82551,、4片EEPROM 93C46和4片PE68515實(shí)現(xiàn)4路以太網(wǎng)網(wǎng)絡(luò)接口。INTEL82551是Intel公司的一款高集成的以太網(wǎng)控制器,,其主要功能是實(shí)現(xiàn)以太網(wǎng)幀的收發(fā),。它集成了10Base-T/lOOBase-T MAC控制器和10Base-T/100Base-T PHY控制器,支持?jǐn)?shù)據(jù)的全雙工或半雙工傳輸,,支持自動(dòng)協(xié)商,,支持10/100 Mb/s傳輸速率,,支持流控機(jī)制。
3.1 INTEL82551與PCI橋的接口設(shè)計(jì)
每片INTEL82551的CPCI總線信號(hào)連接到PCI2050B的從側(cè),,應(yīng)特別注意的是信號(hào)IDSEL和INT#根據(jù)表1一一對(duì)應(yīng),,否則模塊插到系統(tǒng)槽上,系統(tǒng)不能正確驅(qū)動(dòng)模塊,。其中1路器件的電路連接,,如圖3所示。器件的IDSEL連接到S_AD31上,,則器件的中斷INT#連接到J1的INTD#上,。
3.2 Intel82551與傳輸介質(zhì)接口
使用4片PE68515和4個(gè)RJ-45實(shí)現(xiàn)傳輸介質(zhì)接口。每一路接口電路連接,,如圖4所示,。
3.3 網(wǎng)卡調(diào)試
PCB電裝完后,檢查各器件及其他電路是否有虛焊,,網(wǎng)卡插于CPCI機(jī)箱插槽,,在系統(tǒng)設(shè)備管理器中可看到模塊屬性,如IDSEL連接AD31,,則屬性為PCI SLOTl(PCI總線N,,設(shè)備15,功能O)(N為總線編號(hào)),。用EEUPDATE對(duì)網(wǎng)卡配置后,,模塊可正常收發(fā)數(shù)據(jù)。
4 結(jié)束語(yǔ)
本四網(wǎng)口模塊符合PCI2.2規(guī)范,,已成功應(yīng)用于3U CPCI機(jī)箱的Windows平臺(tái),。根據(jù)需要可擴(kuò)展為八網(wǎng)口的CPCI卡,此系列基于CPCI多網(wǎng)口卡,,可廣泛用于各類(lèi)測(cè)試設(shè)備,、有線通信等領(lǐng)域。