亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        VxWorks下Compact PCI熱插拔的原理與實現(xiàn)

        2013-10-17 08:45:32席志紅范寶軍
        電子科技 2013年6期
        關(guān)鍵詞:信號設(shè)備系統(tǒng)

        席志紅,范寶軍

        (哈爾濱工程大學(xué)教學(xué)中心,黑龍江哈爾濱 150001)

        1992年,英特爾公司將PCI總線作為局部總線,用于CPU與外圍器件相連,例如顯示控制器、以太網(wǎng)控制器、內(nèi)存控制器等。經(jīng)過10多年的發(fā)展,PCI總線標(biāo)準(zhǔn)已成為PC機業(yè)界標(biāo)準(zhǔn)。但由于其自身無法提供更高可靠性及無法滿足更高可用性系統(tǒng)對正常運作時間的要求,主板散熱困難,邊緣接頭可靠性低,在更換主板時易受損壞等弊端逐漸顯現(xiàn)出來[1]。1997年8月,PICMG發(fā)布了第一個技術(shù)標(biāo)準(zhǔn)Compact PCI技術(shù)標(biāo)準(zhǔn)PICMG2.0,該標(biāo)準(zhǔn)的發(fā)布標(biāo)志著Compact PCI系統(tǒng)的誕生。

        Compact PCI是一種新的開放式工業(yè)計算機標(biāo)準(zhǔn)。它融合了計算機與工業(yè)設(shè)備諸多經(jīng)過廣泛驗證的標(biāo)準(zhǔn),是PCI總線技術(shù)與歐式卡組裝技術(shù)的組合。它與傳統(tǒng)的PCI系統(tǒng)完全兼容[2],系統(tǒng)的設(shè)計者只需將電路板上的連接器重新繪制,就可以將一個傳統(tǒng)的PCI系統(tǒng)升級為一個Compact PCI系統(tǒng),大幅縮短了產(chǎn)品推向市場的時間。與此同時Compact PCI標(biāo)準(zhǔn)給系統(tǒng)設(shè)計者提供了冗余設(shè)計、故障切換和故障管理等極大的設(shè)計空間,其中最具吸引力的特點就是Compact PCI系統(tǒng)具備了傳統(tǒng)PCI板卡無法實現(xiàn)的熱插拔能力。

        1 熱插拔原理

        Compact PCI總線的熱插拔[3]過程就是軟硬件交互的連接過程。主要包括物理連接、硬件連接和軟件連接。物理連接過程就是板卡在插入和拔出的過程中,接口的長、中、短針依次與總線連接的過程。硬件連接是各種電信號驅(qū)動響應(yīng)的過程。Compact PCI總線增加一個ENUM#信號,即系統(tǒng)枚舉信號[4]。當(dāng)一個Compact PCI設(shè)備卡被插入或拔出時。ENUM#被激活,同時激活熱插拔監(jiān)控軟件,監(jiān)控軟件判斷熱插拔類型并經(jīng)行相關(guān)操作。軟件連接過程是軟件層同系統(tǒng)連接或斷離的過程。對于板卡的插入,過程包括分配系統(tǒng)資源,包括I/O空間、內(nèi)存空間、中斷號,加載設(shè)備驅(qū)動程序并激活應(yīng)用軟件。根據(jù)系統(tǒng)要求的不同,熱插拔系統(tǒng)有3種模型:

        (1)基本熱插拔模型。最基本的熱插拔方式需要用戶干預(yù),用戶通過控制臺通知操作系統(tǒng)將進(jìn)行設(shè)備卡的插入或拔出。

        (2)完全熱插拔模型。完全熱插拔是在基本熱插拔模型的基礎(chǔ)上,在設(shè)備卡的插入/拔出機構(gòu)中添加一個微開關(guān)裝置,這個開關(guān)藏在手柄中,在設(shè)備的插入和拔出過程中激活枚舉信號,及ENUM#信號,該信號通過中斷的方式通知操作系統(tǒng)將要插入或拔出一個設(shè)備卡,操作系統(tǒng)再執(zhí)行總線枚舉,資源分配,安裝驅(qū)動程序或卸載驅(qū)動程序。

        (3)高可用性模型。在完全熱插拔模型基礎(chǔ)上對板卡實行了更高程度的控制,不僅是指示板卡的插入或可拔出的狀態(tài)。這種模型的軟件能夠控制板卡的硬件連接,這就使得軟件能對發(fā)生故障的板卡立即進(jìn)行總線或電氣上的隔離,并啟用冗余板卡,滿足系統(tǒng)始終處于運行狀態(tài)、幾乎沒有故障的高可用性目標(biāo)。

        2 系統(tǒng)的硬件設(shè)計

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

        圖1 系統(tǒng)硬件框圖

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

        3 熱插拔系統(tǒng)軟件的設(shè)計

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

        圖2 熱插拔軟件流程

        3.1 Vxworks驅(qū)動程序的設(shè)計

        驅(qū)動程序主要實現(xiàn)了驅(qū)動程序的安裝,設(shè)備的創(chuàng)建,以及打開設(shè)備,讀寫設(shè)備的功能。開發(fā)驅(qū)動程序首先修改主機的 BSP[6-7],在 configAll.h文件中添加#define cpci9030.h,然后在 sysLib.c中加入 include“cpci9030.c”。在cpci9030.c中主要實現(xiàn)以下函數(shù):

        syscpciInit(),設(shè)備資源初始化函數(shù),主要的作用是讀取系統(tǒng)分配給采集卡的地址映射空間,包括內(nèi)存空間和I/O空間,以及設(shè)備的中斷號,調(diào)用sysMmuMapAdd()系統(tǒng)函數(shù)將內(nèi)存空間做虛擬化映射,使CPU能夠正常訪問采集卡。調(diào)用intConnect()系統(tǒng)函數(shù)將設(shè)備卡的中斷程序添加到系統(tǒng)中[8-10]。

        plx_Drv(),驅(qū)動程序安裝函數(shù),函數(shù)調(diào)用IosDrvInstall()函數(shù)將開發(fā)的驅(qū)動程序添加到系統(tǒng)的驅(qū)動程序表中。

        plx_UnDrv(),驅(qū)動程序卸載函數(shù),函數(shù)調(diào)用IosDrvRemove()函數(shù),將驅(qū)動程序從系統(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è)備打開函數(shù),在設(shè)備列表中找到設(shè)備,并在空閑文件表中注冊,返回文件描述符。

        plx_Read(),設(shè)備讀函數(shù),讀取設(shè)備中的數(shù)據(jù),系統(tǒng)函數(shù)read()調(diào)用。

        plx_Write(),設(shè)備寫函數(shù),寫入數(shù)據(jù)到設(shè)備中,系統(tǒng)函數(shù)write()調(diào)用。

        3.2 熱插拔監(jiān)控程序的設(shè)計

        當(dāng)設(shè)備插入Compact PCI總線,在連接過程中,設(shè)備通電以后會激活ENUM#信號,進(jìn)而會產(chǎn)生一個系統(tǒng)中斷,系統(tǒng)響應(yīng)這個中斷信號,執(zhí)行中斷函數(shù),讀取PCI9030的配置空間的設(shè)備關(guān)聯(lián)區(qū)寄存器,判斷板卡是插入還是拔出,并清除響應(yīng)的中斷狀態(tài)。當(dāng)中斷狀態(tài)是由插入板卡的引起的,會激活監(jiān)視程序加載驅(qū)動程序安裝函數(shù)plx_Drv(),設(shè)備創(chuàng)建函數(shù)plx_DevCreate(),以及設(shè)備打開函數(shù)plx_Open(),當(dāng)中斷由板卡拔出引起的,中斷函數(shù)釋放信號量激活任務(wù),調(diào)用驅(qū)動程序卸載函數(shù)plx_UnDrv(),調(diào)用設(shè)備刪除函數(shù) plx_DevRemove(),關(guān)閉由設(shè)備操作占用的文件和資源。

        4 結(jié)束語

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

        [1]李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.

        [2]尹勇,李宇.PCI總線設(shè)備開發(fā)寶典[M].北京:北京航空航天大學(xué)出版社,2005.

        [3]郭東文,金勇.Compact PCI熱插拔的原理與實現(xiàn)[C].北京:第十二屆全國青年通信學(xué)術(shù)會議,2008:275-278.

        [4]PICMG.PICMG2.0.Compact PCI總線協(xié)議規(guī)范標(biāo)準(zhǔn)[S].USA:PICMG,1997.

        [5]趙永鋼,張海軍.Windows下CPCI熱插拔監(jiān)控軟件的設(shè)計與實現(xiàn)[J].中國科技財富,2010(12):16.

        [6]周啟平,張楊.VxWorks程序員速查手冊[M].北京:械工業(yè)出版社,2005.

        [7]周啟平,張楊.VxWorks下設(shè)備驅(qū)動程序及BSP開發(fā)指南[M].北京:中國電力出版社,2004.

        [8]周啟平,張楊,吳瓊.VxWorks開發(fā)指南與Tornado使用手冊[M].北京:中國電力出版社,2004.

        [9]孔祥營,張保山,愈烈彬.VxWorks驅(qū)動與分布式編程[M].北京:中國電力出版社,2007.

        [10]程敬原.VxWorks軟件開發(fā)項目實例完全解析[M].北京:中國電力出版社,2005.

        猜你喜歡
        信號設(shè)備系統(tǒng)
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        Smartflower POP 一體式光伏系統(tǒng)
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        完形填空二則
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        基于FPGA的多功能信號發(fā)生器的設(shè)計
        電子制作(2018年11期)2018-08-04 03:25:42
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        500kV輸變電設(shè)備運行維護探討
        精品亚洲少妇一区二区三区| 国产一区二区三区av天堂| 又黄又爽又色视频| 免费人成在线观看视频播放| 狠狠狠色丁香婷婷综合激情| 久久国产精品一区二区| 日本午夜剧场日本东京热| 一本大道熟女人妻中文字幕在线| 人成午夜大片免费视频77777| 女人脱了内裤趴开腿让男躁| 水蜜桃亚洲一二三四在线| 热久久网站| 人妻中文字幕av有码在线| 国产我不卡在线观看免费| 日韩女优av一区二区| 国产国产人免费人成免费视频| 亚洲熟妇无码一区二区三区导航| 热re99久久精品国产99热| 中文幕无线码中文字蜜桃| 久久青草国产精品一区| 亚洲国产成人手机在线电影| 亚洲日本在线中文字幕| 精品亚洲乱码一区二区三区| 熟女一区二区国产精品| 久久精品国产免费一区二区三区| 免费人成视网站在线剧情| 一本无码中文字幕在线观| 亚洲精品一品区二品区三品区| 亚洲欧美日韩人成在线播放| 亚洲另类欧美综合久久图片区| 少妇被日到高潮的视频| 国产av在线观看一区二区三区 | s级爆乳玩具酱国产vip皮裤| 午夜福利麻豆国产精品| 国产V日韩V亚洲欧美久久| 国产无遮挡又黄又爽无VIP| 亚洲天堂av路线一免费观看| 亚洲综合中文字幕综合| 欧美最猛黑人xxxx| 久久香蕉国产线看观看精品yw| 少妇放荡的呻吟干柴烈火动漫|