當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要 熱插拔是Compact PCI總線技術(shù)中突出且最吸引用戶(hù)的技術(shù),解決了用戶(hù)對(duì)系統(tǒng)穩(wěn)定性和冗余性迫切的要求。文中分析了Compact PCI總線系統(tǒng)3種熱插拔技術(shù)的原理,以完全熱插拔技術(shù)為基礎(chǔ),設(shè)計(jì)熱插拔系統(tǒng),硬件采用熱

摘要 熱插拔是Compact PCI總線技術(shù)中突出且最吸引用戶(hù)的技術(shù),解決了用戶(hù)對(duì)系統(tǒng)穩(wěn)定性和冗余性迫切的要求。文中分析了Compact PCI總線系統(tǒng)3種熱插拔技術(shù)的原理,以完全熱插拔技術(shù)為基礎(chǔ),設(shè)計(jì)熱插拔系統(tǒng),硬件采用熱插拔電源控制器LTC1643L和PCI橋接芯片PCI9030實(shí)現(xiàn)硬件功能板卡,軟件使用硬實(shí)時(shí)操作系統(tǒng)VxWorks。在分析VxWorks操作系統(tǒng)結(jié)構(gòu)以及設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)后,結(jié)合PCI9030的設(shè)備配置空間的特點(diǎn),編寫(xiě)VxWorks下Compact PCI功能板卡的驅(qū)動(dòng)程序以及熱插拔監(jiān)控程序,最終實(shí)現(xiàn)系統(tǒng)的熱插拔功能。
關(guān)鍵詞 Compact PCI總線;熱插拔;VxWorks;LTC1643L;PCI9030;PCI配置空間

    1992年,英特爾公司將PCI總線作為局部總線,用于CPU與外圍器件相連,例如顯示控制器、以太網(wǎng)控制器、內(nèi)存控制器等。經(jīng)過(guò)10多年的發(fā)展,PCI總線標(biāo)準(zhǔn)已成為PC機(jī)業(yè)界標(biāo)準(zhǔn)。但由于其自身無(wú)法提供更高可靠性及無(wú)法滿(mǎn)足更高可用性系統(tǒng)對(duì)正常運(yùn)作時(shí)間的要求,主板散熱困難,邊緣接頭可靠性低,在更換主板時(shí)易受損壞等弊端逐漸顯現(xiàn)出來(lái)。1997年8月,PICMG發(fā)布了第一個(gè)技術(shù)標(biāo)準(zhǔn)Compact PCI技術(shù)標(biāo)準(zhǔn)PICM G2.0,該標(biāo)準(zhǔn)的發(fā)布標(biāo)志著Compact PCI系統(tǒng)的誕生。
    Compact PCI是一種新的開(kāi)放式工業(yè)計(jì)算機(jī)標(biāo)準(zhǔn)。它融合了計(jì)算機(jī)與工業(yè)設(shè)備諸多經(jīng)過(guò)廣泛驗(yàn)證的標(biāo)準(zhǔn),是PCI總線技術(shù)與歐式卡組裝技術(shù)的組合。它與傳統(tǒng)的PCI系統(tǒng)完全兼容,系統(tǒng)的設(shè)計(jì)者只需將電路板上的連接器重新繪制,就可以將一個(gè)傳統(tǒng)的PCI系統(tǒng)升級(jí)為一個(gè)Compact PCI系統(tǒng),大幅縮短了產(chǎn)品推向市場(chǎng)的時(shí)間。與此同時(shí)Compact PCI標(biāo)準(zhǔn)給系統(tǒng)設(shè)計(jì)者提供了冗余設(shè)計(jì)、故障切換和故障管理等極大的設(shè)計(jì)空間,其中最具吸引力的特點(diǎn)就是Compact PCI系統(tǒng)具備了傳統(tǒng)PCI板卡無(wú)法實(shí)現(xiàn)的熱插拔能力。

1 熱插拔原理
    
