《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > cPCI平台热切换原理和实现

cPCI平台热切换原理和实现

2008-08-20
作者:舒 剑

  摘 要: 描述了cPCI平臺實現熱切換的運作機制,引入一種方法將cPCI設備熱插拔動作轉為獨享中斷,用LED指示處理進程,并給出依此方法實現無控制臺進行全熱切換的軟硬件設計方案。
  關鍵詞: cPCI 熱切換 即插即用 設備驅動 中斷服務程序


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

  cPCI標準定義的機械、電氣特性是實現熱切換的基礎。它采用的連接器符合IEC917和IEC1074-101標準,其插針引腳分別有最長、中長、最短三種" title="三種">三種長度。當插入一個卡到插槽時,首先最長的引腳(電源和地)被連接,卡邏輯將所有PCI信號引腳預設到一個固定電平1V;接著是中長度引腳的PCI信號連接,這些信號的電平已經固定且尚未開始工作,不會對系統造成干擾;最后才輪到最短的引腳,即BD_SEL#信號連接,告知卡邏輯可以開始工作。卡拔出的順序正好相反,BD_SEL#首先斷開,PCI信號被調整到一固定電平,最后才斷開電源和地信號。在電路方面,cPCI增加一個ENUM#信號,即系統枚舉信號。當一個cPCI設備卡被插入或拔出時,ENUM#被激活。
  除cPCI本身的特性以外,要實現熱切換,具有支持即插即用(PnP)的操作系統也是必要條件之一,只有支持PnP才能實現設備驅動程序" title="設備驅動程序">設備驅動程序的動態安裝和卸載。
1.2 三種層次熱切換
1.2.1 基本熱切換

  最基本的熱切換方式需要用戶干預。用戶通過控制臺通知OS(操作系統)即將進行設備卡插入或拔出。當插入一個卡時,其詳細流程如下:
  (a)通過系統界面,用戶通知OS即將在一個槽中插入一個卡;
  (b)用戶插入卡,對卡完成上電初始化;
  (c)用戶通知系統,卡已經插入,要求OS重新枚舉總線;
  (d)OS執行總線枚舉,確定新卡需要的資源;
  (e)OS對卡的PCI配置寄存器編程,向其分配資源;
  (f)OS裝入適當的設備驅動程序,并調用其初始化代碼;
  (g)設備驅動程序初始化完成,卡開始工作。
  當拔出一個卡時,流程類似,需要用戶預先通知OS將要拔出設備卡,OS卸載設備驅動程序并回收設備資源后,才能拔出設備。
1.2.2 全熱切換
  全熱切換是在基本熱切換的基礎上,在卡的插入/拔出機構中添加一個微開關裝置。這個開關藏在手柄中。當cPCI卡被插入或拔出時,在卡開始或停止工作之前,微開關首先改變狀態,產生ENUM#信號,該信號通過某種途徑通知OS將要插入或拔出一個卡,OS再執行總線枚舉、安裝驅動程序或卸載驅動程序等動作。
1.2.3 高可用性熱切換
  高可用性熱切換是在全熱切換的基礎上建立的。它要求在系統卡和每個設備卡之間實現點對點的RST#和信號隔離。這使OS可以自動隔離一個壞卡,然后將一個替代卡(已經安裝)啟動,接替壞卡繼續工作。所以它通常也稱作無縫切換或無間斷切換,是一種冗余設計方案。
  三種熱切換的自動化層次不同,實現的復雜程度也各有不同。下面介紹一種支持全熱切換的cPCI平臺的HotSwap子系統實現方案,對其硬件電路" title="硬件電路">硬件電路和軟件設計分別進行介紹。
2 cPCI熱切換子系統硬件實現
2.1 橋接芯片
  在硬件電路上需要一兼容cPCI規范的PCI-to-PCI的橋接芯片,以便熱插拔卡時實現引腳控制邏輯和支持全熱切換功能。以PLX PCI6150為例,它提供一個HotSwap寄存器,記錄設備插拔狀態,其定義如表1所示。


  DHA:Device Hiding Arm,設備隱藏處理,在設備卡剛插入尚未正常工作前或被驅動程序停止之后可隱藏后級總線設備。
  EIM:Enable or Disable ENUM#,使能或禁止ENUM#輸出。
  PIE:Pending Insert or Extract act,暫時掛起插入或者拔出動作。
  LOO:LEN On or Off, LED指示控制,與芯片的LED引腳相對應。
  PI:Programming Interface,可編程接口,軟件觸發插入/拔出等動作。
  EXT:Extraction State,拔出狀態位,當微開關斷開時,此狀態位為1。
  INS:Insertion State,插入狀態位,在PCI6150上電復位成功后,此狀態位為1。
