專利名稱:一種能夠?qū)崿F(xiàn)緊湊型pci產(chǎn)品熱插拔的處理方法以及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及緊湊型PCI產(chǎn)品領(lǐng)域,尤其涉及一種能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法以及系統(tǒng)。
背景技術(shù):
緊湊型PCI產(chǎn)品由緊湊型PCI主控卡、背板和周邊卡構(gòu)成,周邊卡插入或拔出背板時(shí),由主控卡負(fù)責(zé)監(jiān)控。緊湊型PCI產(chǎn)品常見的可熱插拔功能實(shí)現(xiàn)分可熱插拔的周邊卡和緊湊型PCI主控卡兩端,下面作簡要介紹。緊湊型外部設(shè)備互聯(lián)總線(Compact PCI:緊湊型PCI)周邊卡與緊湊型PCI背板之間的邏輯關(guān)系示意圖如圖1所示,包括緊湊型PCI背板10和可熱插拔的周邊卡19,可熱插拔的周邊卡19中進(jìn)一步包括熱插拔控制器191、熱插拔橋接芯片193、微動(dòng)開關(guān)194以及熱插拔狀態(tài)指示燈195,其相互連接以及工作邏輯示意圖請參考圖1中的連接箭頭。緊湊型PCI背板10與可熱插拔的周邊卡19之間采用連接器連接,該連接器的插針引腳分別有最長、中長、最短三種長度。將可熱插拔的周邊卡19插入到緊湊型PCI背板10的插槽內(nèi)時(shí),首先可熱插拔的周邊卡19連接器最長的插針引腳(電源和地)與緊湊型PCI背板10 連接,可熱插拔的周邊卡19的硬件邏輯將所有PCI信號(hào)引腳預(yù)設(shè)到固定電平IV ;然后中長度插針引腳的PCI信號(hào)等與緊湊型PCI背板10連接,這些信號(hào)已經(jīng)被固定為IV電平但尚未開始工作,不會(huì)對系統(tǒng)造成干擾;最后最短的插針引腳,即BDSELi^f號(hào)連接,通知熱插拔控制器191板卡邏輯開始工作。HEALTHY#信號(hào)為可熱插拔的周邊卡19的反饋信號(hào),當(dāng)可熱插拔的周邊卡19正常上電工作后會(huì)發(fā)出??蔁岵灏蔚闹苓吙?9拔出的過程剛好相反, BDSEL#首先斷開,然后PCI信號(hào)被調(diào)整到固定電平IV,最后才斷開電源和地信號(hào)。要使設(shè)計(jì)的可熱插拔的周邊卡19能夠?qū)崿F(xiàn)熱插拔的功能,緊湊型PCI可熱插拔周邊卡19比普通PC板卡邏輯還增加一兼容緊湊型PCI規(guī)范的支持熱插拔的PCI-to-PCI的橋接芯片193和一個(gè)微動(dòng)開關(guān)194。微動(dòng)開關(guān)194觸發(fā)的信號(hào)會(huì)使橋接芯片193產(chǎn)生一枚舉信號(hào)(ENUM#)傳給緊湊型PCI背板10,當(dāng)一個(gè)緊湊型PCI的周邊卡被插入或拔出時(shí),ENUM# 被激活,通知系統(tǒng)配置改變。根據(jù)ENUM#信號(hào)的狀態(tài),進(jìn)行板卡的資源分配及釋放、驅(qū)動(dòng)程序的加載及卸載,以及熱插拔指示燈的控制。為了實(shí)現(xiàn)熱插拔得目的,必須配備一緊湊型PCI主控卡來控制周邊卡的熱插拔過程。以下主要描述現(xiàn)有技術(shù)中緊湊型PCI主控卡對ENUM#信號(hào)的處理方式。圖2所示為現(xiàn)有技術(shù)中緊湊型PCI主控卡18與緊湊型PCI背板10的邏輯關(guān)系示意圖,緊湊型PCI主控卡18包括電平轉(zhuǎn)換模塊181、熱插拔橋接芯片182以及主板189,所述主板189中進(jìn)一步包括Super I/O芯片183。緊湊型PCI主控卡18的ENUM#信號(hào)與Super I/O芯片183的IRQINO引腳相連,以擴(kuò)展中斷輸入的ISA中斷方式實(shí)現(xiàn)對ENUM#信號(hào)的處理。所有可熱插拔的周邊卡到背板都會(huì)輸出一個(gè)ENUM#信號(hào),該信號(hào)為帶上拉的集電極開路信號(hào),低電平有效,而IRQINO引腳的輸入是邊沿觸發(fā)方式,所以需要電平轉(zhuǎn)換模塊181進(jìn)行電平觸發(fā)到邊沿觸發(fā)的轉(zhuǎn)換。
結(jié)合圖1和圖2,現(xiàn)有技術(shù)中的熱插拔系統(tǒng)硬件的邏輯工作是首先,當(dāng)可熱插拔的周邊卡19插入緊湊型PCI背板10時(shí),熱插拔橋接芯片193上電初始化,設(shè)置內(nèi)部的熱插拔寄存器INS (Insertion State)狀態(tài)位、觸發(fā)ENUM#信號(hào)為低、置LOO (LED Status) 位,點(diǎn)亮熱插拔狀態(tài)指示燈195 ;然后,ENUM#經(jīng)緊湊型PCI背板10到達(dá)緊湊型PCI主控卡 18,經(jīng)電平轉(zhuǎn)換模塊181進(jìn)行邏輯轉(zhuǎn)換,生成中斷請求的有效信號(hào)給Super I/O芯片183的 IRQINO弓丨腳;最后,緊湊型PCI主控卡18的處理器響應(yīng)中斷,進(jìn)入中斷服務(wù)程序,ENUM#信號(hào)被撤除,安裝可熱插拔的周邊卡19設(shè)備驅(qū)動(dòng)程序成功后,清LOO位,熄滅熱插拔狀態(tài)指示燈195,周邊卡設(shè)備開始工作。當(dāng)要拔出可熱插拔的周邊卡19時(shí),位于可熱插拔的周邊卡19 上的微動(dòng)開關(guān)194先被斷開,熱插拔橋接芯片193置內(nèi)部的熱插拔寄存器EXlXExtraction State)狀態(tài)位,激活ENUM#信號(hào),然后緊湊型PCI主控卡18的處理器響應(yīng)中斷,通知操作系統(tǒng)卸載設(shè)備驅(qū)動(dòng)程序,ENUM#被撤除,設(shè)備可以安全拔出。以上現(xiàn)有技術(shù)所述方案的缺點(diǎn)在于,緊湊型PCI產(chǎn)品因與普通PC功能需求不同, 很多時(shí)候不需要Super I/O芯片,如果只單純因?yàn)樘幚鞥NUM#信號(hào),而增加Super I/O硬件, 則會(huì)增加設(shè)計(jì)成本?,F(xiàn)有技術(shù)還有如下的技術(shù)方案來處理ENUM#信號(hào)直接將ENUM#信號(hào)連接至PCI 中斷INTA#、INTB#、INTC#、INTD#的4條中斷線之一。緊湊型PCI不同的槽位可以分配到不同的中斷線,每條中斷線產(chǎn)生的中斷號(hào)不同,這是由主控卡的芯片組決定的。當(dāng)周邊卡熱插拔產(chǎn)生ENUMi^f號(hào)時(shí),會(huì)產(chǎn)生相應(yīng)的中斷。主控卡的中斷服務(wù)程序掛接在對應(yīng)中斷號(hào)的中斷線上,當(dāng)判斷自己所管理的設(shè)備的中斷狀態(tài)寄存器有中斷產(chǎn)生時(shí),認(rèn)為有周邊卡插入或拔出,作相應(yīng)處理,處理完成后,清中斷,退出中斷服務(wù)程序。以上這一技術(shù)方案的缺點(diǎn)在于,將中斷連接至PCI中斷INTA#、INTB#、INTC#、 INTD#時(shí),需要硬件工程師、BIOS工程師根據(jù)芯片組及外設(shè)配置,重新修改線路、修改寄存器資源分配,熱插拔服務(wù)程序也要做出相應(yīng)的修改,設(shè)計(jì)復(fù)雜也不具有可重用性,且不利于模塊化。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法以及系統(tǒng)來克服上述缺陷,降低設(shè)計(jì)工作的復(fù)雜程度,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡單化,提高可重用性,縮短產(chǎn)品研發(fā)周期,同時(shí)節(jié)約設(shè)計(jì)成本。本發(fā)明是這樣實(shí)現(xiàn)的,一種實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法,包括如下步驟(a)提供一 CPLD模塊,并將其模擬成串行中斷請求的從設(shè)備,掛接在主控卡南橋芯片的串行中斷請求的中斷線上;(b) CPLD模塊接收到可熱插拔的板卡發(fā)出的枚舉信號(hào)后,轉(zhuǎn)換成串行中斷請求的時(shí)序,形成中斷給南橋。進(jìn)一步的,步驟(b)包括(bl)當(dāng)可熱插拔的板卡插入或拔出時(shí),會(huì)將枚舉信號(hào)設(shè)置為有效,CPLD模塊接收到該枚舉信號(hào)后,先進(jìn)行去抖處理;(b2)檢測去抖后的枚舉信號(hào)是否為有效電平,如果電平有效則執(zhí)行步驟(b3),如為無效電平則實(shí)施步驟(bl) ;(b3) CPLD模塊根據(jù)約定好的中斷號(hào),生成符合串行中斷請求協(xié)議的中斷給南橋;(b4)CPLD模塊判斷枚舉信號(hào)是否恢復(fù)為無效電平,如未恢復(fù)為無效電平,則重復(fù)上述步驟(b3),如果已經(jīng)恢復(fù)為無效電平,則實(shí)施步驟(b5);(b5)關(guān)閉串行中斷請求時(shí)序中約定好的熱插拔中斷,轉(zhuǎn)到步驟(bl)繼續(xù)檢測是否有可熱插拔的板卡插入或拔出。優(yōu)選的,BIOS與CPLD模塊約定并將CPLD模塊產(chǎn)生的串行中斷請求的中斷號(hào)配置成主控卡上未使用的軟盤中斷號(hào)。本發(fā)明還提供一種能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的系統(tǒng),包括緊湊型PCI背板和緊湊型PCI主控卡,所述緊湊型PCI主控卡包括一主板,所述主板上包括一南橋芯片,所述緊湊型PCI主控卡進(jìn)一步包括一 CPLD模塊,所述CPLD模塊分別與緊湊型PCI背板以及南橋芯片通信,CPLD模塊被模擬成串行中斷請求的從設(shè)備,獲取從可熱插拔的板卡發(fā)出反應(yīng)熱插拔動(dòng)作的枚舉信號(hào),并轉(zhuǎn)換成串行中斷請求的時(shí)序發(fā)送給南橋芯片,南橋芯片接收中斷后響應(yīng)熱插拔請求并作相應(yīng)處理。本發(fā)明的優(yōu)點(diǎn)在于,設(shè)計(jì)一 CPLD模塊,將其模擬成串行中斷請求的從設(shè)備來解決緊湊型PCI產(chǎn)品的熱插拔問題,從而降低硬件邏輯設(shè)計(jì)工作的復(fù)雜程度,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡單化,同時(shí)節(jié)約了設(shè)計(jì)成本。進(jìn)一步選擇將CPLD模塊產(chǎn)生的串行中斷請求的中斷號(hào)配置成主板南橋芯片的軟盤中斷號(hào),利用了現(xiàn)有的未使用的軟盤中斷,既解決了要接入Super I/O并增加硬件邏輯電路轉(zhuǎn)換電平的問題,又解決了將中斷連接至PCI中斷 INTA#、INTB#、INTC#、INTD#時(shí)資源重新分配的繁瑣工作,提高可重用性,縮短產(chǎn)品研發(fā)周期。
附圖1是本發(fā)明現(xiàn)有技術(shù)中緊湊型PCI周邊卡與緊湊型PCI背板之間的邏輯關(guān)系示意圖。附圖2是本發(fā)明現(xiàn)有技術(shù)中緊湊型PCI主控卡與緊湊型PCI背板之間的邏輯關(guān)系示意圖。附圖3是本發(fā)明實(shí)施例中能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的系統(tǒng)硬件架構(gòu)示意圖。附圖4是本發(fā)明實(shí)施例中實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法流程圖。
具體實(shí)施例方式接下來結(jié)合附圖詳細(xì)介紹本發(fā)明所述的一種能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法以及系統(tǒng)的具體實(shí)施方式
。附圖3所示是本實(shí)施方式所述能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的系統(tǒng)硬件架構(gòu)示意圖,包括緊湊型PCI背板30和緊湊型PCI主控卡38,所述緊湊型PCI主控卡38進(jìn)一步包括一普通PC主板381、一熱插拔橋接芯片389和一 CPLD模塊383,所述主板381上包括一南橋芯片382。并且,與現(xiàn)有技術(shù)中附圖2不同的是,所述緊湊型PCI主控卡38上還包括一復(fù)雜可編程邏輯電路(CPLD)模塊383,所述CPLD模塊383分別與緊湊型PCI背板30以及主板381上的南橋芯片382通信,從緊湊型PCI背板30處獲得反應(yīng)熱插拔動(dòng)作的枚舉信號(hào) (ENUM#),并轉(zhuǎn)換成串行中斷請求(serirq)的時(shí)序發(fā)送給南橋芯片382。南橋芯片382接收中斷請求后,作出相應(yīng)的處理,由熱插拔橋接芯片389將處理信息發(fā)給緊湊型PCI背板30, 完成對可熱插拔的周邊卡插入或拔出的控制。附圖4所示,采用圖3所示系統(tǒng)實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔功能的方法包括如下步驟(a)將附圖3中的CPLD模塊383模擬成串行中斷請求的從設(shè)備,掛接在主控卡南橋芯片382的串行中斷請求的中斷線上;(bl)當(dāng)可熱插拔的板卡插入或拔出時(shí),會(huì)將枚舉信號(hào)ENUM#設(shè)置為有效,在本實(shí)施例中ENUM#為低電平有效,CPLD模塊383接收到該ENUM# 信號(hào)后,先進(jìn)行去抖處理;(b2)檢測去抖后的ENUM#信號(hào)是否為低電平,如果為低則執(zhí)行步驟(b3),如為高則實(shí)施步驟(bl) ; (b3) CPLD模塊383根據(jù)約定好的中斷號(hào),生成符合串行中斷請求協(xié)議的中斷給主控卡南橋芯片382 ; (b4) CPLD模塊383判斷ENUM#信號(hào)是否恢復(fù)高電平,如未恢復(fù)高電平,則重復(fù)上述步驟(b3),如果已經(jīng)恢復(fù)高電平,則實(shí)施步驟(b5); (b5)關(guān)閉串行中斷請求時(shí)序中約定好的熱插拔中斷,轉(zhuǎn)到步驟(bl)繼續(xù)檢測是否有可熱插拔的板卡插入或拔出。以上步驟中,(bl)至(b5)為可選步驟,其實(shí)施的實(shí)質(zhì)在于使CPLD模塊383檢測到 ENUMi^f號(hào)低電平有效后,轉(zhuǎn)換成串行中斷請求的時(shí)序,形成串行中斷請求的中斷給主控卡的南橋芯片382。在其他的實(shí)施方式中,可以通過配置CPLD模塊383,以其他類似的方法實(shí)現(xiàn)ENUM#信號(hào)和串行中斷請求的時(shí)序之間的轉(zhuǎn)換,這是本領(lǐng)域內(nèi)技術(shù)人員所能夠做到的。作為優(yōu)選的方案,BIOS與CPLD模塊383提前約定好,并將CPLD模塊產(chǎn)生的串行中斷請求的中斷號(hào)配置成主控卡中未使用的軟盤中斷號(hào),在本實(shí)施方式中,上述配置體現(xiàn)在步驟(b3)中。根據(jù)現(xiàn)有平臺(tái)的特點(diǎn),軟盤已退出市場,但其中斷號(hào)依然保留,所以CPLD模塊383產(chǎn)生的中斷號(hào)可以配置成主控板上的軟盤中斷號(hào)。此做法既解決了要接入Super I/ 0并增加邏輯電路轉(zhuǎn)換電平的問題,又解決了將中斷連接至PCI中斷INTA#、INTB#、INTC#、 INTD#時(shí)資源重新分配的繁瑣工作。在步驟(b3)實(shí)施完畢后,操作系統(tǒng)對可熱插拔的周邊卡的處理例如可以采用如下方法如果有中斷產(chǎn)生,首先執(zhí)行對應(yīng)可熱插拔的周邊卡驅(qū)動(dòng)程序的中斷服務(wù)程序,中斷服務(wù)程序掃描整個(gè)緊湊型PCI總線,讀取周邊卡橋接芯片的熱插拔寄存器,清除相應(yīng)狀態(tài),并根據(jù)設(shè)備的INS/EXT狀態(tài)位建立設(shè)備變更清單,通知熱插拔處理線程,熱插拔處理線程讀取設(shè)備變更清單。如果有剛插入的可熱插拔的周邊卡,則通知操作系統(tǒng)(OS)重新枚舉緊湊型PCI總線,如果有待拔出的設(shè)備,則利用設(shè)備槽信息,通知操作系統(tǒng)移除該設(shè)備。操作系統(tǒng)在移除一個(gè)設(shè)備后或枚舉總線時(shí)發(fā)現(xiàn)了新設(shè)備則發(fā)消息到應(yīng)用程序,此應(yīng)用程序包括設(shè)備驅(qū)動(dòng)加載成功、設(shè)備被成功移除等,以日志形式顯示到控制臺(tái),供用戶查詢。以上只是本實(shí)施方式一種可選的方案。本具體實(shí)施方式
所述的技術(shù)方案設(shè)計(jì)了一 CPLD模塊,將其模擬成串行中斷請求的從設(shè)備來解決緊湊型PCI產(chǎn)品的熱插拔問題,從而降低硬件邏輯設(shè)計(jì)工作的復(fù)雜程度, 使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡單化,同時(shí)節(jié)約了設(shè)計(jì)成本。本發(fā)明前文所述的優(yōu)選實(shí)施方式是用以舉例說明并描述本發(fā)明的目的。不應(yīng)當(dāng)將本發(fā)明限制在所揭露的內(nèi)容之內(nèi),還有可能通過來自于上述記載內(nèi)容中的啟示和對本發(fā)明的實(shí)踐來獲得對本發(fā)明的調(diào)整和改變。因此,本發(fā)明所給出的具體實(shí)施方式
并不是限制而是解釋本發(fā)明的技術(shù)精神,本發(fā)明的保護(hù)范圍并不受制于具體實(shí)施方式
。本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由權(quán)利要求確定,對本發(fā)明的等同替換也應(yīng)當(dāng)視為不超出本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法,其特征在于,包括如下步驟(a)提供一CPLD模塊,并將其模擬成串行中斷請求的從設(shè)備,掛接在主控卡南橋芯片的串行中斷請求的中斷線上;(b)CPLD模塊接收到可熱插拔的板卡發(fā)出的枚舉信號(hào)后,轉(zhuǎn)換成串行中斷請求的時(shí)序, 形成中斷給南橋。
2.根據(jù)權(quán)利要求1所述的一種實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法,其特征在于,權(quán)利要求1中的步驟(b)進(jìn)一步包括(bl)當(dāng)可熱插拔的板卡插入或拔出時(shí),會(huì)將枚舉信號(hào)設(shè)置為有效,CPLD模塊接收到該枚舉信號(hào)后,先進(jìn)行去抖處理;(b2)檢測去抖后的枚舉信號(hào)是否為有效電平,如果電平有效則執(zhí)行步驟(b3),如為無效電平則實(shí)施步驟(bl);(b3) CPLD模塊根據(jù)約定好的中斷號(hào),生成符合串行中斷請求協(xié)議的中斷給南橋; (b4) CPLD模塊判斷枚舉信號(hào)是否恢復(fù)為無效電平,如未恢復(fù)為無效電平,則重復(fù)上述步驟(b3),如果已經(jīng)恢復(fù)為無效電平,則實(shí)施步驟(b5);(b5)關(guān)閉串行中斷請求時(shí)序中約定好的熱插拔中斷,轉(zhuǎn)到步驟(bl)繼續(xù)檢測是否有可熱插拔的板卡插入或拔出。
3.根據(jù)權(quán)利要求1或2所述的一種實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法,其特征在于,基本輸入輸出系統(tǒng)BIOS與CPLD模塊約定并將CPLD模塊產(chǎn)生的串行中斷請求的中斷號(hào)配置成主控卡上未使用的軟盤中斷號(hào)。
4.一種能夠?qū)崿F(xiàn)緊湊型PCI產(chǎn)品熱插拔的系統(tǒng),包括緊湊型PCI背板和緊湊型PCI主控卡,所述緊湊型PCI主控卡包括一主板,所述主板上包括一南橋芯片,其特征在于,所述緊湊型PCI主控卡進(jìn)一步包括一 CPLD模塊,所述CPLD模塊分別與緊湊型PCI背板以及南橋芯片通信,CPLD模塊被模擬成串行中斷請求的從設(shè)備,獲取從可熱插拔的板卡發(fā)出反應(yīng)熱插拔動(dòng)作的枚舉信號(hào),并轉(zhuǎn)換成串行中斷請求的時(shí)序發(fā)送給南橋芯片,南橋芯片接收中斷后響應(yīng)熱插拔請求并作相應(yīng)處理。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)緊湊型PCI產(chǎn)品熱插拔的處理方法,包括如下步驟(a)提供一CPLD模塊,并將其模擬成串行中斷請求的從設(shè)備,掛接在主控卡南橋芯片的串行中斷請求的中斷線上;(b)CPLD模塊接收到可熱插拔的板卡發(fā)出的枚舉信號(hào)后,轉(zhuǎn)換成串行中斷請求的時(shí)序,形成中斷給南橋。本發(fā)明的優(yōu)點(diǎn)在于,設(shè)計(jì)一CPLD模塊來解決緊湊型PCI產(chǎn)品的熱插拔問題,使程序設(shè)計(jì)、調(diào)試和維護(hù)等操作簡單化,提高了可重用性,縮短了產(chǎn)品研發(fā)周期,提高了產(chǎn)品質(zhì)量,同時(shí)節(jié)約了設(shè)計(jì)成本。
文檔編號(hào)G06F13/40GK102446149SQ20101050578
公開日2012年5月9日 申請日期2010年10月14日 優(yōu)先權(quán)日2010年10月14日
發(fā)明者張?jiān)? 曾崇 申請人:上海研祥智能科技有限公司