基于CPCI總線的多網(wǎng)口卡設(shè)計 2010-09-18 10:12:15作者:趙健來源:電子設(shè)計工程

  以太網(wǎng)(Ethernet)作為應(yīng)用最廣泛的局域網(wǎng)技術(shù)異軍突起,已經(jīng)迅速走向工業(yè)自動化控制領(lǐng)域的前臺。CPCI總線系統(tǒng)插槽有限,設(shè)計基于CPCI總線的多網(wǎng)口卡可節(jié)省空間,又可以滿足狀態(tài)監(jiān)測及故障診斷系統(tǒng)要求的實(shí)時和大數(shù)據(jù)量傳輸。

  1模塊總體設(shè)計

  該模塊采用CPCI并行總線進(jìn)行設(shè)計。圖1給出該模塊總體設(shè)計框圖,其中,通過PCI橋擴(kuò)展總線分別連接4片INTEL82551,由于INTEL82551內(nèi)部已集成PCI接口,PCI橋可實(shí)現(xiàn)與INTEL82551之間的無縫連接。J1和J2為CPCI的接口插件。


點(diǎn)擊看大圖

  2CPCI總線結(jié)構(gòu)模塊

  2.1原理和結(jié)構(gòu)

  在1條PCI總線上如果連接過多的電氣負(fù)載或設(shè)備,總線不能正常工作。通過在系統(tǒng)內(nèi)另外增加1條或多條PCI總線,問題可以得到解決。在系統(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總線,它作為上一級總線的一個負(fù)載,通過對PCI信號的重新驅(qū)動和仲裁,而向下可以驅(qū)動一個總線段。

  其作用是協(xié)調(diào)2條PCI總線之間的數(shù)據(jù)傳輸,監(jiān)視在這兩條PCI總線上啟動的所有交易,并決定是否將交易傳送通過另一條PCI總線。當(dāng)橋確定將一條總線上的交易傳送到另一條總線時,橋必須充當(dāng)交易總線的總線目標(biāo),以及交易的目的總線的主設(shè)備。系統(tǒng)設(shè)計者也可以安裝多個P2P橋。

  2.2PCI2050B簡介

  根據(jù)系統(tǒng)集成的特性,這里選擇TI公司的PCI2050B橋接器來實(shí)現(xiàn)P2P橋。PCI2050B屬于透明的PCI-PCI橋,在2個32位最高工作頻率66MHz的PCI總線之間提供橋連接。該橋支持突發(fā)模式(burstmodetransfers),極大增加了數(shù)據(jù)的吞吐量,橋的總線數(shù)據(jù)路徑(tmstrafficpaths)獨(dú)立工作。橋的主、從總線分別可以工作在3.3V或者5V的環(huán)境下,而橋的核心邏輯工作在3.3V,以減少功耗。主機(jī)軟件通過內(nèi)部寄存器對橋進(jìn)行操作。通過內(nèi)部寄存器既可以得到標(biāo)準(zhǔn)PCI的狀態(tài),也可以對主、從總線進(jìn)行控制。橋的PCI配置頭只能通過主PCI接口來操作。PC-I2050B帶9個從總線,除了為每個從總線提供內(nèi)部仲裁外,也可為系統(tǒng)提供外部仲裁。PCI2050B提供10個從側(cè)時鐘輸出。

  2.3PCI橋的設(shè)計

  根據(jù)該模塊總體設(shè)計框圖,系統(tǒng)設(shè)計需要注意以下幾個方面。

  2.3.1時鐘設(shè)計

  圖2為PCI2050B的時鐘設(shè)計框圖。


點(diǎn)擊看大圖

  該時鐘設(shè)計要點(diǎn)如下:

  1)PCI2050B有2個獨(dú)立的時鐘域,主接口受主側(cè)輸入時鐘P_CLK的控制,從接口受從側(cè)輸入時鐘S_CLK的控制。這2個時鐘相互獨(dú)立,但保持同步,而且從側(cè)的時鐘頻率不能高于主側(cè)的時鐘頻率。P_CLK與S_CLK最大延時不得超過7ns,S_CLK不能超前P_CLK。

  2)PCI2050B的從側(cè)有10個時鐘輸出S-clkout[9:0],其中9個時鐘輸出可以供給擴(kuò)展的PCI槽,為保證時鐘輸出同步,另1個必須反饋給從側(cè)的輸入時鐘S_CLK,每一個時鐘只能驅(qū)動一個負(fù)載。

  3)為了減小時鐘的信號反射,輸出到擴(kuò)展槽的9個時鐘輸出必須在起始端加串聯(lián)電阻匹配,匹配電阻阻值與電路板特征阻抗大小有關(guān),對65Ω的傳輸線,選用50Ω串聯(lián)匹配電阻。

  4)為了減小這些時鐘之間的抖動(skew),供給擴(kuò)展槽(或擴(kuò)展設(shè)備)的9根時鐘線(9個S_clkout)與S_CLK必須等長。所以,從S_clkout[9]輸出反饋至S_CLK的時鐘線長度應(yīng)等于從PCI2050B的時鐘輸出引腳到擴(kuò)展設(shè)備的時鐘線的總長。本模塊擴(kuò)展4個網(wǎng)口,使用PCI2050B從側(cè)的4個輸出時鐘,在PCB布線中這4根時鐘線與反饋時鐘線必須等長。

  2.3.2中斷設(shè)計和IDSEL映射

  PCI2050B支持9個從設(shè)備,在初始化配置空間讀寫時,PCI2050B作為上一級PCI總線的操作對象,提供了IDSEL引腳進(jìn)行器件選擇,該引腳可以連接到高24位PCI總線中的任意一根。同時,為了減少地址線的容性負(fù)載,需要在該信號連線上串接一只1kΩ的電阻。本模塊僅擴(kuò)展一級總線,PCI2050B主側(cè)的IDSEL引腳直接連接到CPCI插座J1的IDSEL。對于二級總線側(cè)的PCI器件(本模塊為INTEL82551),