<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > cPCI臺熱切換原理和實(shí)現

cPCI臺熱切換原理和實(shí)現

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:描述了cPCI平臺實(shí)現熱切換的動(dòng)作機制,引入一種方法將cPCI設備熱插拔動(dòng)作轉為獨享中斷,用LED指示處理進(jìn)程,并給出依此方法實(shí)現無(wú)控制臺進(jìn)行全熱切換的軟硬件設計方案。

關(guān)鍵詞:cPCI 熱切換 即插即用 設備驅動(dòng)中斷服務(wù)程序

cPCI(即Compact PCI)是PICMIG制定的、更加堅固耐用的PCI版本,廣泛應用于工業(yè)和嵌入式控制系統中。它在電氣、邏輯和軟件功能方面與PCI完全兼容。除機械特性不一致外,cPCI與PCI最大的差別在于cPCI具有支持熱切換(HotSwap)的能力。隨著(zhù)電子產(chǎn)品成本的下降和市場(chǎng)對工業(yè)產(chǎn)品尤其是電信應用產(chǎn)品可靠性要求的提高,基于cPCI平臺的設計逐漸成為電信設備廠(chǎng)商的首選。

1 cPCI熱切換原理

1.1 熱切換基礎

cPCI標準定義的機械、電氣特性是實(shí)現熱切換的基礎。它采用的連接器符合IEC917和IEC1074-101標準,其插針引腳分別有最長(cháng)、中長(cháng)、最短三種長(cháng)度。當插入一個(gè)卡到插槽時(shí),首先最長(cháng)的引腳(電源和地)被連接,卡邏輯將所有PCI信號引腳預設到一個(gè)固定電平1V;接著(zhù)是中長(cháng)度引腳的PCI信號連接,這些信號的電平已經(jīng)固定且尚未開(kāi)始,不會(huì )對系統造成干擾;最后才輪到最短的此腳,即BD_SEL#信號連接,告知卡邏輯可以開(kāi)始工作??ò纬龅捻樞蛘孟喾?,BD_SEL#首先斷開(kāi),PCI信號被調整到一固定電平,最后才斷開(kāi)電源和地信號。在電路方面,cPCI增加一個(gè)ENUM#信號,即系統枚舉信號。當一個(gè)cPCI設備卡被插入或拔出時(shí),ENUM#被激活。

本文引用地址:http://dyxdggzs.com/article/201706/348617.htm



除cPCI本身的特性以外,要實(shí)現熱切換,具有支持即插即用(PnP)的操作系統也是必要條件之一,只有支持PnP才能實(shí)現設備驅動(dòng)程序的動(dòng)態(tài)安裝和卸載。

1.2 三種層次熱切換

1.2.1 基本熱切換

最基本的熱切換方式需要用戶(hù)干預。用戶(hù)通過(guò)控制臺通知OS(操作系統)即將進(jìn)行設備卡插入或拔出。當插入一個(gè)卡時(shí),其詳細流程如下:

(a)通過(guò)系統界面,用戶(hù)通知OS即將在一個(gè)槽中插入一個(gè)卡;

(b)用戶(hù)插入卡,對卡完成上電初始化;

(c)用戶(hù)通知系統,卡已經(jīng)插入,要求OS重新枚舉總線(xiàn);

(d)OS執行總線(xiàn)枚舉,確定新卡需要的資源;

(e)OS對卡的PCI配置寄存器編程,向其分配資源;

(f)OS裝入適當的設備驅動(dòng)程序,并調用其初始化代碼;

(g)設備驅動(dòng)程序初始化完成,卡開(kāi)始工作。

當拔出一個(gè)卡時(shí),流程類(lèi)似,需要用戶(hù)預先通知OS將要拔出設備卡,OS卸載設備驅動(dòng)程序并回收設備資源后,才能拔出設備。

1.2.2 全熱切換

