專利名稱:支持n鍵同時(shí)輸入的ps/2轉(zhuǎn)usb鍵盤轉(zhuǎn)接器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于使用于鍵盤的轉(zhuǎn)接器電路,特別是關(guān)于使用于產(chǎn)生支持N鍵同時(shí)輸 Λ (NKRO, N-key rollover)的通用串行總線(USB, universal serial bus)鍵盤信號(hào)的鍵 盤的轉(zhuǎn)接器電路。
背景技術(shù):
多鍵同時(shí)輸入(Rollover)關(guān)于一電腦鍵盤正確地解讀同時(shí)發(fā)生的多個(gè)鍵的敲擊 的能力。在一傳統(tǒng)電腦鍵盤上正常打字的期間,于任何特定時(shí)間點(diǎn),通常只有一個(gè)按鍵被按 壓,當(dāng)使用例如Shift或Control等輔助鍵時(shí),使用者會(huì)按住輔助鍵且同時(shí)敲擊和放開另一 按鍵。然而,某些特殊形式的鍵盤操作可能需要同時(shí)敲擊和持續(xù)按住多個(gè)按鍵,特別是一些 電腦游戲,需要持續(xù)按住按鍵(非一般輔助鍵)幷同時(shí)按壓和放開其他按鍵。為了降低成本和設(shè)計(jì)復(fù)雜度,大部分的傳統(tǒng)鍵盤不會(huì)將所有按鍵彼此獨(dú)立分開, 反而是使用一按鍵切換矩陣,其假定于任何特定時(shí)間點(diǎn)僅有有限數(shù)量的按鍵會(huì)被持續(xù)按 壓?!癗鍵同時(shí)輸入”關(guān)于鍵盤的一特征,其藉由鍵盤硬件完整單獨(dú)地掃描每一個(gè)按鍵。如 此一來,無論有多少其他按鍵于該時(shí)間中被按壓或持續(xù)按住,每一鍵壓都會(huì)被正確地檢測。 舉例來說,大部分鍵盤具有“三鍵同時(shí)輸入(3-keyrollover) ”功能,因此可確實(shí)地檢測同時(shí) 被使用的任三個(gè)按鍵,但是如果使用者按住三個(gè)按鍵而企圖去敲擊第四個(gè),則該鍵壓可能 會(huì)被忽略或不正確地解讀。一鍵盤沒有正確檢測和解讀這些同時(shí)被按壓的按鍵的能力常歸 咎于卡鍵。某些鍵盤(例如用于玩電腦游戲的鍵盤,特別是有多個(gè)使用者參與的游戲)被 設(shè)計(jì)為可處理10個(gè)以上按鍵的N鍵同時(shí)輸入。
發(fā)明內(nèi)容
本發(fā)明針對(duì)一種轉(zhuǎn)接器(轉(zhuǎn)換器)電路,其產(chǎn)生USB格式的鍵盤信號(hào),同時(shí)支持大 量按鍵的N鍵同時(shí)輸入(NKRO)。本發(fā)明的一個(gè)目的在于提供用于一 PS/2鍵盤,其同時(shí)支持N鍵同時(shí)輸入的PS/2 轉(zhuǎn)USB轉(zhuǎn)接器。本發(fā)明的另一目的在于提供一支持N鍵同時(shí)輸入的USB鍵盤。本發(fā)明其他特征和優(yōu)點(diǎn)將于隨后的說明書內(nèi)容提出,其中一部分由說明書內(nèi)容可 預(yù)見,或可藉由本發(fā)明的實(shí)施而習(xí)得。藉由書面說明、權(quán)利要求范圍與附圖中特別指出的結(jié) 構(gòu),將了解和獲得本發(fā)明的目的和其他優(yōu)點(diǎn)。為了達(dá)成上述和其他優(yōu)點(diǎn)幷依據(jù)本發(fā)明的目的,本發(fā)明提供一種用于鍵盤的信 號(hào)轉(zhuǎn)換器裝置,以作為示例和概括地描述。該信號(hào)轉(zhuǎn)換器裝置包含一轉(zhuǎn)換器模組以及一 USB裝置控制器模組,其中此轉(zhuǎn)換器模組用以接收表示鍵壓信息的電子信號(hào),幷產(chǎn)生符合一 USB(universal serial bus)標(biāo)準(zhǔn)的鍵盤數(shù)據(jù)封包,每個(gè)鍵盤數(shù)據(jù)封包具有九位元組或更 長的格式,其代表最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上的非輔助鍵;此USB裝置控制器模組用 以傳送所述鍵盤數(shù)據(jù)封包至一 USB主機(jī),該USB裝置控制器模組接收來自該USB主機(jī)的輪詢令牌,幷且于一或多連續(xù)USB輪詢周期傳送作為一或多USB數(shù)據(jù)封包的每一鍵盤數(shù)據(jù)封 包。依據(jù)本發(fā)明的另一觀點(diǎn),本發(fā)明提供一種用以轉(zhuǎn)換鍵盤信號(hào)的方法,該方法包 含接收表示鍵壓信息的電子信號(hào);基于被接收的電子信號(hào),產(chǎn)生符合一 USBOmiversal serial bus)標(biāo)準(zhǔn)的鍵盤數(shù)據(jù)封包,每個(gè)鍵盤數(shù)據(jù)封包具有九位元組或更長的一格式,其代 表最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上的非輔助鍵;幷且,傳送所述鍵盤數(shù)據(jù)封包至一 USB主 機(jī),其中于一或多連續(xù)USB輪詢周期中,傳送每個(gè)鍵盤數(shù)據(jù)封包以作為一或多USB數(shù)據(jù)封 包。依據(jù)本發(fā)明的再一目的,本發(fā)明提供一種鍵盤/影像/鼠標(biāo)(keyboard/video/ mouse, KVM)切換裝置,其包含一轉(zhuǎn)換器模組,用以接收表示鍵壓信息的電子信號(hào),幷產(chǎn)生 符合一 USB (universal serial bus)標(biāo)準(zhǔn)的鍵盤數(shù)據(jù)封包,每個(gè)鍵盤數(shù)據(jù)封包具有九位元 組或更長的一格式,其代表最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上的非輔助鍵;多個(gè)USB裝置 控制器模組,每個(gè)USB裝置控制器模組用以傳送所述鍵盤數(shù)據(jù)封包至一 USB主機(jī),幷接收來 自其相對(duì)應(yīng)USB主機(jī)的輪詢令牌,幷且于一或多個(gè)連續(xù)USB輪詢周期中傳送作為一或多個(gè) USB數(shù)據(jù)封包的每一鍵盤數(shù)據(jù)封包至該相對(duì)應(yīng)USB主機(jī);以及一切換電路,用以將所述鍵盤 數(shù)據(jù)封包該自轉(zhuǎn)換器模組轉(zhuǎn)移至所述USB裝置控制器模組中被選定的一 USB裝置控制器模 組。前述概略說明以及接下來的詳細(xì)敘述,皆為示范和說明之用,幷用以提供如權(quán)利 要求所請(qǐng)求的的發(fā)明的進(jìn)一步解釋。
圖1說明本發(fā)明連接于一 PSA鍵盤和一支持NKRO的電腦之間的PS/^2轉(zhuǎn)USB轉(zhuǎn) 接器的一實(shí)施例;圖2說明本發(fā)明支持NKRO的USB鍵盤的一實(shí)施例;圖3說明本發(fā)明支持NKRO的KVM(鍵盤/影像/鼠標(biāo))切換器;圖4說明一常見的8位元組USB鍵盤數(shù)據(jù)封包的數(shù)據(jù)格式;圖5(a)至圖5(c)分別說明本發(fā)明的USB鍵盤數(shù)據(jù)封包16位元組、64位元組和 128位元組的數(shù)據(jù)格式的實(shí)施例;圖6為一流程圖,其說明本發(fā)明中由一 USB裝置控制器模組所執(zhí)行方法的一實(shí)施 例,該USB裝置控制器模組傳送USB鍵盤數(shù)據(jù)幷支持NKRO ;及圖7說明已知技術(shù)的鍵盤的啟動(dòng)介面描述符。主要元件符號(hào)說明100 PS/2轉(zhuǎn)USB鍵盤轉(zhuǎn)接器102、202、302 轉(zhuǎn)換器模組104、204、304i USB 裝置控制器106,206,306i USB 介面110 PS/2 鍵盤200 USB 鍵盤208按鍵掃描電路
300KVM 切換器305切換電路312鍵盤314鼠標(biāo)316顯示器320 電腦S61等待預(yù)定的輪詢周期及接收來自USB主機(jī)的IN令牌的步驟S62數(shù)據(jù)預(yù)備傳送的步驟S63傳送NAK至USB主機(jī)的步驟S64傳送該16位元組鍵盤數(shù)據(jù)的第一 8位元組的步驟S65等待預(yù)定的輪詢周期及接收來自USB主機(jī)的IN令牌的步驟S66傳送該16位元組鍵盤數(shù)據(jù)的下一 8位元組的步驟71碼片段
具體實(shí)施例方式在此依據(jù)規(guī)定揭露本發(fā)明詳細(xì)說明的實(shí)施例如下,然而,依照本發(fā)明的技術(shù)、系統(tǒng) 與操作結(jié)構(gòu),可以廣泛由各式各樣的型式和模式所實(shí)施,其中某些可能會(huì)與所揭示的實(shí)施 例不相同。因此,在此所揭示的特定結(jié)構(gòu)和功能細(xì)節(jié)僅作為代表,而在這情況下,它們被視 為以揭示為目的而提供最佳實(shí)施例,幷提供于此定義本發(fā)明的范圍的權(quán)利要求范圍的基 礎(chǔ)。以下提出本發(fā)明的較佳實(shí)施例(也有一些替代實(shí)施例)的詳細(xì)說明。PS/2鍵盤和USB鍵盤有幾點(diǎn)不同之處,其中之一為典型上PS/2鍵盤使用一芯片 組來解碼和處理鍵擊信號(hào),且電腦的操作系統(tǒng)直接接收所述被解碼的鍵擊信號(hào);另一方面, USB鍵盤需要操作系統(tǒng)驅(qū)動(dòng)程序來輪詢鍵盤和記錄鍵擊信號(hào)。因此,PS/2鍵盤所需要的電 腦系統(tǒng)資源較少。對(duì)一 USB鍵盤來說,既然輪詢間隔是固定的,鍵盤的反應(yīng)時(shí)間就會(huì)受到限 制。因此,若需要超快速鍵入時(shí),使用者可能會(huì)感覺到鍵盤反應(yīng)的延滯。既然PS/2鍵盤不 需要輪詢,鍵擊信號(hào)就可毫無延滯地被傳送至電腦。另一不同之處為USB鍵盤典型上使用USB人性化介面裝置(HID)協(xié)議。一傳統(tǒng)上 使用HID協(xié)議的USB鍵盤一次可傳送最多六個(gè)一般按鍵(非輔助鍵)加上八個(gè)輔助鍵(左 側(cè)的shift,ctrl,alt,win和右側(cè)的shift, ctrl, alt, win)的數(shù)據(jù)。圖7說明了依據(jù)已知 技術(shù)的鍵盤的啟動(dòng)介面描述符(desccriptor),其參考自“Device Class Definition for Human Interface Devices(HID), FirmwareSpecification-4/7/99, Version 1.1,,的附件 B,59-60頁。相反地,PS/2鍵盤傳送直接代表壓下或放開按鍵的信號(hào),所以理論上大量按鍵 的信號(hào)可以一次被傳送至電腦。基于此原因,具有NKRO功能的鍵盤傳統(tǒng)上使用PS/2介面 與電腦連接。在本發(fā)明中所揭示的“N鍵同時(shí)輸入(NKRO) ”是指正確地解讀大量同時(shí)發(fā)生 的鍵擊的能力,例如6個(gè)以上非輔助鍵或包含輔助鍵共超過14個(gè)以上的按鍵。本發(fā)明的實(shí)施例提供一USB轉(zhuǎn)接器(轉(zhuǎn)換器)電路,其針對(duì)支持NKRO功能的電腦, 將一按鍵掃描電路所產(chǎn)生的電子信號(hào)(例如一 PS/2按鍵掃描電路所產(chǎn)生的PS/2信號(hào))轉(zhuǎn) 換為USB信號(hào)。該轉(zhuǎn)換器電路可藉由一邏輯電路來實(shí)施,或作為一執(zhí)行固件或軟件的處理 器;該轉(zhuǎn)換器電路可被實(shí)施作為一獨(dú)立式PS/2轉(zhuǎn)USB鍵盤轉(zhuǎn)換器,一鍵盤的整合組件,或是一 KVM切換器或周邊裝置的整合組件。如圖1所示,一 PS/2轉(zhuǎn)USB轉(zhuǎn)換器電路可實(shí)施于一 PS/2轉(zhuǎn)USB鍵盤轉(zhuǎn)接器100 中,該P(yáng)S/2轉(zhuǎn)USB鍵盤轉(zhuǎn)接器100連接于一鍵盤110和一電腦主機(jī)的USB端(圖中未顯 示)之間。該鍵盤110為公知技術(shù)中具有NKRO功能的一 PS/2鍵盤。該P(yáng)S/2轉(zhuǎn)USB鍵盤 轉(zhuǎn)接器100包含一 PS/2轉(zhuǎn)USB轉(zhuǎn)換器模組102、一 USB裝置控制器模組104、以及一 USB介 面電路106。符合PS/2標(biāo)準(zhǔn)的鍵盤信號(hào)被輸入至該轉(zhuǎn)換器模組102,其將所述PS/2信號(hào)轉(zhuǎn) 換為支持NKRO的USB鍵盤信號(hào),轉(zhuǎn)換方式將于稍后詳細(xì)描述。該USB裝置控制器模組104 將所述USB鍵盤信號(hào)經(jīng)由該USB介面電路106傳送至該電腦,傳送方式將于稍后詳細(xì)描述。 該轉(zhuǎn)接器的實(shí)體形式可為一單體(dongle),其一端具有用來插拔入電腦的USB連接端的一 USB纜線,且另一端具有用來與該鍵盤110的PS/2連接器相連接的一個(gè)或多個(gè)PS/2纜線, 其中該轉(zhuǎn)換器模組102和其他電路被封裝于一殼體中,該殼體與該些纜線為實(shí)體上相連接 或整合。該轉(zhuǎn)接器100可進(jìn)一步包含另一 PS/2連接器,用以和一 PS/2鼠標(biāo)相連接。該P(yáng)S/2 轉(zhuǎn)USB轉(zhuǎn)換器模組102與該USB裝置控制器模組104可被整合至一 IC中,例如柏士半導(dǎo)體 (Cypress Semiconductor Corporation)所供應(yīng)的 IC CY7C63723。如圖2所示,一 USB轉(zhuǎn)換器電路也可被實(shí)施為一鍵盤200的一整合部件。該鍵盤 200包含一按鍵掃描電路208、一轉(zhuǎn)換器模組202、一 USB裝置控制器模組204以及一 USB 介面206。該按鍵掃描電路208能夠單獨(dú)地掃描每一個(gè)按鍵,其所使用的方式與習(xí)知具有 NKRO功能的PS/2鍵盤中的按鍵掃描電路類似。由該按鍵掃描電路208所輸出代表壓下或 放開按鍵的電子信號(hào)被該轉(zhuǎn)換器模組202轉(zhuǎn)換為支持NKRO的USB鍵盤信號(hào),轉(zhuǎn)換方式將于 稍后詳細(xì)描述。該USB裝置控制器模組204將所述USB鍵盤信號(hào)經(jīng)由該USB介面電路206 傳送至電腦主機(jī)(圖中未顯示),傳送方式將于稍后詳細(xì)描述。該USB介面206可使用有線 或無線通信方法與該電腦通信。該轉(zhuǎn)換器模組202和其他電路被容納至該鍵盤200的殼體 中。該鍵盤200亦包含典型上能在一電腦鍵盤中找到的其他機(jī)械和電子結(jié)構(gòu),例如按鍵等 等。因此所得到的該鍵盤200為支持NKRO的一 USB鍵盤。如圖3所示,一 PS/2轉(zhuǎn)USB轉(zhuǎn)換器電路也可被實(shí)施為一 KVM(鍵盤-影像-鼠標(biāo)) 切換器300的一部件。KVM切換器是一種可與多臺(tái)電腦主機(jī)及一或多個(gè)使用者控制臺(tái)相連 接的裝置,以使每一使用者控制臺(tái)能夠選擇性地控制任一部電腦及進(jìn)行通訊。典型上使用 者控制臺(tái)包含一顯示器、一鍵盤和一鼠標(biāo)(其為選擇性的)。于圖3的示例中,該KVM切換 器300連接至一使用者控制臺(tái)和多臺(tái)電腦320a至320η。該使用者控制臺(tái)包含一鍵盤312、 一鼠標(biāo)314及一顯示器316。該鍵盤312為公知技術(shù)中具有NKRO功能的一 PSA鍵盤。該 KVM切換器300包含一 PS/2轉(zhuǎn)USB轉(zhuǎn)換器模組302、多個(gè)USB裝置控制器模組304a-n、以 及多個(gè)USB介面306a-n。每一組USB裝置控制器模組304i和USB介面306i耦接至該KVM 切換器的一電腦端,其用以連接至一電腦320i。符合PS/2標(biāo)準(zhǔn)的鍵盤信號(hào)被該轉(zhuǎn)換器模組 302轉(zhuǎn)換為支持NKRO的USB鍵盤信號(hào),轉(zhuǎn)換方式將于稍后詳細(xì)描述。一切換電路305連接 于該轉(zhuǎn)換器模組302及所述多個(gè)USB裝置控制器模組304i之間,用以將所述被轉(zhuǎn)換的鍵盤 信號(hào)切換至該USB裝置控制器模組304i以供一被選定的電腦320i使用。該USB裝置控制 器模組304i將所述USB鍵盤信號(hào)經(jīng)由該USB介面電路306i傳送至此被選定的電腦320i, 其傳送方式將于稍后詳細(xì)描述。于一替代架構(gòu)中(圖中未顯示),該KVM切換器包含多個(gè) PS/2轉(zhuǎn)USB轉(zhuǎn)換器模組,每一轉(zhuǎn)換器模組在一相對(duì)應(yīng)USB裝置控制器模組之前連接,且該切
7換電路305耦接于鍵盤312和多個(gè)轉(zhuǎn)換器模組之間。所述連接至KVM切換器300的鍵盤312也可以是支持NKRO的一 USB鍵盤(例如 圖2中所示的鍵盤)。在此例中,所述經(jīng)由該轉(zhuǎn)換器模組的PS/2轉(zhuǎn)USB的轉(zhuǎn)換可被省略。值得注意的是,雖然本發(fā)明在較佳實(shí)施例中使用一切換電路305于該鍵盤312和 該電腦320i之間切換所述鍵盤信號(hào),但是也可能使用其他硬件結(jié)構(gòu)來切換或路由所述鍵 盤信號(hào),例如一控制器、一處理器,一中央處理器(CPU)、一專用集成電路(ASIC)、一移位暫 存器、上述的任意結(jié)合、或任何其他適當(dāng)?shù)男盘?hào)路由技術(shù)。該切換電路305、該轉(zhuǎn)換器模組302、該USB裝置控制器模組304i以及該USB介面 306 被容納至該KVM切換器300的殼體中。該KVM切換器300另外包含典型上在一 KVM切換 器中找到的其他結(jié)構(gòu),例如尚可能包含一影像切換器,其用以將影像信號(hào)(即顯示器信號(hào)) 自該被選擇的電腦320i切換至該顯示器316 ;亦可能包含一或多個(gè)鼠標(biāo)信號(hào)處理電路,其 用以處理接收自該鼠標(biāo)314的鼠標(biāo)信號(hào),相同的切換電路305或不同的切換電路將自該鼠 標(biāo)314輸入的鼠標(biāo)信號(hào)切換至該被選定的電腦,該鼠標(biāo)信號(hào)可經(jīng)由該USB裝置控制器模組 304 和該USB介面電路306i,或者經(jīng)由個(gè)別的通信路徑被傳送至該被選定的電腦320i。圖4至圖6是描繪所述轉(zhuǎn)換器模組102/202/302i和所述USB裝置控制器模組 104/204/304 的操作方式。在一電腦與一使用USB協(xié)議的傳統(tǒng)USB鍵盤之間的數(shù)據(jù)傳輸過程中,該電腦藉由 傳送一輸入令牌(IN token)至該鍵盤以周期性地(例如每8毫秒)輪詢?cè)揢SB鍵盤。如 果該鍵盤沒有數(shù)據(jù)要被輸出,該鍵盤會(huì)以一否定確認(rèn)(negativeacknowledgement,NAK)訊 息作回應(yīng);如果該鍵盤有數(shù)據(jù)要被輸出,該鍵盤會(huì)傳送8位元組的數(shù)據(jù)作回應(yīng)。該8位元 組鍵盤數(shù)據(jù)封包的數(shù)據(jù)格式如圖4所示,第一位元組代表8個(gè)輔助鍵(屬性鍵),每一位元 代表其中一輔助鍵(R-Win, R-Alt, R-Shift, R-ctrl, L-ffin, L-Alt, L-Shift, L-ctrl),第 二位元組被保留未使用,第三至第八位元組代表6個(gè)非輔助鍵,該8位元組數(shù)據(jù)格式由USB HID描述符決定。當(dāng)位于一傳統(tǒng)USB鍵盤中的USB裝置控制器模組最初連接至一電腦時(shí), 該電腦中的USB主機(jī)控制器和該鍵盤中的該USB裝置控制器模組執(zhí)行一 USB裝置列舉程序 (enumeration process)。于此期間,該USB裝置控制器模組藉由傳送一 HID描述符作為一 8位元組鍵盤數(shù)據(jù)格式,以將該裝置呈現(xiàn)為一 USB HID裝置。這個(gè)傳統(tǒng)數(shù)據(jù)格式的描述符的 范例如圖7所示。在此范例中,虛線框71所標(biāo)示的程序碼部分描述非輔助鍵的格式;另外, 程序碼“Import Count (6)”這行定義一鍵盤數(shù)據(jù)封包中非輔助鍵(每一個(gè)一位元組)的數(shù) 量,于習(xí)知技術(shù)中此數(shù)量為6。依據(jù)本發(fā)明的一個(gè)實(shí)施例,USB鍵盤數(shù)據(jù)格式被修改成支持NKR0,因此當(dāng)所述USB 裝置控制器模組104/204/304i最初連接至相對(duì)應(yīng)的電腦時(shí),該電腦中的USB主機(jī)控制器和 所述USB裝置控制器模組104/204/304i執(zhí)行一 USB裝置列舉程序。于此期間,該USB裝置 控制器模組藉由傳送一 HID描述符作為一 16位元組鍵盤數(shù)據(jù)格式;或一 64位元組鍵盤數(shù) 據(jù)格式;或一 128位元組鍵盤數(shù)據(jù)格式等等,以將該裝置呈現(xiàn)為一 USB HID裝置。于此列 舉程序中所使用的描述符可與圖7所示的傳統(tǒng)描述符相似,但具有適當(dāng)?shù)淖兏缦?。于?述非輔助鍵的程序碼部分中,也就是于圖7中的虛線框71所標(biāo)示的部分,程序碼“Import Count (6) ”這行被置換為“Import Count (14) ”以作為一 16位元組鍵盤數(shù)據(jù)格式;或是改 為“R印ort Count (62)”以作為一 64位元組鍵盤數(shù)據(jù)格式;或是改為“R印ort Count (126)"以作為一 128位元組鍵盤數(shù)據(jù)格式等等。圖5(a)至圖5(c)分別描繪16位元組、64位元組 和128位元組鍵盤數(shù)據(jù)格式。這些數(shù)據(jù)封包中的第一個(gè)位元組仍然代表該八個(gè)輔助鍵;且 該第二位元組仍然被保留未使用;該鍵盤數(shù)據(jù)封包的第三至最后一位元組分別代表14、62 與126個(gè)非輔助鍵。更廣泛地說,該鍵盤數(shù)據(jù)格式(如該HID描述符中所具體指定)可為 任何數(shù)量大于8的位元組,其中8為傳統(tǒng)鍵盤數(shù)據(jù)描述符的位元組數(shù)量。因此,該鍵盤數(shù)據(jù) 格式可為9位元組、10位元組等等,最多可達(dá)鍵盤上的全部按鍵的總數(shù)量。該鍵盤數(shù)據(jù)封包 可代表8個(gè)輔助鍵和7個(gè)以上的非輔助鍵;因此,可修改該傳統(tǒng)HID描述符,以將該程序碼 的“R印ort Count (6) ”行更改為一總數(shù)7或更多幷回報(bào)給電腦。當(dāng)然,圖7所示的傳統(tǒng)USB HID描述符以及上述對(duì)描述符的修改僅為示例,亦可使 用其他的程序碼或訊息將來自該USB裝置控制器模組的該鍵盤裝置描述符信息傳遞至該 USB主機(jī),其中該鍵盤裝置描述符信息具體指定該鍵盤數(shù)據(jù)封包的長度。上述PS/2轉(zhuǎn)USB轉(zhuǎn)換器模組102/302i將自該鍵盤110/312所接收的PS/2格式的 輸入鍵盤數(shù)據(jù)轉(zhuǎn)換為具有16、64或128位元組等等的長度的USB鍵盤數(shù)據(jù)封包。相同地,該 轉(zhuǎn)換器模組202將來自該按鍵掃描電路208的電子信號(hào)轉(zhuǎn)換為具有16、64或128位元組等 等的長度的USB鍵盤數(shù)據(jù)封包。該USB數(shù)據(jù)被饋送至該USB裝置控制器模組104/204/304i。圖6是一流程圖,其說明由USB裝置控制器模組104/204/304i所執(zhí)行的數(shù)據(jù)傳送 程序的一實(shí)施例,其在該USB裝置列舉程序之后被執(zhí)行。于此實(shí)施例中,該USB裝置控制 器模組于兩個(gè)連續(xù)的輪詢循環(huán)中傳送每一 16位元組USB鍵盤數(shù)據(jù)封包,每一循環(huán)中傳送8 位元組的鍵盤數(shù)據(jù)。這樣的方式適用于使用低速USB傳送協(xié)議(1.5Mbit/s,由USB 1. 0所 定義)的裝置,其中每一 USB數(shù)據(jù)封包可攜帶高達(dá)8位元組的數(shù)據(jù)承載量。如圖6所示,該 USB裝置控制器模組被該USB主機(jī)輪詢,幷于每一輪詢周期(例如8毫秒)接收來自于該 USB主機(jī)的一輸入令牌(步驟S61);于接受該輸入令牌后,該USB裝置控制器模組判斷其是 否有數(shù)據(jù)要準(zhǔn)備傳送(步驟S62);如果沒有,其傳送一 NAK訊息至該主機(jī)(步驟S63);若該 裝置控制器模組有鍵盤數(shù)據(jù)要準(zhǔn)備傳送,其傳送一 16位元組鍵盤數(shù)據(jù)封包的第一組8位元 組作為至該主機(jī)的一 USB數(shù)據(jù)封包(步驟S64)。在一輪詢周期之后,當(dāng)下一個(gè)輸入令牌被 接收時(shí)(步驟S65),該裝置控制器模組傳送該16位元組鍵盤數(shù)據(jù)封包的下一組(最后一 組)8位元組作為至該主機(jī)的一 USB數(shù)據(jù)封包(步驟S66);然后該裝置控制器模組等待來 自該USB主機(jī)的下一個(gè)輸入令牌,且重復(fù)上述流程(步驟S61至S66)。在主機(jī)端,電腦中的USB主機(jī)控制器將兩個(gè)連續(xù)輪詢循環(huán)中被傳送的16位元組的 數(shù)據(jù)組合成一個(gè)鍵盤數(shù)據(jù)封包,該鍵盤數(shù)據(jù)封包可代表多達(dá)22個(gè)同時(shí)被按壓的按鍵(8個(gè) 輔助鍵和14個(gè)非輔助鍵)。值得注意的是,于該主機(jī)上不需要特定的驅(qū)動(dòng)程序,支持該USB HID協(xié)議的該主機(jī)根據(jù)先前自該USB裝置控制器模組所接收的該HID描述符來理解該鍵盤 數(shù)據(jù)封包的預(yù)期長度,幷且能夠正確地將所接收的位元組組合成該鍵盤數(shù)據(jù)封包。如果使用低速USB數(shù)據(jù)傳輸方式,且該鍵盤數(shù)據(jù)封包格式長于16位元組(例如為 64位元組),該USB裝置控制器模組可利用多個(gè)連續(xù)輪詢周期(例如8個(gè)輪詢周期)來傳 送每一鍵盤數(shù)據(jù)封包的所有位元組。當(dāng)使用全速(12Mbit/s)USB傳輸方式時(shí),每一 USB數(shù)據(jù)封包的數(shù)據(jù)承載量可高達(dá) 64位元組。因此,該USB裝置控制器模組104/204/304i可在一單一 USB數(shù)據(jù)封包中傳送 16位元組或64位元組格式的整個(gè)鍵盤數(shù)據(jù)封包。因此,圖6所示的流程可被簡化,使步驟S64傳送該鍵盤數(shù)據(jù)的全部16或64位元組至該USB主機(jī),而步驟S65和S66則可被省略。 如果使用全速USB傳輸且鍵盤數(shù)據(jù)封包長于64位元組(例如為128位元組),則該鍵盤數(shù) 據(jù)封包于多個(gè)連續(xù)輪詢周期中被傳送。當(dāng)使用高速(480Mbit/s,由USB 2. 0所定義)USB傳輸方式時(shí),每一 USB數(shù)據(jù)封包 的數(shù)據(jù)承載量可高達(dá)1024位元組。因此,該USB裝置控制器模組104/204/304i可在一單 一 USB數(shù)據(jù)封包中傳送16位元組、64位元組或128位元組格式的整個(gè)鍵盤數(shù)據(jù)封包(即在 步驟S64中傳送16、64或128位元組,幷移除步驟S65和S66)。因?yàn)槭褂肬SB格式來傳送鍵盤數(shù)據(jù)至該電腦,該鍵盤轉(zhuǎn)接器100、鍵盤200及KVM 切換器300可以和許多具有系統(tǒng)預(yù)設(shè)的USB鍵盤驅(qū)動(dòng)程序或已安裝特定驅(qū)動(dòng)程序的操作系 統(tǒng)相容。熟悉本技術(shù)領(lǐng)域之人士在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可對(duì)本發(fā)明的PS/2 轉(zhuǎn)USB鍵盤轉(zhuǎn)接器和其所涉及的方法作各種更動(dòng)與潤飾;因此,熟悉本技術(shù)領(lǐng)域之人士可 對(duì)本發(fā)明任施匠思而為諸般修飾,然皆不脫權(quán)利要求專利范圍所欲保護(hù)者。
權(quán)利要求
一種用于一鍵盤的信號(hào)轉(zhuǎn)換器裝置,至少包含一轉(zhuǎn)換器模組,用以接收代表鍵壓信息的電子信號(hào),幷產(chǎn)生符合通用串行總線標(biāo)準(zhǔn)的多個(gè)鍵盤數(shù)據(jù)封包,每一該鍵盤數(shù)據(jù)封包具有9位元組或更長的格式,以表示最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上的非輔助鍵;及一USB裝置控制器模組,用以傳送該鍵盤數(shù)據(jù)封包至一USB主機(jī),該USB裝置控制器模組接收來自該USB主機(jī)的輪詢令牌,幷且于一或多個(gè)連續(xù)USB輪詢周期中傳送每一該鍵盤數(shù)據(jù)封包以作為一或多個(gè)USB數(shù)據(jù)封包,該USB裝置控制器傳送鍵盤裝置描述符信息至該USB主機(jī),該鍵盤裝置描述符信息描述該9位元組或更長的格式的鍵盤數(shù)據(jù)封包,以表示最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上的非輔助鍵。
2.如權(quán)利要求1所述的信號(hào)轉(zhuǎn)換器裝置,其特征在于,所述電子信號(hào)符合一PS/2標(biāo)準(zhǔn), 而該信號(hào)轉(zhuǎn)換器裝置,還包含一 PS/2連接器,用以與一外部鍵盤的PS/2連接器相連接;一 USB連接器,用以與該USB主機(jī)的USB連接器相連接;以及一殼體,與該P(yáng)S/2連接器及該USB連接器實(shí)體上耦接或整合,其中該轉(zhuǎn)換器模組經(jīng)由該P(yáng)S/2連接器接收所述電子信號(hào),且所述USB數(shù)據(jù)封包經(jīng)由該 USB連接器被傳送至該USB主機(jī)。
3.如權(quán)利要求1所述的信號(hào)轉(zhuǎn)換器裝置,其特征在于,還包含一耦接于該轉(zhuǎn)換器模組的按鍵掃描電路,用以產(chǎn)生所述代表鍵壓信息的電子信號(hào);或一殼體,其中該轉(zhuǎn)換器模組、該USB裝置控制器模組以及該按鍵掃描電路被封裝于該 殼體中。
4.如權(quán)利要求1所述的信號(hào)轉(zhuǎn)換器裝置,包含多個(gè)轉(zhuǎn)換器模組以及多個(gè)USB裝置控制 器模組,還包含一信號(hào)輸入端,用以自一外部鍵盤接收所述電子信號(hào);一切換電路,用以將所述電子信號(hào)自該信號(hào)輸入端轉(zhuǎn)移至所述轉(zhuǎn)換器模組中被選定的 一轉(zhuǎn)換器模組;以及一殼體,其中所述多個(gè)轉(zhuǎn)換器模組、多個(gè)USB裝置控制器模組以及該切換電路被該殼 體所包覆。
5.如權(quán)利要求1所述的信號(hào)轉(zhuǎn)換器裝置,其特征在于,該鍵盤數(shù)據(jù)封包的該格式為16 位元組或64位元組。
6.如權(quán)利要求1所述的信號(hào)轉(zhuǎn)換器裝置,其特征在于,該鍵盤數(shù)據(jù)封包的一第一位元 組代表8個(gè)輔助鍵。
7.如權(quán)利要求1所述的信號(hào)轉(zhuǎn)換器裝置,其特征在于,該USB裝置控制器模組使用一低 速USB傳輸標(biāo)準(zhǔn)與該USB主機(jī)通訊,且其中該USB裝置控制器模組于多個(gè)連續(xù)輪詢周期中 傳送每一鍵盤數(shù)據(jù)封包。
8.一種轉(zhuǎn)換鍵盤信號(hào)的方法,至少包含下列步驟(a)接收代表鍵壓信息的電子信號(hào);(b)依據(jù)所接收的電子信號(hào),產(chǎn)生符合通用串行總線標(biāo)準(zhǔn)的多個(gè)鍵盤數(shù)據(jù)封包,每一該 鍵盤數(shù)據(jù)封包具有9位元組或更長的一格式,以表示最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上的 非輔助鍵;以及(c)傳送所述鍵盤數(shù)據(jù)封包至一USB主機(jī),其中于一或多個(gè)連續(xù)USB輪詢周期中,每一 鍵盤數(shù)據(jù)封包被傳送作為一或多個(gè)USB數(shù)據(jù)封包。
9.如權(quán)利要求8所述的方法,其特征在于,還包含下列步驟(d)于步驟(c)之前,傳送鍵盤裝置描述符信息至該USB主機(jī),該鍵盤裝置描述符信息 描述該9位元組或更長的格式的鍵盤數(shù)據(jù)封包,以表示最多8個(gè)輔助鍵及7個(gè)或7個(gè)以上 的非輔助鍵。
10.一種鍵盤/影像/鼠標(biāo)切換裝置,至少包含一轉(zhuǎn)換器模組,用以接收代表鍵壓信息的電子信號(hào),幷產(chǎn)生符合一通用串行總線標(biāo)準(zhǔn) 的鍵盤數(shù)據(jù)封包,每一鍵盤數(shù)據(jù)封包具有9位元組或更長的一格式,幷代表最多8個(gè)輔助鍵 及7個(gè)或7個(gè)以上的非輔助鍵;多個(gè)USB裝置控制器模組,每一該USB裝置控制器模組用以傳送所述鍵盤數(shù)據(jù)封包至 一 USB主機(jī),幷接收來自其相對(duì)應(yīng)USB主機(jī)的輪詢令牌,幷且于一或多個(gè)連續(xù)USB輪詢周期 中傳送每一鍵盤數(shù)據(jù)封包至該相對(duì)應(yīng)USB主機(jī)以作為一或多個(gè)USB數(shù)據(jù)封包;以及一切換電路,用以將所述鍵盤數(shù)據(jù)封包自該轉(zhuǎn)換器模組轉(zhuǎn)移至所述多個(gè)USB裝置控制 器模組中所選定的一通用串行總線裝置控制器模組。
全文摘要
本發(fā)明涉及一種USB轉(zhuǎn)換電路,將來自一按鍵掃描電路的電子信號(hào)(具PS/2或其他格式)轉(zhuǎn)換為USB信號(hào),以供一支持N鍵同時(shí)輸入(NKRO,N-keyrollover)的電腦所使用;在實(shí)施方式上該轉(zhuǎn)換電路可作為一獨(dú)立式PS/2轉(zhuǎn)USB鍵盤轉(zhuǎn)換器或是作為一USB鍵盤或KVM切換器的整合組件;該轉(zhuǎn)換電路包含一轉(zhuǎn)換器組,其產(chǎn)生具USB格式的鍵盤數(shù)據(jù)封包,其具有16位元組、64位元組等格式,以代表多達(dá)8個(gè)輔助鍵及分別為14、62個(gè)非輔助鍵的鍵壓信息。該轉(zhuǎn)換電路還包含一USB裝置控制器模組,其傳送16位元組等USB鍵盤數(shù)據(jù)以作為至電腦主機(jī)的一或多個(gè)USB數(shù)據(jù)封包,當(dāng)所述多個(gè)USB數(shù)據(jù)封包需要傳送每一鍵盤數(shù)據(jù)封包時(shí)(依據(jù)USB速度),它們?cè)谶B續(xù)輪詢期間內(nèi)被傳送。
文檔編號(hào)G06F3/033GK101957805SQ20101013499
公開日2011年1月26日 申請(qǐng)日期2010年2月26日 優(yōu)先權(quán)日2009年5月29日
發(fā)明者宋長悌, 張文, 曹黨生 申請(qǐng)人:宏正自動(dòng)科技股份有限公司