專利名稱:用于控制臺(tái)和外圍設(shè)備的信號(hào)切換器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于控制臺(tái)和外圍設(shè)備的信號(hào)切換器,更具體來(lái)說(shuō),涉及一種用于在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一視頻監(jiān)視器、多個(gè)控制臺(tái)設(shè)備、以及一個(gè)或更多個(gè)外圍設(shè)備的信號(hào)切換器。
背景技術(shù):
單用戶或多用戶鍵盤(pán)-視頻-鼠標(biāo)(“KVM”)切換器系統(tǒng)是這樣一種信號(hào)切換器,它使單個(gè)用戶或多個(gè)用戶可以僅共享單個(gè)鍵盤(pán)、視頻設(shè)備和鼠標(biāo),或者共享多組鍵盤(pán)、視頻設(shè)備和鼠標(biāo)。
當(dāng)前的KVM切換器存在這樣的問(wèn)題如果諸如打印機(jī)的USB外圍設(shè)備連接到該切換器,則在改變?cè)撉袚Q器時(shí),會(huì)中斷到該外圍設(shè)備的數(shù)據(jù)流。
通用串行總線(USB)是使個(gè)人計(jì)算機(jī)(PC)能夠利用簡(jiǎn)單的電纜與各種設(shè)備進(jìn)行互連的通信體系結(jié)構(gòu)。USB實(shí)際上是以1.5或12兆位每秒(Mbps)的速度工作的雙線(two-wire)串行通信線路。在啟動(dòng)時(shí),或者當(dāng)在工作過(guò)程中插入設(shè)備時(shí),USB協(xié)議可以配置這些設(shè)備。這些設(shè)備被分為各種設(shè)備類。每個(gè)設(shè)備類對(duì)具有類似功能的設(shè)備定義了公共的行為和協(xié)議。
在下面的萬(wàn)維網(wǎng)站點(diǎn)http//www.usb.org上有關(guān)于USB標(biāo)準(zhǔn)的最新信息。在該資料源上有通用串行總線(USB)規(guī)范、USB HID使用補(bǔ)充,以及對(duì)于人機(jī)接口設(shè)備(HID)的設(shè)備類定義。
HID類主要包括由人使用來(lái)控制計(jì)算機(jī)系統(tǒng)的操作的設(shè)備。HID類設(shè)備的典型例子包括鍵盤(pán)和定位設(shè)備——例如,標(biāo)準(zhǔn)鼠標(biāo)設(shè)備、跟蹤球以及操縱桿;前面板控件——例如,旋鈕、開(kāi)關(guān)、按鈕以及滑塊;可以在諸如電話機(jī)、VCR遙控器、游戲設(shè)備或模擬設(shè)備的設(shè)備上發(fā)現(xiàn)的控件——例如,數(shù)據(jù)手套、油門(mén)(throttle)、方向盤(pán)以及方向踏板(rudderpedal);以及,可能不需要人工干預(yù)而將采用相似格式的數(shù)據(jù)提供給HID類設(shè)備的設(shè)備——例如,條形碼閱讀器、溫度計(jì)或電壓表。
需要一種KVM切換器,該KVM切換器還是一外圍設(shè)備共享切換器,它可以使與該切換器相連的所有計(jì)算機(jī)共享任何USB外圍設(shè)備,而在改變?cè)撉袚Q器時(shí)不中斷到該外圍設(shè)備的數(shù)據(jù)流,并且它可以以異步方式或者以同步方式將KVM通道和外圍設(shè)備通道切換到一公共計(jì)算機(jī)或不同計(jì)算機(jī)。
發(fā)明內(nèi)容
本發(fā)明通過(guò)提供一種也是外圍設(shè)備共享切換器的KVM切換器來(lái)滿足這種需要,該外圍設(shè)備共享切換器使與該切換器相連的所有計(jì)算機(jī)可以共享任何USB外圍設(shè)備,并且它可以將KVM通道和外圍設(shè)備通道以同步方式或者以異步方式切換到一公共計(jì)算機(jī)或多個(gè)不同的計(jì)算機(jī),而在改變?cè)撉袚Q器時(shí)不中斷到該外圍設(shè)備的數(shù)據(jù)流。可以利用KVM通道來(lái)以同步方式或者以異步方式切換USB外圍設(shè)備。
本發(fā)明的USB KVMP使多個(gè)USB鍵盤(pán)和多個(gè)USB鼠標(biāo)可以同時(shí)與一公共計(jì)算機(jī)通信。該USB KVMP向用戶提供了多個(gè)USB外圍設(shè)備通道,這些通道可以與諸如USB集線器、USB打印機(jī)、USB掃描儀、USB照相機(jī)等的所有種類的USB外圍設(shè)備相連。
公開(kāi)了一種信號(hào)切換器,用于在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一視頻監(jiān)視器、多個(gè)控制臺(tái)設(shè)備以及一個(gè)或更多個(gè)外圍設(shè)備,該信號(hào)切換器包括CPU,包括用于存儲(chǔ)一管理程序的第一存儲(chǔ)器,該管理程序用于管理所述信號(hào)切換器;集線器切換器模塊,連接到所述CPU,并被配置得與所述多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)以及所述一個(gè)或更多個(gè)外圍設(shè)備進(jìn)行通信,使得從該集線器切換器模塊傳送到所述一個(gè)或更多個(gè)外圍設(shè)備的信號(hào)模擬為從一計(jì)算機(jī)的始發(fā)(origination);設(shè)備控制模塊,用于模擬所述視頻監(jiān)視器和所述多個(gè)控制臺(tái)設(shè)備,與所述CPU和所述集線器切換器模塊相連;主機(jī)控制模塊,連接到所述CPU,并被配置得與所述多個(gè)控制臺(tái)設(shè)備進(jìn)行通信;以及,視頻控制模塊,連接到所述CPU,并被配置得與一視頻監(jiān)視器設(shè)備進(jìn)行通信。
在又一實(shí)施例中,所述信號(hào)切換器進(jìn)一步包括一與所述CPU和所述視頻控制模塊相連的OSD控制設(shè)備。
在一優(yōu)選實(shí)施例中,所述主機(jī)控制模塊包括一根集線器,所述多個(gè)控制臺(tái)設(shè)備以及一個(gè)或更多個(gè)外圍設(shè)備是USB兼容的,并且所述多個(gè)控制臺(tái)設(shè)備遵從一工業(yè)標(biāo)準(zhǔn)規(guī)范。
公開(kāi)了一種共享方法,用于通過(guò)一信號(hào)切換器來(lái)在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一視頻監(jiān)視器、遵從一工業(yè)標(biāo)準(zhǔn)的多個(gè)控制臺(tái)設(shè)備、以及一個(gè)或更多個(gè)外圍設(shè)備,該共享方法包括以下步驟初始化所述信號(hào)切換器;根據(jù)所述工業(yè)標(biāo)準(zhǔn)模擬所述多個(gè)控制臺(tái)設(shè)備中的一個(gè)或更多個(gè);枚舉(enumerate)一根集線器的多個(gè)端口;確定是否存在任何下游端口,并且如果存在,則枚舉該下游端口;確定所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)是否連接到所述根集線器或任何下游端口,并且如果所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)連接到所述根集線器或任何下游端口,則枚舉每個(gè)已連接設(shè)備;確定多個(gè)已連接設(shè)備中的任何一個(gè)是否遵從所述工業(yè)標(biāo)準(zhǔn);枚舉每個(gè)兼容的已連接設(shè)備,并分析來(lái)自該設(shè)備的任何數(shù)據(jù);以及重復(fù)輪詢以確定是否已插入或拔出所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)、所述一個(gè)或更多個(gè)外圍設(shè)備中的任何一個(gè)、或任何下游端口,并且如果確定已插入或拔出所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)、所述一個(gè)或更多個(gè)外圍設(shè)備中的任何一個(gè)、或任何下游端口,則重置控制。
在一個(gè)優(yōu)選實(shí)施例中,所述管理程序包括用于管理所述信號(hào)切換器的步驟以及所述的方法。
描述了一種信號(hào)切換器,用于在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一個(gè)或更多個(gè)控制臺(tái)設(shè)備、以及一個(gè)或更多個(gè)外圍設(shè)備,該信號(hào)切換器包括第一通道,用于將所述一個(gè)或更多個(gè)控制臺(tái)設(shè)備中的一選定控制臺(tái)設(shè)備連接到所述多個(gè)計(jì)算機(jī)系統(tǒng)中的一第一選定計(jì)算機(jī)系統(tǒng);第二通道,用于將所述第一選定計(jì)算機(jī)系統(tǒng)連接到所述一個(gè)或更多個(gè)外圍設(shè)備中的一選定外圍設(shè)備,該第二通道具有所述第一選定計(jì)算機(jī)系統(tǒng)與所述選定外圍設(shè)備之間的數(shù)據(jù)流;第三通道,用于將所述選定控制臺(tái)設(shè)備連接到所述多個(gè)計(jì)算機(jī)系統(tǒng)中的一第二選定計(jì)算機(jī)系統(tǒng);以及切換裝置,用于在不中斷通過(guò)所述第一選定計(jì)算機(jī)系統(tǒng)與所述選定外圍設(shè)備之間的第二通道的數(shù)據(jù)流的情況下,在所述第一通道與所述第三通道之間切換所述選定控制臺(tái)設(shè)備。
參照下面的說(shuō)明、所附權(quán)利要求以及附圖,可以更好地理解本發(fā)明的這些以及其他特征、方面以及優(yōu)點(diǎn),其中圖1是使用圖4的信號(hào)切換器的一種可能用法的系統(tǒng)圖。
圖2是使用圖4的信號(hào)切換器的另一種可能用法的系統(tǒng)圖。
圖3是使用圖4的信號(hào)切換器的另一種可能用法的系統(tǒng)圖。
圖4是本發(fā)明的信號(hào)切換器的方框圖。
圖5是可用作用于圖4的信號(hào)切換器的管理控制程序的處理過(guò)程的功能框圖。
具體實(shí)施例方式
本發(fā)明涉及一種用于共享一個(gè)或更多個(gè)視頻監(jiān)視器、鍵盤(pán)、鼠標(biāo)和外圍設(shè)備的信號(hào)切換器。本發(fā)明的信號(hào)切換器是KVM(鍵盤(pán)視頻鼠標(biāo))切換器和外圍設(shè)備共享切換器的組合。參照本公開(kāi),KVM切換器在本技術(shù)領(lǐng)域內(nèi)是公知的。根據(jù)本發(fā)明的信號(hào)切換器使與該切換器相連的所有計(jì)算機(jī)可以共享與該切換器相連的所有USB外圍設(shè)備。
信號(hào)切換器可以以異步方式或者以同步方式將多個(gè)KVM通道和多個(gè)外圍通道切換到公共計(jì)算機(jī)或不同計(jì)算機(jī)。換句話說(shuō),可以一起(以同步方式)或者單獨(dú)地(以異步方式)切換所述多個(gè)KVM通道和多個(gè)外圍通道。
本發(fā)明利用USB模擬程序來(lái)模擬HID(人機(jī)接口設(shè)備)規(guī)范,從而使一切換器與PC的USB端口通信,并且通過(guò)USB主機(jī)模擬程序,使切換器與諸如USB鍵盤(pán)和USB鼠標(biāo)的USB設(shè)備以及USB集線器通信。換句話說(shuō),利用模擬可以使切換器表現(xiàn)為與外圍設(shè)備相連的計(jì)算機(jī),并且與此同時(shí)可以使該切換器與USB設(shè)備或USB PC通信。
盡管參照當(dāng)前的HID規(guī)范對(duì)實(shí)施例進(jìn)行了描述,但是,對(duì)于本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員來(lái)說(shuō),顯然參照本公開(kāi)可以利用任何用于設(shè)備交互的規(guī)范來(lái)實(shí)現(xiàn)本發(fā)明。
圖1示出其中可以利用本發(fā)明的多種方式之一。在簡(jiǎn)單的配置中,根據(jù)本發(fā)明的信號(hào)切換器10允許用戶利用監(jiān)視器14、第一鍵盤(pán)16以及第一鼠標(biāo)18來(lái)控制多個(gè)計(jì)算機(jī)系統(tǒng)12(由第一計(jì)算機(jī)121和第二計(jì)算機(jī)122表示)以及USB兼容外圍設(shè)備20(如第一打印機(jī)22所示)。在該示例中,即使在監(jiān)視器14、第一鍵盤(pán)16和第一鼠標(biāo)18正在控制計(jì)算機(jī)122時(shí),仍可以由計(jì)算機(jī)121保持對(duì)外圍第一打印機(jī)22的控制。這是因?yàn)?,切換器10可以在把監(jiān)視器14、第一鍵盤(pán)16和第一鼠標(biāo)18連接到第一計(jì)算機(jī)121的第一通道(未示出)與把監(jiān)視器14、第一鍵盤(pán)16和第一鼠標(biāo)18連接到第二計(jì)算機(jī)122的第三通道(未示出)之間進(jìn)行切換,同時(shí)保持把第一計(jì)算機(jī)121連接到第一打印機(jī)22的第二通道(未示出),從而不中斷第一計(jì)算機(jī)121與第一打印機(jī)22之間的第一數(shù)據(jù)流。
參照?qǐng)D2,示出了一種更魯棒的用法,使得用戶可以利用監(jiān)視器14、第一鍵盤(pán)16以及第一鼠標(biāo)18來(lái)控制更多的計(jì)算機(jī)系統(tǒng)12(由第一計(jì)算機(jī)121、第二計(jì)算機(jī)122、第三計(jì)算機(jī)123和第四計(jì)算機(jī)124表示)以及多個(gè)USB兼容外圍設(shè)備20。請(qǐng)注意,根據(jù)本發(fā)明,可以把一個(gè)或更多個(gè)USB集線器24也連接到信號(hào)切換器10,所述一個(gè)或更多個(gè)USB集線器24又可以連接到諸如掃描儀241的一個(gè)或更多個(gè)其他外圍設(shè)備、或者一個(gè)或更多個(gè)下游集線器242,該一個(gè)或更多個(gè)下游集線器242又可以連接到諸如第二打印機(jī)2421的一個(gè)或更多個(gè)外圍設(shè)備。因此,可以看出,可以把任何所需的集線器/外圍設(shè)備樹(shù)連接到信號(hào)切換器10,從而可以在一組監(jiān)視器14、第一鍵盤(pán)16和第一鼠標(biāo)18的管理下,由一個(gè)或更多個(gè)計(jì)算機(jī)系統(tǒng)12以同步方式或者以異步方式來(lái)控制該所需的集線器/外圍設(shè)備樹(shù)。
因此,例如,當(dāng)在各計(jì)算機(jī)系統(tǒng)12之間切換鍵盤(pán)16和鼠標(biāo)18以及可選地切換監(jiān)視器14時(shí),可以保持第一計(jì)算機(jī)121與第一打印機(jī)22之間的第一數(shù)據(jù)流、第三計(jì)算機(jī)123與掃描儀241之間的第二數(shù)據(jù)流以及第四計(jì)算機(jī)124與第二打印機(jī)2421之間的第三數(shù)據(jù)流,而不發(fā)生中斷。
可以與本發(fā)明相連的外圍設(shè)備包括但不限于USB集線器、打印機(jī)、掃描儀以及照相機(jī)。參照本公開(kāi),本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員可以設(shè)想外圍設(shè)備的其他示例。
參照?qǐng)D3,根據(jù)本發(fā)明的又一個(gè)用法,作為示例,可以連接諸如第二鍵盤(pán)161、第三鍵盤(pán)162、第二鼠標(biāo)181、第二鼠標(biāo)182、第一復(fù)合KM設(shè)備191和第二復(fù)合KM設(shè)備192的多個(gè)KM設(shè)備。優(yōu)選地,由于一個(gè)切換器通常只具有兩個(gè)USB控制臺(tái)端口,所以可以連接一個(gè)或更多個(gè)下游集線器,例如可以與一個(gè)或更多個(gè)KM設(shè)備相連的第一下游集線器171和第二下游集線器172。
參照?qǐng)D4,信號(hào)切換器10包括一用于管理該信號(hào)切換器10的中央處理單元(“CPU”)30。一USB集線器切換器模塊32連接到CPU 30,并被配置得通過(guò)第一輸出端口34與多個(gè)計(jì)算機(jī)系統(tǒng)12進(jìn)行通信。USB集線器切換器模塊32還被配置得通過(guò)輸出端口36與外圍設(shè)備20進(jìn)行通信。在圖4中,在第一輸出端口34與USB集線器切換器模塊32之間示出有4個(gè)連接,但這僅是示例而已。連接的數(shù)量等于配置信號(hào)切換器10所針對(duì)的計(jì)算機(jī)系統(tǒng)12的數(shù)量。
同樣地,在圖4中,在第二輸出端口36與USB集線器切換器模塊32之間示出有兩個(gè)連接,但這也僅是示例而已。連接的數(shù)量等于配置信號(hào)切換器10所針對(duì)的外圍輸出端口的數(shù)量。
USB集線器切換器模塊32是外圍設(shè)備20與計(jì)算機(jī)系統(tǒng)12之間的橋接器,它使信號(hào)切換器10可以把多個(gè)計(jì)算機(jī)系統(tǒng)中的每個(gè)計(jì)算機(jī)系統(tǒng)連接到一個(gè)或更多個(gè)外圍設(shè)備。參照本公開(kāi),適合用作USB集線器切換器模塊的電路結(jié)構(gòu)在本技術(shù)領(lǐng)域內(nèi)是公知的。在一個(gè)優(yōu)選實(shí)施例中,USB集線器切換器模塊包括由CPU固件控制的4個(gè)USB集線器和矩陣模擬切換器。Texas Instruments制造適于該模塊的USB集線器芯片,并且可以利用專用集成電路(ASIC)設(shè)計(jì)方法學(xué)來(lái)構(gòu)造該模塊。
用于控制信號(hào)的USB設(shè)備控制模塊38連接到CPU 30和USB集線器切換器模塊32。USB設(shè)備控制模塊38包括多個(gè)USB設(shè)備芯片,該多個(gè)USB設(shè)備芯片用于為第一輸出端口34模擬諸如第一鍵盤(pán)16和第一鼠標(biāo)18的控制臺(tái)設(shè)備。換句話說(shuō),通過(guò)使一USB設(shè)備芯片模擬附連到第一計(jì)算機(jī)系統(tǒng)的多個(gè)控制臺(tái)設(shè)備,就可以把實(shí)際的控制臺(tái)設(shè)備切換到第二或不同的計(jì)算機(jī)系統(tǒng),而使第一計(jì)算機(jī)系統(tǒng)與相連的外圍設(shè)備之間的任何通道以及這些通路內(nèi)的任何數(shù)據(jù)流保持不中斷,并且第一計(jì)算機(jī)系統(tǒng)仍然如同現(xiàn)在被模擬的實(shí)際控制臺(tái)設(shè)備仍被連接那樣進(jìn)行處理。由CPU 30固件來(lái)控制這些芯片。每個(gè)計(jì)算機(jī)系統(tǒng)12需要一個(gè)設(shè)備芯片。參照本公開(kāi),適于用作USB設(shè)備控制模塊的電路結(jié)構(gòu)在本技術(shù)領(lǐng)域內(nèi)是公知的。
在圖4中,在USB設(shè)備控制模塊38與USB集線器切換器模塊32之間示出有4個(gè)連接,但這僅是示例而已。連接的數(shù)量等于配置信號(hào)切換器10所針對(duì)的計(jì)算機(jī)系統(tǒng)12的數(shù)量。在一個(gè)優(yōu)選實(shí)施例中,USB設(shè)備控制模塊包括4個(gè)USB設(shè)備芯片,并且這些芯片也是由CPU固件來(lái)控制的。Philips Semiconductors制造適于在該模塊中使用的芯片,并且可以利用專用集成電路(ASIC)設(shè)計(jì)方法學(xué)來(lái)構(gòu)造該模塊。
參照?qǐng)D4,CPU 30包括一用于存儲(chǔ)一管理程序42的第一存儲(chǔ)器40,該管理程序42用于管理信號(hào)切換器10的操作。圖5示出了適合用于本發(fā)明的管理程序42的部分的功能的流程圖,下面將對(duì)其進(jìn)行說(shuō)明。
一USB主機(jī)控制模塊44被配置得與多個(gè)控制臺(tái)設(shè)備進(jìn)行通信,并且連接到CPU 30。參照本公開(kāi),適于用作USB主機(jī)控制模塊的電路結(jié)構(gòu)在本技術(shù)領(lǐng)域內(nèi)是公知的。USB主機(jī)控制模塊44本身包括一用于通過(guò)第三輸出端口48與一個(gè)或更多個(gè)控制臺(tái)設(shè)備或下游集線器進(jìn)行通信的根集線器46。該根集線器是USB兼容集線器,參照本公開(kāi),USB兼容集線器在本技術(shù)領(lǐng)域內(nèi)是公知的。
如圖3所示,一個(gè)或更多個(gè)下游集線器,如第一下游集線器171和第二下游集線器172,可以連接到信號(hào)切換器10,通過(guò)多個(gè)第三輸出端口48中的一個(gè)與根集線器46進(jìn)行通信。通過(guò)添加更多個(gè)下游集線器,可以以菊花式連接多達(dá)127個(gè)設(shè)備。
典型地,第三輸出端口48包括兩個(gè)物理端口。在不同實(shí)施例中,可選地可以把一內(nèi)部附加控制臺(tái)USB集線器(未示出)連接到根集線器46,以增加連接控制臺(tái)設(shè)備可用的第三輸出端口48的數(shù)量。所述CPU 30固件能夠處理集線器功能。參照本公開(kāi),適于根據(jù)在此公開(kāi)的方法運(yùn)行所述CPU的固件的結(jié)構(gòu)在本技術(shù)領(lǐng)域內(nèi)是公知的。
一可選的視頻/顯示板控制設(shè)備模塊50連接到CPU 30,以與諸如光板(light panel)、LED、按鈕、視頻控制器切換器或其他可選的顯示板設(shè)備的各種可選平板顯示設(shè)備54(以虛線示出)通信。如果提供屏幕上顯示(on screen display)(“OSD”)功能,則把一可選的OSD控制設(shè)備模塊56(以虛線示出)連接到CPU 30和視頻/平板控制設(shè)備模塊50,以對(duì)通過(guò)第四輸出端口52送到外部監(jiān)視器14的信號(hào)進(jìn)行控制和調(diào)節(jié)。參照本公開(kāi),適合用作視頻/顯示板控制設(shè)備模塊或可選的OSD控制設(shè)備模塊的電路結(jié)構(gòu)在本技術(shù)領(lǐng)域內(nèi)是公知的。
參照?qǐng)D5,適合用于本發(fā)明的管理程序42的一部分的處理過(guò)程可以按如下步驟進(jìn)行。在步驟210,初始化信號(hào)切換器10。在步驟212,枚舉根集線器46,并保存來(lái)自根集線器46的任何根集線器消息。在步驟214,確定是否有任何設(shè)備連接到根集線器46。如果確定一設(shè)備連接到根集線器46,則程序處理過(guò)程進(jìn)行至步驟216,否則該處理過(guò)程進(jìn)行至步驟226。
在步驟216,枚舉被確定連接到根集線器46的每個(gè)設(shè)備,對(duì)來(lái)自被確定連接到根集線器46的USB設(shè)備的設(shè)備消息進(jìn)行分析,并將該設(shè)備消息保存在適當(dāng)?shù)拇鎯?chǔ)器中。
接著,在步驟218,確定是否有任何下游集線器連接到根集線器46。如果確定沒(méi)有下游集線器連接到根集線器46,則該處理過(guò)程進(jìn)行至步驟228。如果檢測(cè)到一下游集線器,則該處理過(guò)程進(jìn)行至步驟220。在步驟220,枚舉被確定連接到根集線器46的每個(gè)下游集線器,并且獲取該集線器的下游端口狀態(tài)。然后,該處理過(guò)程進(jìn)行至步驟222。
在步驟222,確定下游集線器的端口中是否存在任何設(shè)備。如果確定下游集線器的端口中不存在設(shè)備,則該處理過(guò)程進(jìn)入步驟228。如果在步驟222確定在下游集線器的端口中存在設(shè)備,則該處理過(guò)程進(jìn)行至步驟224,在步驟224處,枚舉每個(gè)這種設(shè)備,然后對(duì)連接設(shè)備消息進(jìn)行分析,并將該連接設(shè)備消息保存在適當(dāng)?shù)拇鎯?chǔ)器中。然后,該處理過(guò)程進(jìn)行至步驟228。
在步驟228,確定所連接的設(shè)備是不是HID鍵盤(pán)或鼠標(biāo),或者其他HID兼容設(shè)備。參照本公開(kāi),本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員將明白,該步驟可以測(cè)試與任何所需的工業(yè)標(biāo)準(zhǔn)或設(shè)備類的兼容性。如果所連接的設(shè)備不是這種設(shè)備,則該處理過(guò)程進(jìn)行至步驟232,步驟232是導(dǎo)致在步驟240重置HOST控制RAM的錯(cuò)誤處理過(guò)程。如果確定所連接的設(shè)備是兼容的,則在下一步驟230,枚舉每個(gè)這種設(shè)備,并分析其報(bào)告數(shù)據(jù)。兼容測(cè)試的原因在于,所述切換器已被構(gòu)建來(lái)模擬遵從工業(yè)標(biāo)準(zhǔn)設(shè)備類的特定控制臺(tái)設(shè)備。
然后,控制過(guò)程進(jìn)行至步驟226,在步驟226處,輪詢集線器切換器模塊32。在可選的步驟234處,輪詢?nèi)魏物@示板或LED電路。在步驟238,確定是否拔出或插入了任何下游端口。如果拔出或插入了下游端口,則該處理過(guò)程進(jìn)行至步驟240,在步驟240處,重置HOST控制RAM。繼在步驟240中重置HOST控制RAM之后,該處理過(guò)程返回至步驟212。否則,該處理過(guò)程進(jìn)行至步驟242,在步驟242處,輪詢多個(gè)KVM設(shè)備,然后,該處理過(guò)程返回至步驟234。
所述固件控制所述多個(gè)USB控制臺(tái)設(shè)備和PC控制臺(tái)設(shè)備模擬過(guò)程。不需要控制所述多個(gè)USB外圍設(shè)備,因?yàn)楸景l(fā)明在所述多個(gè)USB外圍設(shè)備與所鏈接的PC之間產(chǎn)生了通路或通道,通過(guò)切換在兼容的KM設(shè)備與PC之間的通道,可以不中斷該通路或通道。
利用下面的人機(jī)接口設(shè)備(HID)規(guī)范,參照本公開(kāi),本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員能夠構(gòu)造適合用于本發(fā)明的USB模擬程序。HID規(guī)范定義了一種用于HID依從USB設(shè)備的準(zhǔn)語(yǔ)言(quasi-language),以告知主機(jī)如何解釋該主機(jī)所接收的數(shù)據(jù)。該準(zhǔn)語(yǔ)言是靈活的,并且允許采用許多方式描述同一功能性。本發(fā)明可與其他工業(yè)標(biāo)準(zhǔn)規(guī)范一起使用,其中所述工業(yè)標(biāo)準(zhǔn)規(guī)范定義了一過(guò)程來(lái)告知主機(jī)如何解釋該主機(jī)從標(biāo)準(zhǔn)兼容設(shè)備接收的數(shù)據(jù)。
目前,在http//www.usb.org/developers/data/devclass/HID1_11.pdf上可獲得對(duì)人機(jī)接口設(shè)備(HID)固件規(guī)范-6/27/01,1.11版的設(shè)備類定義,在此引入該設(shè)備類定義。在http//www.usb.org/developers/hidpage.html上可獲得該規(guī)范和其他HID相關(guān)信息的最新版本。
使用總線分析器,例如Computer Access Technology Corp.當(dāng)前銷(xiāo)售的一種總線分析器,可以讀取USB總線,并對(duì)來(lái)自鍵盤(pán)和鼠標(biāo)的數(shù)據(jù)分組進(jìn)行分析。HID規(guī)范提供關(guān)于分組意義的解釋。通過(guò)提供遵從所述HID規(guī)范或某種未來(lái)的標(biāo)準(zhǔn)規(guī)范的所有控制臺(tái)設(shè)備,只需模擬這種HID設(shè)備或標(biāo)準(zhǔn)兼容設(shè)備即可。
在一優(yōu)選實(shí)施例中,包括USB集線器切換器控件、USB設(shè)備芯片控件(設(shè)備模擬)以及控制臺(tái)設(shè)備模擬(主機(jī)模擬)在內(nèi)的整個(gè)系統(tǒng)程序都內(nèi)建在CPU芯片(閃速ROM或PROM)中。參照本公開(kāi)并且根據(jù)所參考的規(guī)范,本領(lǐng)域內(nèi)的技術(shù)人員能夠編寫(xiě)適于使切換器表現(xiàn)為與外圍設(shè)備相連的PC并且同時(shí)使該切換器與USB設(shè)備或USB PC進(jìn)行通信的USB模擬程序。
在上面的說(shuō)明中,參照本發(fā)明的特定實(shí)施例對(duì)本發(fā)明進(jìn)行了說(shuō)明。然而,顯然,在不偏離本發(fā)明的更寬泛的精神和范圍的條件下,可以對(duì)本發(fā)明進(jìn)行各種修改和更改。因此,可以認(rèn)為本說(shuō)明書(shū)和附圖是說(shuō)明性的,而非限制性的。應(yīng)該明白,不應(yīng)該認(rèn)為本發(fā)明受這些實(shí)施例的限制,而應(yīng)該根據(jù)所述權(quán)利要求來(lái)解釋本發(fā)明。
權(quán)利要求
1.一種信號(hào)切換器,用于在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一視頻監(jiān)視器、遵從一工業(yè)標(biāo)準(zhǔn)的多個(gè)控制臺(tái)設(shè)備、以及一個(gè)或更多個(gè)外圍設(shè)備,該信號(hào)切換器包括CPU,包括一用于存儲(chǔ)一管理程序的第一存儲(chǔ)器,該管理程序用于管理所述信號(hào)切換器;集線器切換器模塊,與所述CPU相連,并被配置得與所述多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)以及所述一個(gè)或更多個(gè)外圍設(shè)備進(jìn)行通信,使得從該集線器切換器模塊傳送到所述一個(gè)或更多個(gè)外圍設(shè)備的信號(hào)模擬為從一計(jì)算機(jī)的始發(fā);設(shè)備控制模塊,用于根據(jù)所述工業(yè)標(biāo)準(zhǔn)模擬所述多個(gè)控制臺(tái)設(shè)備,與所述CPU和所述集線器切換器模塊相連;主機(jī)控制模塊,與所述CPU相連,并被配置得與所述多個(gè)控制臺(tái)設(shè)備進(jìn)行通信;以及視頻控制模塊,與所述CPU相連,并被配置得與一視頻監(jiān)視器設(shè)備進(jìn)行通信。
2.根據(jù)權(quán)利要求1所述的信號(hào)切換器,進(jìn)一步包括一與所述CPU和所述視頻控制模塊相連的OSD控制設(shè)備。
3.根據(jù)權(quán)利要求1所述的信號(hào)切換器,其中,所述主機(jī)控制模塊包括一根集線器。
4.根據(jù)權(quán)利要求1所述的信號(hào)切換器,其中,所述工業(yè)標(biāo)準(zhǔn)是對(duì)于人機(jī)接口設(shè)備的設(shè)備類定義。
5.一種共享方法,用于通過(guò)一信號(hào)切換器來(lái)在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一視頻監(jiān)視器、遵從一工業(yè)標(biāo)準(zhǔn)的多個(gè)控制臺(tái)設(shè)備、以及一個(gè)或更多個(gè)外圍設(shè)備,該共享方法包括以下步驟初始化所述信號(hào)切換器;根據(jù)所述工業(yè)標(biāo)準(zhǔn)模擬所述多個(gè)控制臺(tái)設(shè)備中的一個(gè)或更多個(gè);枚舉一根集線器的多個(gè)端口;確定是否存在任何下游端口,并且如果存在,則枚舉該下游端口;確定所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)是否連接到所述根集線器或任何下游端口,并且如果所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)連接到所述根集線器或任何下游端口,則枚舉每個(gè)已連接設(shè)備;確定多個(gè)已連接設(shè)備中的任何一個(gè)是否遵從所述工業(yè)標(biāo)準(zhǔn);枚舉每個(gè)兼容的已連接設(shè)備,并分析來(lái)自該設(shè)備的任何數(shù)據(jù);以及重復(fù)輪詢以確定是否已插入或已拔出所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)、所述一個(gè)或更多個(gè)外圍設(shè)備中的任何一個(gè)、或任何下游端口,并且如果確定已插入或已拔出所述多個(gè)控制臺(tái)設(shè)備中的任何一個(gè)、所述一個(gè)或更多個(gè)外圍設(shè)備中的任何一個(gè)、或任何下游端口,則重置控制。
6.根據(jù)權(quán)利要求1所述的信號(hào)切換器,其中,所述管理程序包括用于管理所述信號(hào)切換器的多個(gè)步驟、以及權(quán)利要求5所述的方法。
7.一種信號(hào)切換器,用于在多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)中共享一個(gè)或更多個(gè)控制臺(tái)設(shè)備和一個(gè)或更多個(gè)外圍設(shè)備,該信號(hào)切換器包括第一通道,用于將所述一個(gè)或更多個(gè)控制臺(tái)設(shè)備中的一選定控制臺(tái)設(shè)備連接到所述多個(gè)計(jì)算機(jī)系統(tǒng)中的一第一選定計(jì)算機(jī)系統(tǒng);第二通道,用于將所述第一選定計(jì)算機(jī)系統(tǒng)連接到所述一個(gè)或更多個(gè)外圍設(shè)備中的一選定外圍設(shè)備,該第二通道具有所述第一選定計(jì)算機(jī)系統(tǒng)與所述選定外圍設(shè)備之間的數(shù)據(jù)流;第三通道,用于將所述選定控制臺(tái)設(shè)備連接到所述多個(gè)計(jì)算機(jī)系統(tǒng)中的一第二選定計(jì)算機(jī)系統(tǒng);以及切換裝置,用于在不中斷通過(guò)所述第一選定計(jì)算機(jī)系統(tǒng)與所述選定外圍設(shè)備之間的第二通道的數(shù)據(jù)流的情況下,在所述第一通道與所述第三通道之間切換所述選定控制臺(tái)設(shè)備。
全文摘要
提供了一種信號(hào)切換器(10),用于在多個(gè)計(jì)算機(jī)系統(tǒng)(12)中的任何一個(gè)中共享一視頻監(jiān)視器(14)、遵從一工業(yè)標(biāo)準(zhǔn)的多個(gè)控制臺(tái)設(shè)備(16、18)、以及一個(gè)或更多個(gè)外圍設(shè)備(20),該信號(hào)切換器包括CPU(30),具有用于存儲(chǔ)一管理程序(42)的第一存儲(chǔ)器(40),該管理程序用于管理所述信號(hào)切換器;集線器切換器模塊(32),連接到所述CPU,并被配置得與所述多個(gè)計(jì)算機(jī)系統(tǒng)中的任何一個(gè)以及所述一個(gè)或更多個(gè)外圍設(shè)備進(jìn)行通信;設(shè)備控制模塊(38),用于根據(jù)所述工業(yè)標(biāo)準(zhǔn)模擬所述多個(gè)控制臺(tái)設(shè)備,與所述CPU和所述集線器切換器模塊相連;主機(jī)控制模塊(44),連接到所述CPU,并被配置得與所述多個(gè)控制臺(tái)設(shè)備進(jìn)行通信;以及,視頻控制模塊(50),連接到所述CPU,并被配置得與一視頻監(jiān)視器設(shè)備進(jìn)行通信。
文檔編號(hào)G06F13/14GK1602473SQ02824593
公開(kāi)日2005年3月30日 申請(qǐng)日期2002年11月6日 優(yōu)先權(quán)日2001年11月9日
發(fā)明者婁子正, 陳尚仲, 楊世賢 申請(qǐng)人:阿托恩科技有限公司