全熱切換是在基本熱切換的基礎上,在卡的插入/拔出機構中添加一個(gè)微開(kāi)關(guān)裝置。這個(gè)開(kāi)關(guān)藏在手柄中。當cPCI卡被插入或拔出時(shí),在卡開(kāi)始或??üぷ髦?,微開(kāi)關(guān)首先改變狀態(tài),產(chǎn)生ENUM#信號,該信號通過(guò)某種途徑通知OS將要插入或拔出一個(gè)卡,OS再執行總線(xiàn)枚舉、安裝驅動(dòng)程序或卸載驅動(dòng)程序等動(dòng)作。

1.2.3 高可用性熱切換

高可用性熱切換是在全熱切換的基礎上建立的。它要求在系統卡和每個(gè)設備卡之間實(shí)現點(diǎn)對點(diǎn)的RST#和信號隔離。這使OS可以自動(dòng)隔離一個(gè)壞卡,然后將一個(gè)替代卡(已經(jīng)安裝)啟動(dòng),接著(zhù)壞卡繼續工作。所以它通常也稱(chēng)作無(wú)縫切換或無(wú)間斷切換,是一種冗余設計方案。



三種熱切換的自動(dòng)化層次不同,實(shí)現的復雜程度也各有不同。下面介紹一種支持全熱切換的cPCI平臺的HotSwap子系統實(shí)現方案,對其硬件電路和軟件設計分別進(jìn)行介紹。

2 cPCI熱切換子系統硬件實(shí)現

2.1 橋接芯片

在硬件電路上需要一兼容cPCI規范的PCI-to-PCI的橋接芯片,以便熱插拔卡時(shí)實(shí)現引腳控制邏輯和支持全熱切換功能。以PLX PCI6150為例,它提供一個(gè)HotSwap寄存器,記錄設備插拔狀態(tài),其定義如表1所示。

表1 HotSwap寄存器定義

bit15~8765,43210
保留INSEXTPILOOPIEEIMDHA

DHA:Device Hiding Arm,設備隱藏處理,在設備卡剛插入尚未正常工作前或被驅動(dòng)程序停止之間可隱藏后級總線(xiàn)設備。

EIM:Enable or Disable ENUM#,使能或禁止ENUM#輸出。

PIF:Pending Insert or Extrace act,暫時(shí)掛起插入或者拔出動(dòng)作。

LOO:LEN On or Off,LED指示控制,與芯片的LED引腳相對應。

PI:Programming Interface,可編程接口,軟件觸發(fā)插入/拔出等動(dòng)作。

EXT:Extraction State,拔出狀態(tài)位,當微開(kāi)關(guān)斷開(kāi)時(shí),此狀態(tài)位為1。

INS:Insertion State,插入狀態(tài)位,在PCI6150上電復位成功后,此狀態(tài)位為1。

2.2 硬件電路邏輯

系統卡電路在邏輯上就是一普遍PC主機板,它與熱切換相關(guān)的部分集中在對來(lái)自cPCI連接器的ENUM#信號的處理。在設計時(shí),將它接在系統板Super I/O芯片Winbond W83627HF的IRQIN0引腳,以擴展中斷輸入的ISA中斷方式實(shí)現。這樣設計的好處是:可避免與其它PCI設備共享中斷,而獨點(diǎn)一個(gè)中斷以保證中斷的響應速度;該引腳輸入是可編程的,可根據系統的中斷使用情況分配任意空閑中斷;而且該中斷可以不掛靠任何物理設備而獨立存在,這樣驅動(dòng)程序也就可以設計成一靜態(tài)服務(wù)程序,靜態(tài)服務(wù)程序安裝/卸載比物理設備驅動(dòng)程序要簡(jiǎn)單得多。ENUM#是低電平有效,而IRQIN0輸入是邊沿觸方式,需要一邏輯電路進(jìn)行轉換。系統卡邏輯框圖如圖1所示。

設備卡電路中與熱切換相關(guān)的部分是微開(kāi)關(guān)電路和狀態(tài)LED驅動(dòng),PCI6150的ENUM#信號直接與cPCI連接器的同名信號相連。EUNM#信號還和LED信號一起被用來(lái)驅動(dòng)一雙色LED,ENUM#信號為低時(shí),LED被驅動(dòng)為紅色閃爍;ENUME信號為高、LOO信號為高時(shí)LED被驅動(dòng)為紅色,LOO信號為低時(shí)LED信號被驅動(dòng)為綠色。設備卡邏輯電路如圖2所示。

