專利名稱:一種板卡的熱插拔方法和裝置的制作方法
技術領域:
本發明涉及硬件系統中單板熱插拔技術,特別是涉及一種板卡的熱插拔方法和裝置。
背景技術:
熱插拔(hot-plugging或hot swap)即帶電插拔,有時也稱為熱替換 (hotr印lacement)、熱添力口 (hot expansion)禾口熱升級(hot upgrade)等。熱插拔功會g就 是允許用戶在不關閉系統,不切斷電源的情況下取出和更換損壞的硬盤、電源或板卡等部 件,從而提高了系統對災難的及時恢復能力、擴展性和靈活性等。通常,熱插拔采用對信號 進行隔離緩沖處理,以對熱插拔的設備的元器件、芯片進行保護。例如一些面向高端應用 的磁盤鏡像系統都可以提供磁盤的熱插拔功能。而熱插拔最早出現在服務器領域,是為了 提高服務器的實用性而提出的,在平時用的電腦中一般都有USB接口 ,這種接口就能夠實 現熱插拔。如果沒有熱插拔功能,即使磁盤損壞未造成數據的丟失,用戶仍然需要暫時關閉 系統,以便能夠對硬盤進行更換。然而,若使用熱插拔技術,則只要簡單的打開連接開關或 者轉動手柄就可以直接取出硬盤,而系統仍然可以不間斷地正常運行。
目前,熱插拔的應用非常廣泛,例如中國專利申請號為200410022180. x "單板熱 插拔控制方法及具有熱拔插控制模塊的板卡"的文件中提出通過I2C (Inter-Integrated Circuit)總線控制對外部設備互連(PCI,Peripheral Componentlnterconnect)總線的隔 離來實現板卡熱拔插控制,但它存在以下不足 1)該專利申請文件提出的技術方案采用12C兩線式串行總線,12C總線接口控制 板卡熱插拔狀態,這樣板卡必須增設12C接口處理器件,增加了系統開銷和使用的局限性; 另外,熱插拔隔離處理系統必須通過I2C總線與各熱插拔板卡電連接,也限制了系統的組 成結構。 2)在該專利申請文件提出的技術方案中,12C總線外掛板卡數量受到一定的限 制,同時I2C總線通信加重了主處理器的負擔,提高了系統的復雜度,增加了系統的開發難 度并且降低了系統的可靠性。 又如美國專利公開號為US6026458 "system with pluggable adapter card andhot-sw即interface controller"(可插拔適配器卡和熱插拔接口控制器系統)的文 件中,提出P溝道M0S管進行硬件上電緩啟動來判斷和實現板卡熱插拔,即通過對電源上電 緩啟動進行保護,但沒有對單板總線和其他通信接口熱插拔時進行直接保護,而其中最大 的不足是采用單向的保護,對對方的熱插拔的沖擊保護不夠,加重了器件的負擔,降低了系 統的可靠性。
發明內容
有鑒于此,本發明的主要目的在于提供一種板卡的熱插拔方法和裝置,能簡單方 便靈活地熱插拔板卡,并能降低熱插拔對系統的影響。
為達到上述目的,本發明公開了一種板卡的熱插拔裝置,包括前拼子卡、后拼板; 其中,前拼子卡,用于插接于后拼板,進行上電復位并與后拼板進行熱插拔通信握手,以及 初始化操作;后拼板,用于供前拼子卡插接,與前拼子卡進行熱插拔通信握手,并復位前拼 子卡,為前拼子卡加載驅動程序,完成前拼子卡的初始化。 其中,所述前拼子卡還用于實現各種對外接口 ;以及,在上電完成后,向后拼板 發送通信請求,后拼板在收到前拼子卡的通信請求后,與前拼子卡進行熱插拔通信握手。
上述裝置中,所述后拼板還用于檢測是否有前拼子卡插入;和/或,檢測前拼子 卡是否連接于后拼板;和/或,后拼板具體用于讀取前拼子卡的單板信息,并根據讀取得 到的前拼子卡的單板信息,分別為前拼子卡的現場可編程門陣列FPGA及其他功能芯片加 載驅動程序。 其中,所述前拼子卡包括第一邏輯控制模塊,用于邏輯控制各模塊間的信號,進 行熱插拔通信握手,以及控制第一隔離模塊、第一通信接口模塊的開關;上電復位模塊,用 于根據后拼板的復位命令和電源開關命令復位前拼子卡、打開或關閉前拼子卡的電源;第 一隔離模塊,用于實現前拼子卡與后拼板之間接口的物理隔離;第一通信接口模塊,用于提 供前拼子卡的各種總線接口、及與后拼板之間的通信通道;FPGA及其他功能芯片,用于根 據實際需要來實現不同的對外接口。 上述裝置中,所述后拼板包括第二邏輯控制模塊,用于邏輯控制各模塊間的信 號,進行熱插拔通信握手,控制第二隔離模塊、第二通信接口模塊的開關,以及向前拼子卡 發送復位信號、程序加載指示信號和電源開關命令;第二隔離模塊,用于實現與前拼子卡之 間接口的物理隔離;第二通信接口模塊,用于提供各種總線接口 、以及與前拼子卡之間的通 信通道。 其中,所述后拼板還用于后拼板關閉前拼子卡的電源,拔出前拼子卡;或者,后 拼板關閉第二隔離模塊,拔出前拼子卡。 相應地,本發明提供一種板卡的熱插拔方法,包括前拼子卡插接于后拼板,進行 上電復位并與后拼板進行熱插拔通信握手;熱插拔通信握手成功后,后拼板為前拼子卡加 載驅動程序,完成前拼子卡的初始化。 其中,該方法還包括后拼板關閉前拼子卡的電源,拔出前拼子卡;或者,后拼板 關閉第二隔離模塊,拔出前拼子卡。
上述方法中,所述前拼子卡進行上電復位并與后拼板進行熱插拔通信握手包括
前拼子卡進行上電,并使前拼子卡在上電過程中處于復位狀態直到上電完成;上電完成后,
前拼子卡通知后拼板上電完成并向后拼板發送通信請求,后拼板與前拼子卡進行熱插拔通
信握手;在握手成功時,后拼板返回允許通信應答信號給前拼子卡,并打開第二隔離模塊和
第二通信接口模塊,使前拼子卡與后拼板通信正常;后拼板向前拼子卡輸出正常的復位信
號,復位前拼子卡。 其中,所述后拼板為前拼子卡加載驅動程序包括后拼板在前拼子卡上電復位完 成后,延遲一定的時間間隔讀取前拼子卡的單板信息,并根據讀取得到的前拼子卡的單板 信息,分別為前拼子卡的FPGA及其他功能芯片加載驅動程序。 由以上技術方案可以看出,本發明通過增設兩個隔離模塊,實現熱插拔過程中對 上電、復位信號及相關邏輯的控制,因此本發明對系統要求較低,實現容易,成本很低。例如邏輯控制通過原來單板中就用的可編程邏輯器件(PLD, Programmable Logic Device)實現。同時,本發明降低了系統開發的難度并提高了系統的可靠性,且本發明的實現電路簡單、元件少,這是因為本發明根據可靠性模型進行設計從而減少了所使用的元件,降低了系統開銷。 而且,本發明支持單板熱插拔的系統功能板包括前拼子卡和后拼板,前拼子卡通過采用上電控制、復位延時及控制邏輯,并引入熱插拔通信握手信號完成前拼子卡與后拼板通信握手,以實現了熱插拔;并在系統允許后打開后拼板與前拼子卡的通信通道,進行驅動加載,便可完成前拼子卡的初始化使其能夠正常工作。此外,本發明可通過更換前拼子卡來實現支持不同的對外接口,如光纖、網線等。這里,所述對外接口是指對外的用戶接口,也就是前拼子卡插入后拼板后的對外接口,用戶根據不同需要可以接網線或者光纖等。因此,只要更換前拼子卡就可以實現支持不同的接口 ,而且本發明對前拼子卡和后拼板之間的通信接口是沒有要求的,如PCI接口、局部總線(L0CAL_BUS)接口等均可作為前拼子卡和后拼板的通信接口,所以本發明對接口沒有特殊要求,適用范圍廣。可見,本發明能夠方便靈活的實現各種對外接口降低了對支持熱插拔電路接口的要求,能夠根據具體情況對系統進行選擇性設計,實現上靈活、易用,所以更具有普遍性。 另外,本發明利用上電、復位信號控制及相關邏輯控制,在保證熱插拔單板時對正在運行系統沖擊最小的前提下,實現熱插拔電路達到最簡單和最優化,最大程度上減小熱插拔單板對正在運行中的系統的沖擊。因此,本發明能夠實現硬件系統單板上電的情況下,對單板進行熱插拔并保證單板及系統正常工作。 綜上所述,本發明實現了一種對系統要求低、影響小、可靠性高,實現簡單方便靈活的支持板卡熱插拔的方法及裝置。
圖1為本發明板卡的熱插拔裝置的組成結構示意 圖2為本發明板卡的熱插拔方法的實現流程示意圖。
具體實施例方式
本發明的基本思想在于利用物理接口隔離以及上電、復位(reset)信號及相關邏輯控制,在保證熱插拔單板時對正在運行系統沖擊最小的前提下,實現熱插拔電路達到最簡單和最優化。 為使本發明上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和具體實施例對本發明作進一步詳細的說明。 下面先來描述一下本發明板卡熱插拔的裝置實施例,如圖1所示,該裝置的組成結構主要包括前拼子卡11和后拼板12。其中 前拼子卡11,即業務接口板,用于插接于后拼板12,進行上電復位并與后拼板12進行熱插拔通信握手、以及初始化操作; 這里,通過更換前拼子卡11就能夠支持不同的接口,其中,更換前拼子卡11的操
作可在系統運行中進行即該前拼子卡11可熱插拔,這種更換方式非常方便靈活。 后拼板12,即主控功能板,用于供前拼子卡11插接,與前拼子卡11進行熱插拔通
6信握手,并復位前拼子卡11以及為前拼子卡11加載驅動程序,完成前拼子卡11的初始化。 所述后拼板12為系統工作主功能板,具有總線通信、控制、上電、復位、中斷控制、邏輯控制 等功能。 其中,所述前拼子卡11還用于實現各種對外接口,由于前拼子卡11具有不同的子 卡類型,而該子卡類型可按照不同的功能和接口進行劃分,所以通過更換前拼子卡11來實 現支持不同的對外接口 ,如光纖接口 、網線接口等。而且,本實施例對前拼子卡和后拼板之 間的通信接口是沒有要求的,因此,本實施例對接口沒有特殊要求,能方便靈活地實現各種 對外接口 ,適用范圍極廣。這里,所述對外接口是指對外的用戶接口 ,也就是前拼子卡插入 后拼板后的對外接口,用戶根據不同需要可以接網線或者光纖等。 上述裝置中,所述前拼子卡11還用于在上電完成后,向后拼板12發送通信請求, 后拼板12與前拼子卡11進行熱插拔通信握手。其中,所述前拼子卡11包括第一邏輯控 制模塊103、上電復位模塊105、第一隔離模塊107、第一通信接口模塊109、現場可編程門陣 列(FPGA)其他功能芯片110等。其中: 第一邏輯控制模塊103,用于邏輯控制各模塊間的信號,進行熱插拔通信握手,以 及控制第一隔離模塊107、第一通信接口模塊109的開關。例如第一邏輯控制模塊103通 過對各信號的邏輯控制來打開第一隔離模塊107、第一通信接口模塊109。其中,第一邏輯 控制模塊103對各信號的邏輯控制包括 1)發送第一隔離模塊107的開關控制信號(0E1)、中斷信號(INT),第一通信接口 模塊109的開關控制信號(0E3)等。這里,可通過第一邏輯控制模塊103輸出的開關控制 信號0E1來打開/關閉的第一隔離模塊107 ; 需要說明的是,開關控制信號0E1、0E3是控制第一隔離模塊107、第一通信接口模 塊109的開關信號。通常第一隔離模塊107、第一通信接口模塊109是默認打開的,或者也 可在通信握手完成后分別通過0E1、 0E3來打開第一隔離模塊107、第一通信接口模塊109, 如設置0E1、 0E3的低電平狀態為打開信號。 另外,中斷信號是指前拼子卡11的第一邏輯控制模塊103在檢測有異常或出錯 時,向后拼板12輸出的中斷信號,報告有異常或出錯,INT信號相當于告警信號。這樣,后 拼板12在收到INT信號后會啟動相應邏輯進行檢測前拼子卡11的異常或錯誤。
2)發送熱插拔指示、前拼子卡11插入系統指示,并向后拼板12發送通信請求,以 及接收后拼板12返回的允許通信應答;例如前拼子卡11插入指示(MATEJ)K)信號、PLD 熱插拔通信握手(PLD_0K)信號、握手應答(PLD_0K_BK)信號。該第一邏輯控制模塊103功 能可由PLD和一些外接電阻來實現。 上電復位模塊105,用于根據后拼板的復位命令和電源開關命令復位前拼子卡 11、打開或關閉前拼子卡11的電源; 其中,前拼子卡11的電源開關POWEILEN在正常情況下處于使能狀態,即前拼子 卡11的電源是默認打開的,一插入就有電,只有當上電復位模塊105判斷到前拼子卡11損 壞或工作異常、或者前拼子卡11無業務需要而進入節電狀態時,才通過控制命令關閉前拼 子卡11的電源。 第一隔離模塊107,用于實現前拼子卡11與后拼板12之間接口的物理隔離。其 中,該第一隔離模塊107由支持熱插拔器件構成,所述熱插拔器件可由SN74LVTH16245、
7PI3B16244等芯片形成。 第一通信接口模塊109,用于提供前拼子卡11的各種總線接口、以及與后拼板 12之間的通信通道,總線接口主要包括高速串行總線(PCIE, PCI E鄧ress)、局部總線 LOCAL—BUS、以及其他需要的總線如系統時鐘總線等。前拼子卡11的第一隔離模塊107和 第一通信接口模塊109可設置為默認打開,也可通過設置由第一邏輯控制模塊103通過開 關控制信號0E1、0E3來打開第一隔離模塊107和第一通信接口模塊109。
FPGA及其他功能芯片110,用于實現不同的對外接口,主要根據實際需要來實現 一些基本的邏輯門電路或更復雜一些的組合功能。其中,這里的FPGA和其他功能芯片是前 拼子卡11的功能芯片,前拼子卡11就是依靠這些芯片來實現不同的對外接口,如光纖接 口、網線接口等。 上述裝置中,后拼板12還用于檢測是否有前拼子卡ll插入;和/或,檢測前拼子 卡11是否連接于后拼板或是否在位。后拼板12具體用于讀取前拼子卡11的單板信息, 并根據讀取得到的前拼子卡11的單板信息,分別為前拼子卡11的FPGA及其他功能芯片 110加載驅動程序。其中,所述后拼板12包括第二邏輯控制模塊104、第二隔離模塊106、
第二通信接口模塊108;其中 第二邏輯控制模塊104,用于邏輯控制各模塊間的信號,進行熱插拔通信握手,控 制第二隔離模塊106、第二通信接口模塊108的開關,以及向前拼子卡11發送復位信號、程 序加載指示信號和電源開關命令等。其中,第二邏輯控制模塊104還用于控制前拼子卡的 電源開關,可通過發送電源開關命令來打開或關閉前拼子卡的電源。
這里,對各信號的邏輯控制包括 1)發送第二隔離模塊106的開關控制信號(0E2)、中斷信號INT、復位信號、第二通 信接口模塊108的開關控制信號(0E4)等; 需要說明的是,開關控制信號0E2、0E4分別是控制第二隔離模塊106、第二通信接 口模塊108的開關信號。通常在通信握手完成后,分別通過0E2、 0E4來打開第二隔離模塊 106、第二通信接口模塊108。 2)與前拼子卡11進行熱插拔交互,如接收熱插拔指示、前拼子卡11插入系統指 示、發送后拼板12返回允許通信應答等。該第二邏輯控制模塊104功能可由PLD和一些外 接電阻來實現; 3)通過控制前拼子卡11的電源開關P0WER_EN的使能狀態來控制前拼子卡11的 電源,即后拼板12先將P0WEILEN由使能狀態調整為截止狀態,關閉前拼子卡11的電源, 再拔出前拼子卡ll,如此便實現了熱拔前拼子卡11。 第二隔離模塊106,用于實現后拼板12與前拼子卡11之間接口的物理隔離,由支 持熱插拔器件構成。后拼板12打開其第二隔離模塊106,與默認打開的第一隔離模塊107 共同使后拼板12和前拼子卡11之間的信號通道得以開通,實現前拼子卡11與后拼板12之 間的正常通信,包括reset信號、INT信號及其它邏輯信號、LOCAL_BUS轉換及寄存器賦初 值等都能夠在前拼子卡11和后拼板12之間正常進行通信。這里,需要指出的是,后拼板12 除了通過關閉前拼子卡11的電源來實現熱拔前拼子卡之外,通過關閉第二隔離模塊106, 也能夠實現熱拔前拼子卡ll。 第二通信接口模塊108,用于提供后拼板12的各種總線接口,以及與前拼子卡11之間的通信通道。例如PCIE、LOCAL—BUS、系統時鐘等。 以上說明了板卡的熱插拔裝置實施例,下面來描述一下本發明板卡的熱插拔方法 實施例。在本實施例中,系統功能板包括前拼子卡和后拼板,前拼子卡通過采用上電控制、 復位延時及控制邏輯,并引入熱插拔通信握手信號完成前拼子卡與后拼板的熱插拔通信握 手,以實現熱插拔;并通過打開后拼板的第二隔離模塊、第一隔離模塊使后拼板與前拼子卡 的通信通道開通,實現前拼子卡與后拼板間的正常通信,后拼板為前拼子卡加載驅動程序 并完成前拼子卡的初始化,使前拼子卡能夠正常工作。其中,后拼板具有總線通信、控制、上 電、復位、中斷控制、邏輯控制等功能。這里,本實施例進行的熱插拔是通過熱插拔前拼子卡 來實現的。 這里,本實施例的板卡熱插拔的方法實現流程可參照圖2所示,主要包括以下步 驟 步驟201,前拼子卡接入系統; 將前拼子卡插入后拼板,接入正在運行的系統。 步驟202,后拼板的第二邏輯控制模塊判斷是否有前拼子卡插入,如果沒有前拼子 卡插入,則等待一定時間間隔后繼續判斷是否有前拼子卡插入;如果有前拼子卡插入,則執 行步驟203 ; 前拼子卡在插入后拼板后且未上電之前,前拼子卡的下拉電阻會將前拼子卡插入 指示MATEJ)K信號拉低至低電平,表示有前拼子卡插入,因此第二邏輯控制模塊讀取寄存 器得到MATEJ)K信號,進而通過判斷MATEJ)K信號是否為低電平來判斷是否有前拼子卡插 入,例如若逮取到的MATEJ)K信號是邏輯0,則表示有前拼子卡插入。需要指出的是,本實 施例的低電平用邏輯0表示,而高電平用邏輯1表示。 由于在前拼子卡上電完成以前,前拼子卡的第一邏輯控制模塊沒有電,所以沒有 PLDJ)K信號輸出。PLDJ)K在后拼板上被電阻拉低至低電平(用邏輯O表示),因此后拼板 的第二邏輯控制模塊接收的PLD_OK信號為邏輯0,則不會打開第二隔離模塊和第二通信接 口模塊。 另外,需要說明的是,后拼板可定時輪詢如等待一定時間間隔后繼續判斷是否有 前拼子卡插入、或檢測前拼子卡是否連接于后拼板等,或者主動選擇時間來查詢是否有前 拼子卡插入、或檢測前拼子卡是否連接于后拼板等,這可根據實際情況選擇判斷是否有前 拼子卡插入的方式。其中,所述一定時間間隔可結合實際情況根據經驗而定,如采用10ms 為一個時間間隔。 步驟203,前拼子卡進行上電,后拼板則輸出復位信號使前拼子卡處于復位狀態;
這里,后拼板會一直輸出reset信號復位前拼子卡,前拼子卡的上電復位模塊的 reset信號被其下拉電阻拉低至低電平,使前拼子卡上的芯片一直處于復位狀態。這種狀態 可持續到通信握手完成后或者第二隔離模塊打開之后,即在通信通道正常后,后拼板會輸 出一個標準的復位信號給前拼子卡,這就是復位延時的過程。此處,使前拼子卡上的芯片一 直處于復位狀態主要是為了增加可靠性。 另外,前拼子卡輸出的中斷INT信號并不起作用,因為第二隔離模塊沒有打開,后 拼板的INT信號輸入在進入第二邏輯控制模塊之前被電阻拉高至高電平(用邏輯1表示), 而INT信號為邏輯O時才有效,所以此時前拼子卡輸出的中斷信號不起作用。
步驟204,前拼子卡上電完成后,向后拼板發送通信請求,后拼板與前拼子卡進行 熱插拔通信握手并判斷熱插拔通信是否握手成功,如果握手不成功,則隔一定時間繼續判 斷熱插拔通信是否握手成功;如果握手成功,則執行步驟205 ; 后拼板收到通信請求后,得知前拼子卡上電完成,通過第二邏輯控制模塊與前拼 子卡的第一邏輯控制模塊完成熱插拔通信握手。隨著前拼子卡上電,第一邏輯控制模塊輸 出PLDJ)K信號被拉高,前拼子卡上電完成后,PLDJ)K信號被拉至為高電平。因此,后拼板 通過判斷其第二邏輯控制模塊接收到的PLD_OK信號是否為高電平來判斷熱插拔通信是否 握手成功。例如若接收到的PLDJ)K信號為邏輯l,則代表熱插拔通信握手成功。
另外,若熱插拔通信握手不成功,如接收到的PLD_OK信號為邏輯0,則拼板邏輯控 制模塊隔一定時間如10ms重新讀取寄存器來獲取PLD_OK信號,以再次判斷熱插拔通信是 否握手成功。需要說明的是,本實施例在讀取到PLDJ)K信號為邏輯1后,為了增強可靠性, 可再連續讀取2 3次的PLD_OK信號,以保證PLD_OK信號確實處于為高電平狀態。
步驟205,后拼板返回允許通信應答信號給前拼子卡的第一邏輯控制模塊;
熱插拔通信握手成功后,后拼板的第二邏輯控制模塊向第一邏輯控制模塊反饋允 許通信應答信號如握手應答(PLD_OK_BK)信號,表示熱插拔通信握手成功。需要說明的是, PLD_OK_BK信號為備用信號,可根據實際情況進行選擇性反饋,也就是說,后拼板并不是必 須要反饋握手應答信號。 步驟206,后拼板打開第二隔離模塊和第二通信接口模塊,前拼子卡與后拼板通信 正常; 后拼板打開其第二隔離模塊和第二通信接口模塊,使后拼板和前拼子卡之間的通 信通道得以開通,使reset信號、INT信號及其它邏輯信號能夠在前拼子卡和后拼板之間 進行正常通信。其中,第二邏輯控制模塊分別向第二隔離模塊和第二通信接口模塊發送開 關控制信號0E2、0E4,來打開第二隔離模塊和第二通信接口模塊,而前拼子卡的第一隔離模 塊和第一通信接口模塊則是默認打開,這是因為只要有一個隔離模塊關閉即可起到隔離作 用。 需要說明的是,也可通過設置由第一邏輯控制模塊通過開關控制信號0E1、 0E3來 打開第一隔離模塊和第一通信接口模塊。 步驟207,后拼板向前拼子卡輸出標準的復位信號,復位前拼子卡; 后拼板通過第二邏輯控制模塊給前拼子卡的上電復位模塊持續輸出標準的reset
信號如輸出200ms的低電平信號后輸出高電平,將reset信號拉高使reset信號由低電平
后變為高電平,并一直保持高電平狀態。這樣,便給了前拼子卡一個正常的上電復位(power
on reset)使得前拼子卡上的芯片處于高電平狀態,即正常工作狀態。 步驟208,前拼子卡上電復位后,啟動第一邏輯控制模塊相應邏輯; 所述第一邏輯控制模塊的相應邏輯包括局部總線L0CAL_BUS轉換、寄存器賦初
值等。其中,PLD邏輯芯片上電完成后,第一邏輯控制模塊寄存器賦初始值,該初始值也可
為寄存器的默認值。 步驟209,在前拼子卡上電復位完成后,后拼板延遲一定的時間間隔讀取前拼子卡 的單板信息; 為了穩定和安全,后拼板在上電復位完成后再延遲一定時間間隔如10ms后,允許后拼板底層的驅動程序讀取寄存器,獲取前拼子卡的單板信息如子卡類型。其中,所述子卡 類型是指根據前拼子卡功能和接口的不同而分為不同的子卡類型,后拼板通過讀取寄存 器值得知前拼子卡類型的號碼。 步驟210,后拼板根據讀取到的前拼子卡板的單板類型,啟動第二通信接口模塊為 前拼子卡的FPGA等其他功能芯片加載相應的驅動程序; 后拼板根據前拼子卡不同的類型加載相應程序,如啟動前拼子卡FPGA等其他功 能芯片的程序加載;然后,后拼板給前拼子卡加載相應的程序代碼。 需要指出的是,后拼板會根據邏輯控制依次加載芯片的驅動程序,以完成前拼子 卡初始化。此處,FPGA及其他功能芯片能夠實現前拼子卡不同的對外接口,本步驟先對 FPGA的程序進行加載。本實施例通過更換前拼子卡來實現支持不同的對外接口,如光纖接 口、網線接口等。其中,所述對外接口是指對外的用戶接口,也就是前拼子卡插入后拼板后 作為整體為用戶提供的對外接口,用戶根據不同需要可以接網線或者光纖等。而且本實施 例對前拼子卡和后拼板之間的通信接口是沒有要求的,如PCI接口 、局部總線LOCAL_BUS接 口等均可作為前拼子卡和后拼板的通信接口。 步驟211,后拼板判斷驅動程序是否加載成功,如果未加載成功,則返回步驟210 ; 如果加載成功,則執行步驟212 ; 其中,后拼板的第二邏輯控制模塊通過檢測是否收到program—ok信號,來判斷 FPGA的驅動程序是否加載成功。如果收到加載成功pr0gram_0k信號,則FPGA的驅動程序 加載成功。 步驟212,后拼板為其他芯片加載驅動程序,完成前拼子卡的初始化,使前拼子卡 正常工作; 這里,對前拼子卡進行驅動程序加載是指先對FPGA的程序進行加載,然后加載
其他芯片需要加載的驅動程序,完成所有芯片的驅動程序加載,這樣芯片即可按照相應的
程序正常工作了。本實施例中,前拼子卡的FPGA加載完成和其他功能芯片初始化的完成可
作為前拼子卡的熱插入操作的完成標志。 步驟213,結束本次熱插前拼子卡的操作流程。 至此,以上描述了熱插前拼子卡的實現過程,而對于熱拔的操作流程則相對簡單, 主要包括以下兩種方式 1、后拼板通過控制前拼子卡的電源開關P0WER_EN的使能狀態來控制前拼子卡的 電源,即后拼板先將P0WER_EN由使能狀態調整為截止狀態,關閉前拼子卡的電源,再拔出 前拼子卡,如此便實現了熱拔前拼子卡; n、后拼板關閉第二隔離模塊,然后拔出前拼子卡,這也能夠實現熱拔前拼子卡。 可見,本發明能夠方便靈活的實現各種對外接口降低了對支持熱插拔電路接口的 要求,能夠根據具體情況對系統進行選擇性設計,實現上靈活、易用,所以更具有普遍性。
對于上述的各實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本 領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步 驟可以采用其他順序或者同時進行。 在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部 分,可以參見其他實施例的相關描述即可。以上所述,僅為本發明的較佳實施例而已,只是
11用來說明和解釋本發明,并非用于限定本發明的保護范圍。在本發明的精神和權利要求保 護范圍之內,對本發明所作的任何修改、等同替換,都落入本發明的保護范圍。
權利要求
一種板卡的熱插拔裝置,其特征在于,包括前拼子卡、后拼板;其中,前拼子卡,用于插接于后拼板,進行上電復位并與后拼板進行熱插拔通信握手,以及初始化操作;后拼板,用于供前拼子卡插接,與前拼子卡進行熱插拔通信握手,并復位前拼子卡,為前拼子卡加載驅動程序,完成前拼子卡的初始化。
2. 根據權利要求1所述的板卡的熱插拔裝置,其特征在于,所述前拼子卡還用于 實現各種對外接口 ;以及,在上電完成后,向后拼板發送通信請求,后拼板在收到前拼子卡的通信請求后,與前拼 子卡進行熱插拔通信握手。
3. 根據權利要求1所述的板卡的熱插拔裝置,其特征在于,所述后拼板還用于 檢測是否有前拼子卡插入;和/或, 檢測前拼子卡是否連接于后拼板;和/ 或,后拼板具體用于讀取前拼子卡的單板信息,并根據讀取得到的前拼子卡的單板信息, 分別為前拼子卡的現場可編程門陣列FPGA及其他功能芯片加載驅動程序。
4. 根據權利要求1、或2、或3所述的板卡的熱插拔裝置,其特征在于,所述前拼子卡包括第一邏輯控制模塊,用于邏輯控制各模塊間的信號,進行熱插拔通信握手,以及控制第 一隔離模塊、第一通信接口模塊的開關;上電復位模塊,用于根據后拼板的復位命令和電源開關命令復位前拼子卡、打開或關 閉前拼子卡的電源;第一隔離模塊,用于實現前拼子卡與后拼板之間接口的物理隔離;第一通信接口模塊,用于提供前拼子卡的各種總線接口、及與后拼板之間的通信通道;FPGA及其他功能芯片,用于根據實際需要來實現不同的對外接口。
5. 根據權利要求1、或2、或3所述的板卡的熱插拔裝置,其特征在于,所述后拼板包括第二邏輯控制模塊,用于邏輯控制各模塊間的信號,進行熱插拔通信握手,控制第二隔 離模塊、第二通信接口模塊的開關,以及向前拼子卡發送復位信號、程序加載指示信號和電 源開關命令;第二隔離模塊,用于實現與前拼子卡之間接口的物理隔離; 第二通信接口模塊,用于提供各種總線接口、以及與前拼子卡之間的通信通道。
6. 根據權利要求5所述的板卡的熱插拔裝置,其特征在于,所述后拼板還用于 后拼板關閉前拼子卡的電源,拔出前拼子卡;或者, 后拼板關閉第二隔離模塊,拔出前拼子卡。
7. —種板卡的熱插拔方法,其特征在于,包括前拼子卡插接于后拼板,進行上電復位并與后拼板進行熱插拔通信握手; 熱插拔通信握手成功后,后拼板為前拼子卡加載驅動程序,完成前拼子卡的初始化。
8. 根據權利要求7所述的板卡的熱插拔方法,其特征在于,該方法還包括 后拼板關閉前拼子卡的電源,拔出前拼子卡;或者,后拼板關閉第二隔離模塊,拔出前拼子卡。
9. 根據權利要求7所述的板卡的熱插拔方法,其特征在于,所述前拼子卡進行上電復位并與后拼板進行熱插拔通信握手包括前拼子卡進行上電,并使前拼子卡在上電過程中處于復位狀態直到上電完成;上電完 成后,前拼子卡通知后拼板上電完成并向后拼板發送通信請求,后拼板與前拼子卡進行熱 插拔通信握手;在握手成功時,后拼板返回允許通信應答信號給前拼子卡,并打開第二隔離模塊和第 二通信接口模塊,使前拼子卡與后拼板通信正常;后拼板向前拼子卡輸出正常的復位信號,復位前拼子卡。
10. 根據權利要求7、或8、或9所述的板卡的熱插拔方法,其特征在于,所述后拼板為前 拼子卡加載驅動程序包括后拼板在前拼子卡上電復位完成后,延遲一定的時間間隔讀取前拼子卡的單板信息, 并根據讀取得到的前拼子卡的單板信息,分別為前拼子卡的FPGA及其他功能芯片加載驅 動程序。
全文摘要
本發明公開了一種板卡的熱插拔裝置,包括前拼子卡、后拼板;其中,前拼子卡,用于插接于后拼板,進行上電復位并與后拼板進行熱插拔通信握手,以及初始化操作;后拼板,用于供前拼子卡插接,與前拼子卡進行熱插拔通信握手,并復位前拼子卡,為前拼子卡加載驅動程序,完成前拼子卡的初始化。相應地,本發明提供一種板卡的熱插拔方法,包括前拼子卡插接于后拼板,進行上電復位并與后拼板進行熱插拔通信握手;熱插拔通信握手成功后,后拼板為前拼子卡加載驅動程序,完成前拼子卡的初始化。因此,本發明能夠簡單方便靈活地熱插拔板卡,并能降低熱插拔對系統的影響。
文檔編號G06F13/40GK101727430SQ200910221629
公開日2010年6月9日 申請日期2009年11月11日 優先權日2009年11月11日
發明者劉發舉 申請人:中興通訊股份有限公司