Compact PCI總線的熱插拔過(guò)程就是軟硬件交互的連接過(guò)程。主要包括物理連接、硬件連接和軟件連接。物理連接過(guò)程就是板卡在插入和拔出的過(guò)程中,接口的長(zhǎng)、中、短針依次與總線連接的過(guò)程。硬件連接是各種電信號(hào)驅(qū)動(dòng)響應(yīng)的過(guò)程。Compact PCI總線增加一個(gè)ENUM#信號(hào),即系統(tǒng)枚舉信號(hào)。當(dāng)一個(gè)Compact PCI設(shè)備卡被插入或拔出時(shí)。ENUM#被激活,同時(shí)激活熱插拔監(jiān)控軟件,監(jiān)控軟件判斷熱插拔類(lèi)型并經(jīng)行相關(guān)操作。軟件連接過(guò)程是軟件層同系統(tǒng)連接或斷離的過(guò)程。對(duì)于板卡的插入,過(guò)程包括分配系統(tǒng)資源,包括I/O空間、內(nèi)存空間、中斷號(hào),加載設(shè)備驅(qū)動(dòng)程序并激活應(yīng)用軟件。根據(jù)系統(tǒng)要求的不同,熱插拔系統(tǒng)有3種模型:
    (1)基本熱插拔模型。最基本的熱插拔方式需要用戶(hù)干預(yù),用戶(hù)通過(guò)控制臺(tái)通知操作系統(tǒng)將進(jìn)行設(shè)備卡的插入或拔出。
    (2)完全熱插拔模型。完全熱插拔是在基本熱插拔模型的基礎(chǔ)上,在設(shè)備卡的插入/拔出機(jī)構(gòu)中添加一個(gè)微開(kāi)關(guān)裝置,這個(gè)開(kāi)關(guān)藏在手柄中,在設(shè)備的插入和拔出過(guò)程中激活枚舉信號(hào),及ENUM#信號(hào),該信號(hào)通過(guò)中斷的方式通知操作系統(tǒng)將要插入或拔出一個(gè)設(shè)備卡,操作系統(tǒng)再執(zhí)行總線枚舉,資源分配,安裝驅(qū)動(dòng)程序或卸載驅(qū)動(dòng)程序。
    (3)高可用性模型。在完全熱插拔模型基礎(chǔ)上對(duì)板卡實(shí)行了更高程度的控制,不僅是指示板卡的插入或可拔出的狀態(tài)。這種模型的軟件能夠控制板卡的硬件連接,這就使得軟件能對(duì)發(fā)生故障的板卡立即進(jìn)行總線或電氣上的隔離,并啟用冗余板卡,滿(mǎn)足系統(tǒng)始終處于運(yùn)行狀態(tài)、幾乎沒(méi)有故障的高可用性目標(biāo)。

2 系統(tǒng)的硬件設(shè)計(jì)
    