整個(gè)系統電路的邏輯工作是:當設備卡插入時(shí),PCI6150上電初始化,芯片邏輯置HotSwap寄存器INS狀態(tài)位,觸發(fā)ENUM#信號為低,LED閃爍紅色,ENUM#經(jīng)cPCI底板到達系統卡,經(jīng)電平/邊沿轉換,生成中斷請求有效信號IRQIN0,處理器響應中斷,進(jìn)入中斷服務(wù)程序,ENUM#信號被撤除,設備驅動(dòng)程序成功安裝后置LOO位,狀態(tài)指示為紅色,設備開(kāi)始工作。當要拔出設備卡時(shí),EJECT微開(kāi)關(guān)先被斷開(kāi),PCI5160置HotSwap寄存器EXT位,激活ENUM#信號,狀態(tài)LED為閃爍紅色,處理器響應中斷,ENUM#被撤除,通知OS卸載設備驅動(dòng)程序,之后熱交換軟件清LOO位,狀態(tài)LED指示藍色,設備可以安全拔出。整個(gè)過(guò)程無(wú)需用戶(hù)與操作系統交互,根據LED的顯示即可判斷卡的工作狀態(tài),安全順利實(shí)現熱切換。

3 cPCI熱切換子程序軟件實(shí)現

軟件系統的目標是實(shí)現中斷的響應處理,與操作系統交互,以正確及時(shí)地安裝或卸載對應的設備驅動(dòng)程序,確保整個(gè)軟件系統安全運行。

3.1 軟件分層設計

本系統軟件分成三層:最底層為設備驅動(dòng)程序hotswap.sys,它執行與硬件相關(guān)的操作,如響應熱切換過(guò)程中產(chǎn)生的中斷事件、對Hotswap寄存器的操作,包括控制LED指示、清除INS/EXT狀態(tài)位、隱藏設備等;中間層為熱切換處理程序,一個(gè)由HSMonitor.exe創(chuàng )建的建立線(xiàn)程,一方面接收來(lái)自驅動(dòng)程序的通知,另一方面通知OS重新枚舉cPCI總線(xiàn)或卸載某一設備驅動(dòng)程序;最上層為一圖形界面應用程序HSMonitor.exe,為用戶(hù)提供可見(jiàn)的設備插拔動(dòng)態(tài)信息。軟件結構如圖3所示。



3.2 軟件流程

ENUM#信號有效時(shí),首先設備驅動(dòng)程序hotSwap.sys的中斷服務(wù)程序被執行,中斷服務(wù)程序掃描整個(gè)cPCI總線(xiàn),讀取PIC6150的熱切換寄存器,清除相應狀態(tài),并根據設備的INS/EXT狀態(tài)位建立設備變更清單,通知熱切換處理線(xiàn)程。熱切換線(xiàn)程讀取設備變更清單,如果有剛插入的設備,則通知OS重新枚舉cPCI總線(xiàn),如果有待拔出的設備,則利用設備槽信息(總線(xiàn)號/設備號)換算成PnP DevNode地址,通知OS移除該DevNode。OS在移除一個(gè)DevNode后或枚舉總線(xiàn)時(shí)發(fā)現了新設備則發(fā)消息到應用程序HSMonitor.exe,該應用程序被設計成每次開(kāi)機時(shí)自運行且注冊為該消息的接收者。HSMonitor.exe獲取剛被處理過(guò)的DevNode及處理結果。包括設備驅動(dòng)加載成功、設備被成功移除等,以日志形式顯示到控制臺,供用戶(hù)查詢(xún)。

cPCI平臺產(chǎn)品因為其可靠性和堅固性逐漸被國內電信設備三商采用,本設計中的cPCI平臺產(chǎn)品被廣泛應用于語(yǔ)音呼叫中心和自動(dòng)應答系統,其基于cPCI的全熱切換設計保證了系統的不間斷運行,極大地提高了系統可靠性。本產(chǎn)品近一年的市場(chǎng)應用表明,該設計方案成本低廉,容易實(shí)現,用戶(hù)使用方便。



關(guān)鍵詞: CPCI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>