2.2 硬件電路邏輯
  系統卡電路在邏輯上就是一普通PC主機板,它與熱切換相關的部分集中在對來自cPCI連接器的ENUM#信號的處理。在設計時,將它接在系統板Super I/O芯片Winbond W83627HF的IRQIN0引腳,以擴展中斷輸入的ISA中斷方式實現。這樣設計的好處是:可避免與其它PCI設備共享中斷,而獨占一個中斷以保證中斷的響應速度;該引腳輸入是可編程的,可根據系統的中斷使用情況分配任意空閑中斷;而且該中斷可以不掛靠任何物理設備而獨立存在,這樣驅動程序也就可以設計成一靜態服務程序,靜態服務程序安裝/卸載比物理設備驅動程序要簡單得多。ENUM#是低電平有效,而IRQIN0輸入是邊沿觸發方式,需要一邏輯電路進行轉換。系統卡邏輯框圖如圖1所示。


  設備卡電路中與熱切換相關的部分是微開關電路和狀態LED驅動,PCI6150的ENUM#信號直接與cPCI連接器的同名信號相連。ENUM#信號還和LED信號一起被用來驅動一雙色LED,ENUM#信號為低時,LED被驅動為紅色閃爍;ENUM#信號為高、LOO信號為高時LED被驅動為紅色,LOO信號為低時LED信號被驅動為綠色。設備卡邏輯電路如圖2所示。


  整個系統電路的邏輯工作是:當設備卡插入時,PCI6150上電初始化,芯片邏輯置HotSwap寄存器INS狀態位,觸發ENUM#信號為低,LED閃爍紅色,ENUM#經cPCI底板到達系統卡,經電平/邊沿轉換,生成中斷請求有效信號IRQIN0,處理器響應中斷,進入中斷服務程序" title="中斷服務程序">中斷服務程序,ENUM#信號被撤除,設備驅動程序成功安裝后置LOO位,狀態指示為紅色,設備開始工作。當要拔出設備卡時,EJECT微開關先被斷開,PCI6150置HotSwap寄存器EXT位,激活ENUM#信號,狀態LED為閃爍紅色,處理器響應中斷,ENUM#被撤除,通知OS卸載設備驅動程序,之后熱交換軟件清LOO位,狀態LED指示藍色,設備可以安全拔出。整個過程無需用戶與操作系統交互,根據LED的顯示即可判斷卡的工作狀態,安全順利實現熱切換。
3 cPCI熱切換子系統軟件實現
  軟件系統的目標是實現中斷的響應處理,與操作系統交互,以正確及時地安裝或卸載對應的設備驅動程序,確保整個軟件系統安全運行。
3.1 軟件分層設計
  本系統軟件分成三層:最底層為設備驅動程序hotswap.sys,它執行與硬件相關的操作,如響應熱切換過程中產生的中斷事件、對Hotswap寄存器的操作,包括控制LED指示、清除INS/EXT狀態位、隱藏設備等;中間層為熱切換處理程序,一個由HSMonitor.exe創建的獨立線程,一方面接收來自驅動程序的通知,另一方面通知OS重新枚舉cPCI總線或卸載某一設備驅動程序;最上層為一圖形界面應用程序" title="應用程序">應用程序HSMonitor.exe,為用戶提供可見的設備插拔動態信息。軟件結構如圖3所示。


3.2 軟件流程
  ENUM#信號有效時,首先設備驅動程序hotSwap.sys的中斷服務程序被執行,中斷服務程序掃描整個cPCI總線,讀取PCI6150的熱切換寄存器,清除相應狀態,并根據設備的INS/EXT狀態位建立設備變更清單,通知熱切換處理線程。熱切換線程讀取設備變更清單,如果有剛插入的設備,則通知OS重新枚舉cPCI總線,如果有待拔出的設備,則利用設備槽信息(總線號/設備號)換算為PnP DevNode地址,通知OS移除該DevNode。OS在移除一個DevNode后或枚舉總線時發現了新設備則發消息到應用程序HSMonitor.exe,該應用程序被設計成每次開機時自運行且注冊為該消息的接收者。HSMonitor.exe獲取剛被處理過的DevNode及處理結果,包括設備驅動加載成功、設備被成功移除等,以日志形式顯示到控制臺,供用戶查詢。
  cPCI平臺產品因為其可靠性和堅固性逐漸被國內電信設備廠商采用,本設計中的cPCI平臺產品被廣泛應用于語音呼叫中心和自動應答系統,其基于cPCI的全熱切換設計保證了系統的不間斷運行,極大地提高了系統可靠性。本產品近一年的市場應用表明,該設計方案成本低廉,容易實現,用戶使用方便。


參考文獻
1 Alan Goodrum. PCI HotPlug Application and Design. Anna-books/Rtc Books ,April 1, 1998
2 PCI6150(HB4) PCI-to-PCI Bridge Data Book. PLX Technology Inc,2000
3 Tom Venetis. New Roadmap for Hot Plug PCI Standard Introduced. Transcontinental Media IT Business Group,August,1996
4 Doug Abbot. PCI Bus Demystified. Newnes .November,2000
5 Tom Shanley,Don Andersion. PCI System Architecture(4 edition). Addison-Wesley Professional, June, 1999
6 Edward Solari,George Willse. PCI & PCI-X Hardware and Software(6th edition). Research Tech Inc, July, 2004

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产精选一区二区| 91精品国产综合久久香蕉最新版| 97干在线视频| www.av中文字幕| **亚洲第一综合导航网站| www亚洲精品| 热久久这里只有| 亚洲欧美在线网| 国产精品免费观看久久| 91久久精品美女| 中文字幕精品一区日韩| 中文字幕制服丝袜在线| 国产欧美在线播放| 亚洲最大福利网| 国产美女精彩久久| 91成人免费观看| 秋霞无码一区二区V| 日韩在线第三页| 国产激情久久久| 日韩精品大片| 国产av不卡一区二区| 欧美精品在线一区| 国产精品成人av在线| 国产精品第一视频| 午夜精品一区二区三区在线播放 | 国产精品久久精品国产 | 国产精品露脸自拍| 一区二区三区欧美在线| 91精品国产99| 久久精品国产精品亚洲| 久久久精品电影| 在线精品亚洲一区二区| 日本一区二区黄色| 国产日韩欧美成人| 国产精品久久久久影院日本| 国产精品夫妻激情| 久久av在线播放| 日韩精品福利片午夜免费观看| 国产一区二区视频在线观看 | 国产精品亚洲аv天堂网| 久久精品国产欧美亚洲人人爽 |