系統(tǒng)在X86系統(tǒng)主機(jī)下,設(shè)計(jì)為一個(gè)I/O適配卡,通過(guò)以上分析可知,具備熱插拔能力的CompactPCI板卡必須具有電源管理模塊,完成對(duì)板卡的上電操作及Healthy#信號(hào)獲取,目前市場(chǎng)已有Compact PCI熱插拔電源管理的專(zhuān)用芯片,典型的是Liear公司的LTC1643L;其二是板卡上的橋芯片必須支持系統(tǒng)熱插拔,本文采用PLX公司的PCI9030,其提供了完善的熱插拔功能。系統(tǒng)的硬件框圖如圖1所示。


    熱插拔系統(tǒng)的工作過(guò)程如下:Compact PCI的電源有長(zhǎng)針和中針,設(shè)備卡的設(shè)計(jì)者應(yīng)將板卡的供電系統(tǒng)分為兩個(gè)部分,長(zhǎng)針電源給PCI橋芯片及電源管理芯片供電,中針電源給板卡的其他部分供電。當(dāng)操作者插入一塊板卡時(shí),系統(tǒng)就進(jìn)入物理連接狀態(tài),此時(shí)是長(zhǎng)針電源的插入,橋接芯片及電源管理芯片通電,做好熱插入的準(zhǔn)備,而系統(tǒng)其他部分還未通電。當(dāng)操作者繼續(xù)將板卡插入時(shí),中針電源與板卡連接,系統(tǒng)其他部分仍未通電,短針信號(hào)BD_SEL#激活,在上拉電阻的作用下,由原來(lái)的高電平下拉到低電平,板卡上的電源管理模塊響應(yīng)這個(gè)信號(hào),電源管理芯片響應(yīng)信號(hào)后,經(jīng)過(guò)一定延時(shí),接通中針電源,對(duì)板卡上的其他部份供電,系統(tǒng)進(jìn)入硬件層連接狀態(tài),板卡隨時(shí)準(zhǔn)備工作。在硬件層連接過(guò)程中需要兩個(gè)信號(hào)的配合,它們是Healthy#和PCI_RST#信號(hào),PCI_RST#信號(hào)與傳統(tǒng)PCI復(fù)位信號(hào)相同,但在熱插拔系統(tǒng)中,系統(tǒng)復(fù)位必須滿(mǎn)足的條件是板卡正常供電,該狀態(tài)信號(hào)為Healthy#信號(hào),由板卡電源管理模塊通過(guò)對(duì)板卡上各種電源的監(jiān)視提供。產(chǎn)生板卡上可靠的復(fù)位信號(hào)的典型做法是將Healthy#與PCI_RST#做邏輯或,得到的或信號(hào)作為整個(gè)系統(tǒng)的復(fù)位信號(hào),完成以上操作后系統(tǒng)進(jìn)入軟件層連接狀態(tài)。在進(jìn)入軟件層時(shí)需要ENUM#信號(hào)有效,信號(hào)的觸發(fā)依賴(lài)位于熱插拔設(shè)備卡拉手上的微動(dòng)開(kāi)關(guān),在插入和拔出設(shè)備卡的過(guò)程中會(huì)激活ENUM#信號(hào),然后向橋接芯片發(fā)出一個(gè)觸發(fā)信號(hào),同時(shí)設(shè)備卡上的熱插拔指示燈點(diǎn)亮,操作系統(tǒng)完成對(duì)設(shè)備卡的配置,接著加載設(shè)備驅(qū)動(dòng)程序,激活設(shè)備應(yīng)用軟件。

3 熱插拔系統(tǒng)軟件的設(shè)計(jì)
    
熱插拔系統(tǒng)的實(shí)現(xiàn)依賴(lài)于具體的硬件系統(tǒng)和操作系統(tǒng),該主機(jī)操作系統(tǒng)為VxWorks實(shí)時(shí)操作系統(tǒng),軟件系統(tǒng)的實(shí)現(xiàn)需要設(shè)備卡的驅(qū)動(dòng)程序,以及熱插拔監(jiān)控程序,其工作流程如下:當(dāng)設(shè)備卡插入Compact PCI總線時(shí),關(guān)閉微動(dòng)開(kāi)關(guān)時(shí),激活枚舉信號(hào),觸發(fā)操作系統(tǒng)響應(yīng),讀取本地空間寄存器中設(shè)備卡的狀態(tài),判斷是否為插入,如果是板卡插入,此時(shí)釋放信號(hào)量,激活設(shè)備卡插入程序,程序加載設(shè)備驅(qū)動(dòng)程序,創(chuàng)建設(shè)備,打開(kāi)設(shè)備,激活應(yīng)用程序。當(dāng)設(shè)備卡拔出Compact PCI總線時(shí),微動(dòng)開(kāi)關(guān)會(huì)觸發(fā)枚舉信號(hào),以同樣的方式讀取本地空間寄存器的狀態(tài),如果為拔出,卸載設(shè)備驅(qū)動(dòng)程序,刪除設(shè)備,釋放與設(shè)備相關(guān)的資源。熱插拔軟件流程如圖2所示。


3.1 Vxworks驅(qū)動(dòng)程序的設(shè)計(jì)
    
