專利名稱:一種雙主機端口usb集線器及其工作方法
技術領域:
本發明涉及一種USB集線器,尤其涉及一種雙主機端口 USB集線器及其工作方法。
背景技術:
通常使用的USB集線器只具有一個主機端口(或者稱上位端口),是屬于一進多出(一個上位端口和多個下位端口)的設備,因此,該種結構的USB集線器只適用于利用一臺主機控制多臺外設的情況。但在對安全級別要求較高的應用場合,需要采用冗余設計來解決,即通常采用一臺工作主機控制多臺外設,同時有一臺備份主機,當工作主機出現故障時,備份主機可以隨時無縫取代工作主機,同時保證外設的工作狀態不受影響,這樣就提高了整個系統的可靠性;對于這種應用場合,若采用一個主機端口的USB集線器進行組網,極大的增加了設計難度和設計成本。
發明內容
本發明的一個目的在于提供一種可使兩臺主機分時控制多臺外設的雙主機端口 USB集線器。本發明采用的技術方案為一種雙主機端口 USB集線器,包括第一、第二和第三 USB集線器,以及控制器和路由器,所述第一和第二 USB集線器的主機端口分別作為所述雙主機端口 USB集線器的第一和第二主機端口,第三USB集線器的外設端口作為所述雙主機端口 USB集線器的外設端口 ;所述控制器的第一和第二 USB端口分別與第一和第二 USB集線器的一個外設端口連接,使第一和第二主機端口通過控制器的數據傳輸通道進行數據通訊;所述路由器的控制端口與控制器的用于輸出切換控制指令的串口連接,使第一和第二主機端口通過控制器的控制通道對路由器進行主動或被動的切換控制;所述路由器通過其三個連接端口分別與所述第一 USB集線器的另一個外設端口、第二 USB集線器的另一個外設端口和第三USB集線器的主機端口通訊連接,以使路由器在切換控制指令的控制下完成建立第一 USB集線器至第三USB集線器的通訊鏈路與建立第二 USB集線器至第三USB 集線器的通訊鏈路間的切換。本發明的另一個目的是提供一種上述雙主機端口 USB集線器的工作方法。本發明采用的技術方案為上述雙主機端口 USB集線器的工作方法為所述控制器在雙主機端口 USB集線器啟動后默認控制所述路由器連接第一和第三USB集線器,第一和第二主機端口通過控制器的數據傳輸通道進行互相偵聽;當第二主機端口對第一主機端口的偵聽失敗時,由第二主機端口通過控制器的控制通道主動請求路由器斷開第三USB集線器與第一 USB集線器之間的連接,并請求建立第三USB集線器與第二 USB集線器之間的連接;路由器隨后根據請求將第三USB集線器切換連接至第二 USB集線器并建立通訊鏈路;在控制器控制路由器進行切換的過程中,如果第二主機端口通過控制器的數據傳輸通道獲得了第一主機端口對雙主機端口 USB集線器的外設端口發送的所有指令數據,則第二主機端口通過接收到的指令數據判斷雙主機端口 USB集線器的外設端口的狀態,如果未獲得第一主機端口對雙主機端口 USB集線器的外設端口發送的所有或部分指令數據,則第二主機端口通過新建立的第三USB集線器至第二 USB集線器間的通訊鏈路重新獲取雙主機端口 USB集線器的外設端口的狀態。其中,當第一主機端口的故障排除,并再次接入第一 USB集線器后,第一主機端口即變為備份端口,通過控制器的數據傳輸通道對第二主機端口進行偵聽,并隨時準備在第二主機端口出現故障時再次接收控制權。其中,當第一主機端口進行數據備份或其他影響控制的操作時,第一主機端口通過控制器的控制通道主動請求路由器斷開第三USB集線器與第一 USB集線器的連接,并建立第三USB集線器與第二 USB集線器的連接。本發明的有益效果為本發明的雙主機端口 USB集線器可用于實現兩臺主機分時控制多臺外設的連接,即當本裝置第一主機端口所連接第一主機故障時,第二主機可通過本裝置的第二主機端口對外設端口(或者稱下位端口)連接的所有外設進行控制,并保證所有外設仍按與第一主機端口連接時所建立的狀態繼續執行,而不會出現通信中斷或外設失控的現象。
圖I為根據本發明雙主機端口 USB集線器的一種實施方式的結構示意圖。
具體實施例方式如圖I所示,本發明的雙主機端口 USB集線器包括第一、第二和第三USB集線器I,
2和3,以及控制器5和路由器4,其中,第一和第二USB集線器1,2的主機端口分別作為雙主機端口 USB集線器的第一和第二主機端口,用于連接第一主機Ml和第二主機M2,第三USB 集線器3的外設端口作為雙主機端口 USB集線器的外設端口,用于連接多個外部設備(簡稱外設)。控制器5的第一和第二 USB端口分別與第一和第二 USB集線器的一個外設端口連接,這樣,第一和第二主機端口(具體為連接于第一和第二主機端口上的第一和第二主機)就可通過控制器5的數據傳輸通道進行數據通訊,具體過程是第一主機Ml將下發給第三USB集線器3的指令通過控制器5的數據傳輸通道同步發送給第二主機M2,進行狀態同步,并通過數據傳輸通道進行互相連接(進行Ping的動作),來檢測是否出現故障(如果無法連接,則出現故障)。路由器4的控制端口(通過該端口可對路由器4進行配置)與控制器5用于輸出切換控制指令的串口連接,這樣,第一和第二主機端口(具體為連接于第一和第二主機端口上的第一和第二主機)即可通過控制器5的控制通道對路由器4進行主動或被動的切換控制;又由于路由器4通過其三個連接端口分別與第一 USB集線器I的另一個外設端口、第二 USB集線器2的另一個外設端口和第三USB集線器3的主機端口通訊連接,因此,路由器4可在切換控制指令的控制下完成建立第一 USB集線器I至第三USB集線器3的通訊鏈路與建立第二 USB集線器2至第三USB集線器3的通訊鏈路間的切換。利用本發明的雙主機端口 USB集線器,兩臺主機可分時控制多臺外設,通常情況下,由連接于第一主機端口的第一主機Ml控制連接于外設端口的所有外設,當第一主機Ml與外設無法正常通訊時(包括第一主機與外設之間的通訊出現故障,第一主機Ml與控制器 5之間的通訊出現故障等情況),再由第二主機M2進行控制。當兩臺主機工作狀態都正常時,用于控制外設的指令或數據可經由控制器5實現共享或同步,以保證當第一主機出現故障時,第二主機可在不改變外設狀態的前提下繼續執行后續控制指令,而不會出現通信中斷或外設失控的現象。本發明的雙主機端口 USB集線器的工作方法為控制器5設定的默認連接狀態是將所有外設均連接至第一主機端口(第一主機 Ml),即在本發明的雙主機端口 USB集線器啟動后,控制器5控制路由器4連接第一和第三 USB集線器,第一主機Ml和第二主機M2通過控制器5的數據傳輸通道進行互相偵聽。當控制器5檢測到第一主機Ml與外設之間無法正常通訊時,即第二主機M2對第一主機Ml的偵聽失敗時,由第二主機M2通過控制器5的控制通道主動請求路由器4斷開第三USB集線器
3與第一 USB集線器I之間的連接,并請求建立第三USB集線器3與第二 USB集線器2之間的連接(此時,第一主機Ml是被動斷開),因此,控制器5就控制路由器4將第三USB集線器3切換至第二 USB集線器2并建立通訊鏈路,即建立第二主機M2與所有外設進行通訊的通訊鏈路。當第一主機Ml故障排除,并再次接入第一 USB集線器I后,第一主機Ml即變為備份主機,對第二主機M2進行偵聽,并隨時準備在第二主機M2出現故障時(即第一主機Ml 對第二主機M2的偵聽失敗時),再次接收控制權。另外,當第一主機Ml需要進行數據備份或其他影響控制的操作時,第一主機Ml可通過控制器5的控制通道主動請求路由器4斷開第三USB集線器3與第一 USB集線器I的連接,并建立第三USB集線器3與第二 USB集線器2的連接(此時,第一主機Ml是主動斷開)。在控制器5控制路由器4進行切換的過程中,如果第二主機M2獲得了第一主機Ml 對外設發送的所有指令數據,則第二主機M2通過接收第一主機的指令數據判斷外設狀態, 另外,第二主機M2也可重新獲取外設狀態。這樣,在切換后控制器5立即就可將第三USB 集線器3連接的所有外設均安全地連接至第二主機M2,而不會導致控制中斷,也不會導致外設狀態的改變。另外,分別連接于第一和第二主機端口的第一和第二主機可對控制器5進行控制,也可以定時向控制器5發送指令實現通訊鏈路的檢測。以上所述僅為本發明較佳的實施方式,并非用來限定本發明的實施范圍,但凡在本發明的保護范圍內所做的等效變化及修飾,皆應認為落入了本發明的保護范圍內。
權利要求
1.一種雙主機端口 USB集線器,其特征在于包括第一、第二和第三USB集線器,以及控制器和路由器,所述第一和第二 USB集線器的主機端口分別作為所述雙主機端口 USB集線器的第一和第二主機端口,第三USB集線器的外設端口作為所述雙主機端口 USB集線器的外設端口;所述控制器的第一和第二 USB端口分別與第一和第二 USB集線器的一個外設端口連接,使第一和第二主機端口通過控制器的數據傳輸通道進行數據通訊;所述路由器的控制端口與控制器的用于輸出切換控制指令的串口連接,使第一和第二主機端口通過控制器的控制通道對路由器進行主動或被動的切換控制;所述路由器通過其三個連接端口分別與所述第一 USB集線器的另一個外設端口、第二 USB集線器的另一個外設端口和第三USB集線器的主機端口通訊連接,以使路由器在切換控制指令的控制下完成建立第一 USB集線器至第三USB集線器的通訊鏈路與建立第二 USB集線器至第三USB集線器的通訊鏈路間的切換。
2.根據權利要求I所述的雙主機端口USB集線器的工作方法,其特征在于所述控制器在雙主機端口 USB集線器啟動后默認控制所述路由器連接第一和第三USB 集線器,第一和第二主機端口通過控制器的數據傳輸通道進行互相偵聽;當第二主機端口對第一主機端口的偵聽失敗時,由第二主機端口通過控制器的控制通道主動請求路由器斷開第三USB集線器與第一 USB集線器之間的連接,并請求建立第三USB 集線器與第二 USB集線器之間的連接;路由器隨后根據請求將第三USB集線器切換連接至第二 USB集線器并建立通訊鏈路;在控制器控制路由器進行切換的過程中,如果第二主機端口通過控制器的數據傳輸通道獲得了第一主機端口對雙主機端口 USB集線器的外設端口發送的所有指令數據,則第二主機端口通過接收到的指令數據判斷雙主機端口 USB集線器的外設端口的狀態,如果未獲得第一主機端口對雙主機端口 USB集線器的外設端口發送的所有或部分指令數據,則第二主機端口通過新建立的第三USB集線器至第二 USB集線器間的通訊鏈路重新獲取雙主機端口 USB集線器的外設端口的狀態。
3.根據權利要求2所述的雙主機端口USB集線器的工作方法,其特征在于當第一主機端口的故障排除,并再次接入第一 USB集線器后,第一主機端口即變為備份端口,通過控制器的數據傳輸通道對第二主機端口進行偵聽,并隨時準備在第二主機端口出現故障時再次接收控制權。
4.根據權利要求2所述的雙主機端口USB集線器的工作方法,其特征在于當第一主機端口進行數據備份或其他影響控制的操作時,第一主機端口通過控制器的控制通道主動請求路由器斷開第三USB集線器與第一 USB集線器的連接,并建立第三USB集線器與第二 USB集線器的連接。
全文摘要
本發明公開了一種雙主機端口USB集線器及其工作方法,其包括第一、二和三USB集線器,控制器和路由器。第一和第二USB集線器的主機端口分別作為整個裝置的第一和第二主機端口;第三USB集線器的外設端口作為整個裝置的外設端口;第一和第二主機端口通過控制器的數據傳輸通道進行數據通訊,并通過控制器的控制通道對路由器進行主動或被動的切換控制;路由器可在切換控制指令的控制下完成建立第一USB集線器至第三USB集線器的通訊鏈路與建立第二USB集線器至第三USB集線器的通訊鏈路間的切換。本發明的雙主機端口USB集線器可用于實現兩臺主機自由切換對外設的控制權,而外設的工作狀態不被改變,得以繼續執行切換前的控制指令。
文檔編號H04L12/56GK102594605SQ20121005522
公開日2012年7月18日 申請日期2012年3月5日 優先權日2012年3月5日
發明者施朝陽, 鄧恒波, 陳云明 申請人:常州市產品質量監督檢驗所, 深圳市邁昂科技有限公司