專利名稱:以虛擬信道進行鍵盤控制器與電腦系統間的信號傳輸方法
技術領域:
本發明是關于一種鍵盤控制器與電腦系統間的信號傳輸方法,特別是指一 種藉由鍵盤控制器中所建立的多個虛擬信道來進行鍵盤控制器與電腦系統間的 信號傳輸方法。
背景技術:
在一電腦系統中,鍵盤裝置為操作者輸入數據的重要輸入裝置。在現今廣 泛使用的鍵盤裝置一般是采用鍵盤裝置連接線連接于電腦主機的鍵盤裝置插座 中,以使電腦系統主機板的電源與頻率信號可送至鍵盤裝置裝置中、并使操作 者所輸入的按鍵數據得以傳送至電腦主機中。
圖1為一典型鍵盤裝置裝置與電腦主機間的簡略連接示意圖。在電腦系統1 中的主機板上包括有一中央處理器11,該中央處理器11可透過一鍵盤控制器
2(Keyboard Controller)而接收由鍵盤裝置3所輸入的按鍵數據。鍵盤控制器2實 際上即為一微處理器芯片(例如Intel8042),其與電腦系統1的中央處理器11之 間經由數據總線12及各相關的控制線13連接。而鍵盤控制器2與鍵盤裝置3 之間藉由一鍵盤連接纜線4連接,該鍵盤連接纜線4一般為四蕊纜線,其包括 有一 電源信號線+Vcc(Power Supply Signal Line)、 一接地線GND(Ground Line)、 一串行數據線KDAT(Serial Data Line)、以及一 KCLK脈波信號線(Sserial Clock Line)。
在鍵盤裝置3中亦包括有一鍵盤內建微處理器31 (Embeded Microcontroller), 其連接于按鍵數組32,可掃描按鍵數組中各個按鍵的狀況。當該鍵盤內建微處 理器31偵測到按鍵數組32中的任一個按鍵被按下時,即產生該按鍵的掃描碼 (Scan Code),該掃描碼經由鍵盤連接纜線4傳送至鍵盤控制器2中,以將該按 鍵掃描碼轉換成按鍵碼(Key Code),并將該按鍵碼暫存在數據緩沖器中。然后該 鍵盤控制器2會發出一中斷要求訊號INTR(Interrupt Request Signal)給電腦系統1 的中央處理器ll。該中央處理器11在接收到該中斷要求訊號INTR后,即可透 過預定的數據傳輸端口將暫存在鍵盤裝置緩沖器中的按鍵碼數據經由數據總線 12予以讀取。
在目前所廣泛使用的IBM兼容電腦系統中,鍵盤控制器除了傳統單純作為 鍵盤裝置數據的傳送之外,尚增加了其它特殊功能,例如快速鍵、電池充電偵 測等。鍵盤控制器2與電腦系統1間的傳輸端口預定地址為60H/64H及62H/66H, 其中60H/64H傳輸端口作為電腦系統1與鍵盤控制器2間的數據傳輸端口,而
62H/66H傳輸端口作為電腦系統1與鍵盤控制器2間的信號溝通用。
當電腦系統1下達控制命令至鍵盤控制器2、或是鍵盤控制器2發出SCI 訊號通知電腦系統l時,即是透過62H/66H傳輸端口。除此之外,62H/66H傳 輸端口亦負擔了其它的用途,例如在鍵盤控制器2發出SMI訊號通知電腦系統 1后,電腦系統1也是通過62H/66H傳輸端口查尋SMI事件代碼(Event Code)。 因此,當電腦系統與鍵盤控制器間的各種訊息或命令經由62H/66H通道傳遞時, 就有可能發生數據沖突,嚴重者甚至會造成系統異常。
發明內容
鑒于前述傳統鍵盤控制器與電腦系統間的訊號傳輸信道可能發生的數據沖 突問題,本發明的主要目的即是提供一種具有虛擬信號傳輸信道的鍵盤控制器, 應用虛擬信號輸出/輸入端口的方式,創造出多個虛擬輸出/輸入信道,以使該鍵 盤控制器與電腦系統間的同一個信號傳輸信道在同時發生二個以上的事件信號 時,不致發生數據沖突的狀況。
本發明的另一目的即是提供一種以虛擬信道進行鍵盤控制器與電腦系統間 的信號傳輸方法,其在鍵盤控制器的內存中建構出數個虛擬信道,以使鍵盤控 制器與電腦系統間在進行數據的傳送時,得以在鍵盤控制器內部分離出不同的 信號傳輸通路,藉以避免數據沖突的發生。
為達到上述目的,本發明的較佳實施例中先由該電腦系統的中央處理器下 達遞增信道命令至該鍵盤控制器的命令緩存器中,鍵盤控制器于收到該遞增通 道命令后,檢査目前虛擬信道有無數據存在命令緩存器中,若有,則將命令緩 存器中的數據備份至該目前的虛擬信道中,并將鍵盤控制器中的信號傳輸端口 連接至下一個虛擬通道。而當完成信號的傳送后,電腦系統會下達調節器遞減 信道的命令至該鍵盤控制器的命令緩存器中,鍵盤控制器于收到該遞減通道命 令后,檢査虛擬通道中是否有備份數據存在,若有,則將該備份數據回存到該 命令緩存器中,并將鍵盤控制器中的信號傳輸端口連接至上一個虛擬通道。
.本發明的其它目的及其設計,將藉由以下的較佳實施例及附圖作進一步的 說明。
圖1為一典型鍵盤裝置裝置與電腦主機間的簡略連接示意圖。 圖2為本發明中鍵盤控制器內部的控制電路圖。 圖3為本發明控制流程中,于虛擬信道調節遞增時的控制流程圖。 圖4為本發明控制流程中,于虛擬信道調節遞減時的控制流程圖。
具體實施方式
圖2為本發明中鍵盤控制器2內部的控制電路圖,圖中相同于圖1所示的 構件及信號標示為相同編號。在該控制電路中, 一控制及選擇邏輯電路21 (Control and Select Logic Circuit)經由相關的控制線13連接至電腦系統1的中央 處理器11,該控制線13例如包括有地址線Addr、寫入控制線WR、讀取控制線 RD、芯片選擇線CS、重置線RST等。該控制及選擇邏輯電路21可由一頻率產 生器22 (OSC)供應頻率信號(Clock Signal)。
在該鍵盤控制器2內還包括有一狀態緩存器23 (State Register)、 一命令緩存 器24 (Command Register)、 一命令邏輯電路25 (Command Logic Circuit)、 一數據 輸出入緩存器26 (Data I/O Register)、 一移位緩存器27 (Shift Register)。電腦系統 1的中央處理器11可以在控制及選擇邏輯電路21及命令邏輯電路25的控制之 下,通過狀態緩存器23而讀取鍵盤控制器2的各項狀態及錯誤信息。該中央處 理器11亦可寫入命令至該命令緩存器24中。而由鍵盤裝置所送入的按鍵數據 由串行數據線KDAT送入,經過移位緩存器27之后,被送到數據輸出入緩存器 26中,電腦系統1的中央處理器11可以通過數據總線12而存取該數據輸出入 緩存器26中的數據。鍵盤控制器2與電腦系統1間的數據傳輸端口地址為 60H/64H,而控制命令及訊息信號的傳輸端口地址為62H/66H。
在本發明中,于該鍵盤控制器2內部更包括有多個虛擬通道Ll、L2、L3…Lx, 以使得電腦系統1的中央處理器11與鍵盤控制器2在進行訊息或命令的傳遞時, 可以使其間的各種命令或事件訊息得以各自經由不同的通道,而可與其它通道 劃清界限,如此以解決數據沖突的發生。
前述的虛擬通道(或稱為虛擬輸出入端口)可存在鍵盤控制器2內部的內存 中。電腦系統1的中央處理器11與鍵盤控制器2在進行訊息或命令的傳遞時, 最后仍是通過原有硬件62H/66H傳輸端口作數據傳輸,但本發明以軟件方式以 虛擬信道仿真輸出/輸入多任務作業方式,仿真出一調節器功能,將實際的硬件 傳輸端口 62H/66H信道接通至鍵盤控制器內部的選定虛擬通道。如此,可以使 其間的各種命令或事件訊息得以各自經由不同的通道,而可與其它通道劃清界 限,如此以解決數據沖突的發生。
如圖3所示,為本發明于執行虛擬通道遞增時的控制流程圖。配合圖2所 示的控制電路圖,對本發明的控制流程說明如后-
首先,在該鍵盤控制器2的內存中建立數個虛擬通道L1、 L2、 L3…Lx(步 驟101)。在該電腦系統1的中央處理器11下達控制命令至鍵盤控制器2時,本 發明會先由電腦系統1的中央處理器11下達遞增通道命令(Increasing Channel Command)至鍵盤控制器2中的62H/66H命令緩存器24中(步驟102)。
鍵盤控制器2在收到該中央處理器11所下達的遞增通道命令后,先檢查目 前虛擬通道(假設目前的虛擬通道為Lx-l)有無數據存在62H/66H命令緩存器24 中(步驟103)。若該命令緩存器24中有數據尚未被取走,則將命令緩存器24中
的數據先備份至該目前的虛擬通道Lx-l中(步驟104),然后再將鍵盤控制器中的 62H/66H傳輸端口連接至下一個虛擬通道Lx(步驟105)。在步驟103中,若沒有 數據存在該命令緩存器24中,則無須執行備份數據,如此便可完成調節器遞增 通道的動作。
圖4所示,為本發明于虛擬信道調節遞減時的控制流程圖。在前述的遞增 虛擬通道后,若已完成數據傳輸(步驟201),則電腦系統必須下達調節器遞減通 道的命令。若目前的虛擬信道為Lx,電腦系統1的中央處理器11會下達遞減信 道命令(Decreasing Channel Command)至鍵盤控制器2中的62H/66H命令緩存器 24中(步驟202)。
鍵盤控制器2在收到該中央處理器11所下達的遞減通道命令后,先檢查虛 擬通道Lx-l中是否有備份數據存在(步驟203),若有備份數據存在,則將此備份 數據回存到62H/66H命令緩存器24中(步驟204)中,然后再將鍵盤控制器中的 62H/66H傳輸端口連接至上一個虛擬通道Lx-l(步驟205)。在步驟203中,若沒 有備份數據存在該命令緩存器24中,則無須執行回存的動作。如此便可完成調 節器遞減通道的動作。
在前述的調節器遞增信道命令及遞減信道命令分別為AOH及A1H。例如當 電腦系統1需要從虛擬信道Ll遞增至虛擬通道L2時,必須由該電腦系統1的 中央處理器11寫入AOH的數據至命令緩存器24中,當鍵盤控制器收到該命令 后,即執行虛擬通道遞增的動作。相反地,若要從虛擬信道L2遞減至虛擬通道 Ll時,必須由該電腦系統1的中央處理器11寫入A1H的數據至命令緩存器24 中,當鍵盤控制器收到該命令后,即執行虛擬通道遞減的動作。
藉由上述的說明可知,本發明所提供的以虛擬信道進行鍵盤控制器與電腦 系統間的信號傳輸方法,確能藉由虛擬信號輸出/輸入端口的方式,創造出多個 虛擬輸出/輸入信道,以使該鍵盤控制器與電腦系統間的同一個信號傳輸信道在 同時發生二個以上的事件信號時,不致發生數據沖突的狀況。因此,本發明具 有高度的產業利用價值。
惟以上的實施例說明,僅為本發明的較佳實施例說明,凡習知此項技術者 當可依據本發明的上述實施例說明而作其它種種的改良及變化。然而這些依據 本發明實施例所作的種種改良及變化,當仍屬于本發明的發明精神及界定的權 利要求范圍內。
權利要求
1、一種以虛擬信道進行鍵盤控制器與電腦系統間的信號傳輸方法,該電腦系統的中央處理器通過一鍵盤控制器及鍵盤連接纜線而連接一鍵盤裝置,該鍵盤控制器通過一信號傳輸端口與該電腦系統的中央處理器進行信號的傳送,其特征在于,該方法包括下列步驟在該鍵盤控制器中建立多個虛擬通道;于該電腦系統的中央處理器下達控制命令至鍵盤控制器時,先由該中央處理器下達遞增信道命令至該鍵盤控制器的命令緩存器中;鍵盤控制器于收到該遞增通道命令后,執行遞增虛擬信道的控制程序;判別是否完成信號的傳送,當完成信號的傳送時,電腦系統下達調節器遞減信道的命令至該鍵盤控制器的命令緩存器中;鍵盤控制器于收到該遞減通道命令后,執行遞減虛擬信道的控制程序。
2、 根據權利要求1所述的以虛擬信道進行鍵盤控制器與電腦系統間的信號 傳輸方法,其特征在于所述虛擬信道建立在該鍵盤控制器的內存中。
3、 根據權利要求1所述的以虛擬信道進行鍵盤控制器與電腦系統間的信號 傳輸方法,其特征在于所述電腦系統的中央處理器通過62H/66H地址的信號 傳輸端口與鍵盤控制器進行信號的括送。
4、 根據權利要求1所述的以虛擬信道進行鍵盤控制器與電腦系統間的信號 傳輸方法,其特征在于,所述遞增虛擬信道的控制程序包括下列步驟檢查目前虛擬信道有無數據存在命令緩存器中;若該命令緩存器中有數據尚未被取走,則將命令緩存器中的數據備份至該 目前的虛擬通道中;將鍵盤控制器中的信號傳輸端口連接至下一個虛擬通道。
5、 根據權利要求4所述的以虛擬信道進行鍵盤控制器與電腦系統間的信號 傳輸方法,其特征在于所述虛擬通道遞增至下一個虛擬信道時,由電腦系統 的中央處理器寫入AOH的數據至該鍵盤控制器的命令緩存器中。
6、 根據權利要求1所述的以虛擬信道進行鍵盤控制器與電腦系統間的信號 傳輸方法,其特征在于,所述遞減虛擬信道的控制程序包括下列步驟檢查虛擬信道中是否有備份數據存在;若該虛擬信道中有備份數據存在,則將該備份數據回存到該命令緩存器中; 將鍵盤控制器中的信號傳輸端口連接至上一個虛擬通道。
7、 根據權利要求6所述的以虛擬信道進行鍵盤控制器與電腦系統間的信號 傳輸方法,其特征在于所述虛擬通道遞減至上一個虛擬信道時,由電腦系統 的中央處理器寫入A1H的數據至該鍵盤控制器的命令緩存器中。
全文摘要
一種以虛擬信道進行鍵盤控制器與電腦系統間的信號傳輸方法,在電腦系統的中央處理器下達控制命令至鍵盤控制器時,先由該中央處理器下達遞增信道命令至該鍵盤控制器的命令緩存器中,鍵盤控制器于收到該遞增通道命令后,檢查目前虛擬信道有無數據存在命令緩存器中,若有,則將命令緩存器中的數據備份至該目前的虛擬信道中,并將鍵盤控制器中的信號傳輸端口連接至下一個虛擬通道。而當完成信號的傳送后,電腦系統會下達遞減信道命令至該鍵盤控制器的命令緩存器中,鍵盤控制器于收到該遞減通道命令后,檢查虛擬通道中是否有備份數據存在,若有,則將該備份數據回存到該命令緩存器中,并將鍵盤控制器中的信號傳輸端口連接至上一個虛擬通道。
文檔編號G06F3/02GK101354610SQ20071002940
公開日2009年1月28日 申請日期2007年7月27日 優先權日2007年7月27日
發明者李宏彬 申請人:佛山市順德區順達電腦廠有限公司;神基科技股份有限公司