驅(qū)動(dòng)程序主要實(shí)現(xiàn)了驅(qū)動(dòng)程序的安裝,設(shè)備的創(chuàng)建,以及打開(kāi)設(shè)備,讀寫(xiě)設(shè)備的功能。開(kāi)發(fā)驅(qū)動(dòng)程序首先修改主機(jī)的BSP,在config Al l.h文件中添加#define cpci9030.h,然后在sysLib.c中加入include“cpci9030.c”。在cpci9030.c中主要實(shí)現(xiàn)以下函數(shù):
    syscpciInit(),設(shè)備資源初始化函數(shù),主要的作用是讀取系統(tǒng)分配給采集卡的地址映射空間,包括內(nèi)存空間和I/O空間,以及設(shè)備的中斷號(hào),調(diào)用sysMmuMapAdd()系統(tǒng)函數(shù)將內(nèi)存空間做虛擬化映射,使CPU能夠正常訪問(wèn)采集卡。調(diào)用intConnect()系統(tǒng)函數(shù)將設(shè)備卡的中斷程序添加到系統(tǒng)中。
    plx_Drv(),驅(qū)動(dòng)程序安裝函數(shù),函數(shù)調(diào)用IosDrvInstall()函數(shù)將開(kāi)發(fā)的驅(qū)動(dòng)程序添加到系統(tǒng)的驅(qū)動(dòng)程序表中。
    plx_UnDrv(),驅(qū)動(dòng)程序卸載函數(shù),函數(shù)調(diào)用IosDrvRemove()函數(shù),將驅(qū)動(dòng)程序從系統(tǒng)中移除。
    plx_DevCreate(),創(chuàng)建設(shè)備函數(shù),調(diào)用系統(tǒng)函數(shù)iosDevAdd()函數(shù)將設(shè)備添加到系統(tǒng)的設(shè)備列表中。
    plx_DevRemove(),設(shè)備刪除函數(shù),調(diào)用系統(tǒng)函數(shù)iosDevDelete()函數(shù),刪除系統(tǒng)中創(chuàng)建的設(shè)備。
    plx_Open(),設(shè)備打開(kāi)函數(shù),在設(shè)備列表中找到設(shè)備,并在空閑文件表中注冊(cè),返回文件描述符。
    plx_Read(),設(shè)備讀函數(shù),讀取設(shè)備中的數(shù)據(jù),系統(tǒng)函數(shù)read()調(diào)用。
    plx_Write(),設(shè)備寫(xiě)函數(shù),寫(xiě)入數(shù)據(jù)到設(shè)備中,系統(tǒng)函數(shù)write()調(diào)用。
3.2 熱插拔監(jiān)控程序的設(shè)計(jì)
    
當(dāng)設(shè)備插入Compact PCI總線,在連接過(guò)程中,設(shè)備通電以后會(huì)激活ENUM#信號(hào),進(jìn)而會(huì)產(chǎn)生一個(gè)系統(tǒng)中斷,系統(tǒng)響應(yīng)這個(gè)中斷信號(hào),執(zhí)行中斷函數(shù),讀取PCI9030的配置空間的設(shè)備關(guān)聯(lián)區(qū)寄存器,判斷板卡是插入還是拔出,并清除響應(yīng)的中斷狀態(tài)。當(dāng)中斷狀態(tài)是由插入板卡的引起的,會(huì)激活監(jiān)視程序加載驅(qū)動(dòng)程序安裝函數(shù)plx_Drv(),設(shè)備創(chuàng)建函數(shù)plx_DevCreate(),以及設(shè)備打開(kāi)函數(shù)plx_Open(),當(dāng)中斷由板卡拔出引起的,中斷函數(shù)釋放信號(hào)量激活任務(wù),調(diào)用驅(qū)動(dòng)程序卸載函數(shù)plx_UnDrv(),調(diào)用設(shè)備刪除函數(shù)plx_DevRemove(),關(guān)閉由設(shè)備操作占用的文件和資源。

4 結(jié)束語(yǔ)
    
在對(duì)計(jì)算機(jī)系統(tǒng)穩(wěn)定性和可維護(hù)性要求越來(lái)越高的前提下,PICMG提出了Compact PCI總線技術(shù),較好地解決了這個(gè)問(wèn)題,隨著Compact PCI技術(shù)的不斷成熟,熱插拔技術(shù)會(huì)受到越來(lái)越多的重視,并向高可用性熱插拔技術(shù)發(fā)展,以及雙系統(tǒng)冗余技術(shù)的實(shí)現(xiàn),在未來(lái)將會(huì)改變計(jì)算機(jī)系統(tǒng)的特性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