JPH09204253A - 多目的キイボード・インターフェース - Google Patents
多目的キイボード・インターフェースInfo
- Publication number
- JPH09204253A JPH09204253A JP8244779A JP24477996A JPH09204253A JP H09204253 A JPH09204253 A JP H09204253A JP 8244779 A JP8244779 A JP 8244779A JP 24477996 A JP24477996 A JP 24477996A JP H09204253 A JPH09204253 A JP H09204253A
- Authority
- JP
- Japan
- Prior art keywords
- keyboard
- control circuit
- interface
- serial
- smi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M11/00—Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
- H03M11/20—Dynamic coding, i.e. by key scanning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
(57)【要約】
【課題】 改良多目的多機能キイボードインターフェー
スシステムの提供 【解決手段】 多目的キイボード(KB)コントローラがマ
トリクスKB制御回路、シリアルKB制御回路、PC/ATポー
ト制御回路、 RTC制御用外部インターフェースを含む。
これらの制御回路はコンピュータシステムのインターフ
ェース論理に並列に結合し、KBとの間の読み出し、書き
込み又はキイ押下事象捕捉のためコンピュータシステム
の内蔵 SMI割り込みメカニズムを使用する。システムの
使われる特定のPCで利用するKB制御回路の1つを選択す
るのにソフトウェアBIOS設定を用いる。KBインターフェ
ースの使う割り込みスキームは処理装置への SMI割り込
みとSMIに基づくKBとの間の読み出し、書き込み用ソフ
トウェアルーチンを用いて特別の専用割り込みハードウ
ェアを省略してシステムが DOS PC/ATポート60/64hソフ
トウェアインターフェースと引き続き両立できるように
する。
スシステムの提供 【解決手段】 多目的キイボード(KB)コントローラがマ
トリクスKB制御回路、シリアルKB制御回路、PC/ATポー
ト制御回路、 RTC制御用外部インターフェースを含む。
これらの制御回路はコンピュータシステムのインターフ
ェース論理に並列に結合し、KBとの間の読み出し、書き
込み又はキイ押下事象捕捉のためコンピュータシステム
の内蔵 SMI割り込みメカニズムを使用する。システムの
使われる特定のPCで利用するKB制御回路の1つを選択す
るのにソフトウェアBIOS設定を用いる。KBインターフェ
ースの使う割り込みスキームは処理装置への SMI割り込
みとSMIに基づくKBとの間の読み出し、書き込み用ソフ
トウェアルーチンを用いて特別の専用割り込みハードウ
ェアを省略してシステムが DOS PC/ATポート60/64hソフ
トウェアインターフェースと引き続き両立できるように
する。
Description
【0001】
【発明の属する技術分野】キイボード・インターフェー
スは、例えばパーソナル・コンピュータ(PC)のようなコ
ンピュータのキイボードと、該コンピュータの中央処理
ユニット(CPU) とを相互に接続するのに使われる。典型
的にはキイボード・インターフェースは、或る特定のタ
イプのキイボード構成とコンピュータとの間の、インタ
ーフェースをとるように設計されている。
スは、例えばパーソナル・コンピュータ(PC)のようなコ
ンピュータのキイボードと、該コンピュータの中央処理
ユニット(CPU) とを相互に接続するのに使われる。典型
的にはキイボード・インターフェースは、或る特定のタ
イプのキイボード構成とコンピュータとの間の、インタ
ーフェースをとるように設計されている。
【0002】
【従来の技術】過去においては、このインターフェース
を実現するために、選定されたゲートと共に別個のマイ
クロコントローラが典型的に用いられた。しかし、すべ
てのタイプのキイボードに対する標準的な汎用キイボー
ド・インターフェース、すなわち多目的キイボード・イ
ンターフェースは存在しなかった。標準的な卓上型 DOS
コンピュータはシリアル(serial)キイボードを用い、そ
のキイボードは多数の専用キイ(dedicated keys)をその
上に持っている。従ってこのキイボードの供給するシリ
アルな信号は、該キイボードのシリアルな出力で運営さ
れるように設計された適切なキイボード・インターフェ
ース・システムによってコンピュータとのインターフェ
ースをとるのである。典型的に用いられるシリアル・キ
イボード・インターフェースは、データストリームを作
り出し、割り込みメカニズムを制御するために、マイク
ロコントローラを設ける。しかし携帯型のコンピュータ
は典型的に、卓上型のシリアル・キイボードよりもずっ
と少数のキイしか持たないキイボードを使用する。機能
のすべて及びその他の英数字信号を、そのような数を減
らしたキイを持つキイボードから求めることを許容する
ために、マトリクス(matrix)キイボード・システムが採
用される。マトリクス・キイボードでは種々のキイの組
合せの同時操作により、固有の信号セットが与えられ、
それを更に組み合わせてコンピュータの CPUへの所望の
動作信号が生成される。マトリクス・キイボードで操作
するような設計のキイボード・インターフェースは、必
然的にシリアル・キイボード・インターフェースとは異
なる動作をするように設計された。そればかりでなく、
マイクロコントローラへのバス・インターフェースも、
キイボードとコンピュータの CPUとの間のインターフェ
ースをとるために用いられた。こられすべての場合に、
BIOS/DIOSプログラマーの立場から云えば DOSと両立性
のあるインターフェースを供給する必要がある。
を実現するために、選定されたゲートと共に別個のマイ
クロコントローラが典型的に用いられた。しかし、すべ
てのタイプのキイボードに対する標準的な汎用キイボー
ド・インターフェース、すなわち多目的キイボード・イ
ンターフェースは存在しなかった。標準的な卓上型 DOS
コンピュータはシリアル(serial)キイボードを用い、そ
のキイボードは多数の専用キイ(dedicated keys)をその
上に持っている。従ってこのキイボードの供給するシリ
アルな信号は、該キイボードのシリアルな出力で運営さ
れるように設計された適切なキイボード・インターフェ
ース・システムによってコンピュータとのインターフェ
ースをとるのである。典型的に用いられるシリアル・キ
イボード・インターフェースは、データストリームを作
り出し、割り込みメカニズムを制御するために、マイク
ロコントローラを設ける。しかし携帯型のコンピュータ
は典型的に、卓上型のシリアル・キイボードよりもずっ
と少数のキイしか持たないキイボードを使用する。機能
のすべて及びその他の英数字信号を、そのような数を減
らしたキイを持つキイボードから求めることを許容する
ために、マトリクス(matrix)キイボード・システムが採
用される。マトリクス・キイボードでは種々のキイの組
合せの同時操作により、固有の信号セットが与えられ、
それを更に組み合わせてコンピュータの CPUへの所望の
動作信号が生成される。マトリクス・キイボードで操作
するような設計のキイボード・インターフェースは、必
然的にシリアル・キイボード・インターフェースとは異
なる動作をするように設計された。そればかりでなく、
マイクロコントローラへのバス・インターフェースも、
キイボードとコンピュータの CPUとの間のインターフェ
ースをとるために用いられた。こられすべての場合に、
BIOS/DIOSプログラマーの立場から云えば DOSと両立性
のあるインターフェースを供給する必要がある。
【0003】キイボード・インターフェース中に別個の
マイクロコントローラを、インターフェースを実行する
のに必要なゲートと共に用いることは、相対的に大きな
サイズのダイ(die) を必要とするので、相対的に高価で
ある。そのような経費は、初期の IBM PC/ATコンピュー
タと同じくマトリクスキイボード用に別個の若しくは異
なるキイボード・インターフェースの必要を考慮すると
きには、特に顕著なものになる。キイボード・インター
フェースの製造業者は、これらのアプリケーションの各
々に対して異なるインターフェースの設計と在庫とを要
求された;コンピュータの製造業者もまた、上述のよう
に種々のタイプのパーソナル・コンピュータに対して、
異なるキイボード・インターフェースを使用することを
要求された。
マイクロコントローラを、インターフェースを実行する
のに必要なゲートと共に用いることは、相対的に大きな
サイズのダイ(die) を必要とするので、相対的に高価で
ある。そのような経費は、初期の IBM PC/ATコンピュー
タと同じくマトリクスキイボード用に別個の若しくは異
なるキイボード・インターフェースの必要を考慮すると
きには、特に顕著なものになる。キイボード・インター
フェースの製造業者は、これらのアプリケーションの各
々に対して異なるインターフェースの設計と在庫とを要
求された;コンピュータの製造業者もまた、上述のよう
に種々のタイプのパーソナル・コンピュータに対して、
異なるキイボード・インターフェースを使用することを
要求された。
【0004】
【発明が解決しようとする課題】単一の多機能キイボー
ド・インターフェースであって、標準的なシリアル・キ
イボードにも、マトリクス・キイボードにも、或いはマ
イクロコントローラへのバス・インターフェースにも C
PUを接続するのに用いられるインターフェースを提供す
ることが望ましい。
ド・インターフェースであって、標準的なシリアル・キ
イボードにも、マトリクス・キイボードにも、或いはマ
イクロコントローラへのバス・インターフェースにも C
PUを接続するのに用いられるインターフェースを提供す
ることが望ましい。
【0005】従って、本発明の目的は改良されたキイボ
ード・インターフェース・システムを提供することであ
る。
ード・インターフェース・システムを提供することであ
る。
【0006】本発明のもう1つの目的は、改良された多
目的のキイボード・インターフェース・システムを提供
することである。
目的のキイボード・インターフェース・システムを提供
することである。
【0007】本発明の更にもう1つの目的は、シリアル
・キイボードとコンピュータの CPUとの間、又はマトリ
クス・キイボードとコンピュータの CPUとの間、のいず
れともインターフェースを与えることのできる改良され
た多目的のキイボード・インターフェース・システムを
提供することである。
・キイボードとコンピュータの CPUとの間、又はマトリ
クス・キイボードとコンピュータの CPUとの間、のいず
れともインターフェースを与えることのできる改良され
た多目的のキイボード・インターフェース・システムを
提供することである。
【0008】本発明の更にもう1つの目的は、小規模の
ハードウェアしか必要とせず、専用のハードウェアに依
存する代わりにソフトウェアの制御するキイボード読み
出し/書き込み機能をもつ改良された多目的のキイボー
ド・インターフェース・システムを提供することであ
る。
ハードウェアしか必要とせず、専用のハードウェアに依
存する代わりにソフトウェアの制御するキイボード読み
出し/書き込み機能をもつ改良された多目的のキイボー
ド・インターフェース・システムを提供することであ
る。
【0009】
【課題を解決するための手段】本発明の好適実施例によ
れば、種々の異なるタイプのキイボードをコンピュータ
にインターフェースさせる多目的キイボード・コントロ
ーラは、異なるタイプのキイボードの各々に対し、別々
の制御回路を有してそれによりシステムを操作する。コ
ンピュータ・インターフェース論理は、特定のシステム
で使用するために特定の制御回路を選択するようプログ
ラムされており、キイボードの読み出し/書き込み若し
くはキイ押下という事象の捕捉のために内蔵された SMI
割り込みメカニズムを利用して、上記選定された制御回
路に信号を供給し、上記選定された制御回路から信号を
受信するために、上記選定されたシステムにアドレスす
る。
れば、種々の異なるタイプのキイボードをコンピュータ
にインターフェースさせる多目的キイボード・コントロ
ーラは、異なるタイプのキイボードの各々に対し、別々
の制御回路を有してそれによりシステムを操作する。コ
ンピュータ・インターフェース論理は、特定のシステム
で使用するために特定の制御回路を選択するようプログ
ラムされており、キイボードの読み出し/書き込み若し
くはキイ押下という事象の捕捉のために内蔵された SMI
割り込みメカニズムを利用して、上記選定された制御回
路に信号を供給し、上記選定された制御回路から信号を
受信するために、上記選定されたシステムにアドレスす
る。
【0010】
【実施例】以下、図中の引用番号は、同じコンポネント
に対してはすべての図面に共通である。図1は本発明の
好適実施例を表す概略図である。図1に示す回路は、標
準デスクトップ形又は携帯形パーソナル・コンピュータ
で用いられるタイプのCPU20を含み、それはバスによっ
て標準構成のシステム・コントローラ22と相互に接続し
ている。更に、システム・コントローラ22はバスによっ
てインターフェース論理24と相互に接続して、システム
を運用するための制御信号と共に、インターフェース論
理24にデータを供給し、インターフェース論理24からデ
ータを受け取る。図1のこの部分は在来からの普通のも
ので、CPU 20, システム・コントローラ22, インターフ
ェース論理24の相互間の相互接続も在来からの普通のも
のである。
に対してはすべての図面に共通である。図1は本発明の
好適実施例を表す概略図である。図1に示す回路は、標
準デスクトップ形又は携帯形パーソナル・コンピュータ
で用いられるタイプのCPU20を含み、それはバスによっ
て標準構成のシステム・コントローラ22と相互に接続し
ている。更に、システム・コントローラ22はバスによっ
てインターフェース論理24と相互に接続して、システム
を運用するための制御信号と共に、インターフェース論
理24にデータを供給し、インターフェース論理24からデ
ータを受け取る。図1のこの部分は在来からの普通のも
ので、CPU 20, システム・コントローラ22, インターフ
ェース論理24の相互間の相互接続も在来からの普通のも
のである。
【0011】インターフェース論理24の出力は、典型的
には80ビット幅のデータバス26によって、4つの制御回
路28, 36, 42, 48と相互に接続している。これらの制御
回路が一緒になって多目的キイボード・コントローラと
して動作し、該多目的キイボード・コントローラは、マ
トリクス(matrix)制御回路28の制御の下にマトリクス・
キイボードをサポートし、シリアル(serial)制御回路36
の制御の下にシリアル・キイボードをサポートし、また
回路42は PC/ATポート制御回路であり、回路48は実時間
クロック(RTC) 用外部インターフェースである。
には80ビット幅のデータバス26によって、4つの制御回
路28, 36, 42, 48と相互に接続している。これらの制御
回路が一緒になって多目的キイボード・コントローラと
して動作し、該多目的キイボード・コントローラは、マ
トリクス(matrix)制御回路28の制御の下にマトリクス・
キイボードをサポートし、シリアル(serial)制御回路36
の制御の下にシリアル・キイボードをサポートし、また
回路42は PC/ATポート制御回路であり、回路48は実時間
クロック(RTC) 用外部インターフェースである。
【0012】典型的にはマトリクス制御回路28に接続す
る(図示してない)マトリクス・キイボードは16×8マ
トリクス・キイボードであり、このキイボードからの入
力信号がバス30に与えられ、制御回路28からの出力信号
がキイボード出力バス32に供給される。このシステムは
SMI(システム管理中断) 割り込み上で動作するよう設計
されており、キイ押下SMI 信号は導線34上に与えられ
る。マトリクス制御回路28はキイ押(押上及び押下)割
り込みをサポートする論理であり且つインターフェース
論理24及びシステム・コントローラ22を通ってCPU 20に
供給される論理を含むことに注意する必要がある。マト
リクス制御回路28は更に標準走査モードにより押下され
る値を記憶する論理も含む。
る(図示してない)マトリクス・キイボードは16×8マ
トリクス・キイボードであり、このキイボードからの入
力信号がバス30に与えられ、制御回路28からの出力信号
がキイボード出力バス32に供給される。このシステムは
SMI(システム管理中断) 割り込み上で動作するよう設計
されており、キイ押下SMI 信号は導線34上に与えられ
る。マトリクス制御回路28はキイ押(押上及び押下)割
り込みをサポートする論理であり且つインターフェース
論理24及びシステム・コントローラ22を通ってCPU 20に
供給される論理を含むことに注意する必要がある。マト
リクス制御回路28は更に標準走査モードにより押下され
る値を記憶する論理も含む。
【0013】シリアル・キイボード制御36はデータを送
出するのに標準的 IBM PS/2 2線インターフェースを使
用する。しかし、4MHz までの範囲でキイボード制御論
理がシリアルなストリームをサポートできるように、こ
れは非同期のやり方で行われる。これを行うことによ
り、シリアル制御回路36は種々のキイボード製造業者の
タイミングの要求条件に適合できる柔軟性をもつ。図1
に示すように、入力/出力(I/O) 情報は導線38上を通っ
て供給される;シリアル・キイボード(図示してない)
と相互に接続するシリアル・コントローラへのクロック
情報及び該シリアル・コントローラからのクロック情報
は導線40上を通って供給される。茲で再び、処理装置へ
の標準的 SMI割り込みが、 CPUからキイボードへの値の
読み出しやキイボードから CPUへの値の書き込みのため
に用いられ、それにより特別のハードウェア割り込みレ
ベル及び余分のゲートを専用に設ける必要がなくなる。
出するのに標準的 IBM PS/2 2線インターフェースを使
用する。しかし、4MHz までの範囲でキイボード制御論
理がシリアルなストリームをサポートできるように、こ
れは非同期のやり方で行われる。これを行うことによ
り、シリアル制御回路36は種々のキイボード製造業者の
タイミングの要求条件に適合できる柔軟性をもつ。図1
に示すように、入力/出力(I/O) 情報は導線38上を通っ
て供給される;シリアル・キイボード(図示してない)
と相互に接続するシリアル・コントローラへのクロック
情報及び該シリアル・コントローラからのクロック情報
は導線40上を通って供給される。茲で再び、処理装置へ
の標準的 SMI割り込みが、 CPUからキイボードへの値の
読み出しやキイボードから CPUへの値の書き込みのため
に用いられ、それにより特別のハードウェア割り込みレ
ベル及び余分のゲートを専用に設ける必要がなくなる。
【0014】PC/ATコンピュータがCPU 20として使われ
てキイボード(図示してない)に接続されているとき
は、PS/ATポート制御回路42も、回路42を選定するソフ
トウェア制御を用いるインターフェース論理24を通して
システムのその他の部分との両立性を維持し続ける。図
1中に注記してある通り、読み出し SMI信号は導線44上
に与えられ、また書き込み SMI信号は導線46上に与えら
れて、それによりこの目的に使われるポート60及びポー
ト64を介して制御回路42とPC/AT標準コンピュータとの
インターフェースが成り立つ。
てキイボード(図示してない)に接続されているとき
は、PS/ATポート制御回路42も、回路42を選定するソフ
トウェア制御を用いるインターフェース論理24を通して
システムのその他の部分との両立性を維持し続ける。図
1中に注記してある通り、読み出し SMI信号は導線44上
に与えられ、また書き込み SMI信号は導線46上に与えら
れて、それによりこの目的に使われるポート60及びポー
ト64を介して制御回路42とPC/AT標準コンピュータとの
インターフェースが成り立つ。
【0015】もしそうしたいならば、16及び8ピン・マ
トリクス・キイボードのピン上にマルチプレクスされた
5ピンの制御バス及び8ピンのアドレス/データ・バス
を介して制御回路48を通り、任意で設ける(optional)マ
イクロコントローラにアクセスすることができる。キイ
ボードから出る情報は導線50上に与えられ、キイボード
に入る情報は導線52上に与えられることは、図1に示す
通りである。
トリクス・キイボードのピン上にマルチプレクスされた
5ピンの制御バス及び8ピンのアドレス/データ・バス
を介して制御回路48を通り、任意で設ける(optional)マ
イクロコントローラにアクセスすることができる。キイ
ボードから出る情報は導線50上に与えられ、キイボード
に入る情報は導線52上に与えられることは、図1に示す
通りである。
【0016】キイボード・インターフェースの回路28,
36, 42, 48のすべてが使用する割り込みスキームは、処
理装置20への SMI割り込みを用い、また回路28, 36, 4
2, 48のうちの選定された1つを通して制御される選定
されたキイボードとの間で、値の読み出し/書き込みを
行うための SMIに基づくソフトウェア・ルーチンを使用
する。これにより特別のハードウェア割り込みレベルを
専用に設ける必要がなくなり、従ってキイボード・コン
トローラ・システムの全体が、既知の DOS PC/ATポート
60/64hソフトウェア・インターフェースと両立するよう
になる。その結果、制御回路28, 36, 42, 48のすべてを
通して、キイボード・インターフェースは、3つの内蔵
されたインターフェースのうちの1つから PC/ATポート
60/64hインターフェースをエミュレートし、マトリクス
制御28では標準16×8マトリクス・キイボード・インタ
ーフェースをエミュレートし、シリアル制御回路36では
標準シリアル・キイボード・インターフェースをエミュ
レートし、インターフェース48ではマイクロコントロー
ラへの外部バス接続をエミュレートする。シリアル・キ
イボード・インターフェースを持つ SMI駆動されるソフ
トウェア・ルーチンを利用することにより全インターフ
ェース・システムがハードウェアのサイズを小さくして
も最大の柔軟性を確保する。
36, 42, 48のすべてが使用する割り込みスキームは、処
理装置20への SMI割り込みを用い、また回路28, 36, 4
2, 48のうちの選定された1つを通して制御される選定
されたキイボードとの間で、値の読み出し/書き込みを
行うための SMIに基づくソフトウェア・ルーチンを使用
する。これにより特別のハードウェア割り込みレベルを
専用に設ける必要がなくなり、従ってキイボード・コン
トローラ・システムの全体が、既知の DOS PC/ATポート
60/64hソフトウェア・インターフェースと両立するよう
になる。その結果、制御回路28, 36, 42, 48のすべてを
通して、キイボード・インターフェースは、3つの内蔵
されたインターフェースのうちの1つから PC/ATポート
60/64hインターフェースをエミュレートし、マトリクス
制御28では標準16×8マトリクス・キイボード・インタ
ーフェースをエミュレートし、シリアル制御回路36では
標準シリアル・キイボード・インターフェースをエミュ
レートし、インターフェース48ではマイクロコントロー
ラへの外部バス接続をエミュレートする。シリアル・キ
イボード・インターフェースを持つ SMI駆動されるソフ
トウェア・ルーチンを利用することにより全インターフ
ェース・システムがハードウェアのサイズを小さくして
も最大の柔軟性を確保する。
【0017】図2は SMI駆動信号を供給するため論理24
とシリアル・キイボードとのインターフェースをとるシ
リアル制御回路36の詳細なブロック図である。図2に示
すシリアル制御回路36の心臓部には、送信/受信状態マ
シーン60が在る。このマシーンが図1に示すキイボード
クロック40とインターフェースをとり、また、導線61上
のキイボード(図示してない)への、及び該キイボード
からの SMI信号の供給も行う。
とシリアル・キイボードとのインターフェースをとるシ
リアル制御回路36の詳細なブロック図である。図2に示
すシリアル制御回路36の心臓部には、送信/受信状態マ
シーン60が在る。このマシーンが図1に示すキイボード
クロック40とインターフェースをとり、また、導線61上
のキイボード(図示してない)への、及び該キイボード
からの SMI信号の供給も行う。
【0018】インターフェース回路36を動作させる(回
路28, 42, 48についても同様)ための基本タイミング信
号はバス26を通って来るインターフェース論理から求め
られ、周波数分割器68に供給される。典型的にはクロッ
ク信号として16.35 kHz(60マイクロ秒) まで分割逓減さ
れた周波数が選定される。次いで周波数分割器68の出力
はパルス生成器70に供給され、該パルス生成器70は2つ
の出力を送信/受信状態マシーン60に供給する。その2
つの出力のうちの一方が周波数分割器68から得られた各
タイミング信号の立ち上がり縁(rising edge) パルスで
あり、もう一方が立ち下がり縁(falling edge)パルスで
ある。このようにして状態マシーン60上のキイボードク
ロック40の基本動作はパルス生成器70によって制御され
る。
路28, 42, 48についても同様)ための基本タイミング信
号はバス26を通って来るインターフェース論理から求め
られ、周波数分割器68に供給される。典型的にはクロッ
ク信号として16.35 kHz(60マイクロ秒) まで分割逓減さ
れた周波数が選定される。次いで周波数分割器68の出力
はパルス生成器70に供給され、該パルス生成器70は2つ
の出力を送信/受信状態マシーン60に供給する。その2
つの出力のうちの一方が周波数分割器68から得られた各
タイミング信号の立ち上がり縁(rising edge) パルスで
あり、もう一方が立ち下がり縁(falling edge)パルスで
ある。このようにして状態マシーン60上のキイボードク
ロック40の基本動作はパルス生成器70によって制御され
る。
【0019】周波数分割器68の出力はまた、タイムアウ
ト論理回路72にも供給され、該タイムアウト論理回路は
状態マシーン60にタイムアウト信号を供給し、状態マシ
ーン60からクリア信号を受け取る。タイムアウト論理
は、タイムアウト信号又はタイムアウトパルスを供給
し、また状態マシーン60に付帯するキイボードの非同期
動作と整合するクリアパルスを受け取るように動作し
て、それにより非同期動作が実行される。
ト論理回路72にも供給され、該タイムアウト論理回路は
状態マシーン60にタイムアウト信号を供給し、状態マシ
ーン60からクリア信号を受け取る。タイムアウト論理
は、タイムアウト信号又はタイムアウトパルスを供給
し、また状態マシーン60に付帯するキイボードの非同期
動作と整合するクリアパルスを受け取るように動作し
て、それにより非同期動作が実行される。
【0020】状態マシーン60は更に、外部のシリアル・
キイボードからのデータを載せて来る I/O導線38からの
入力信号を受け取るためにシフトレジスタ62及び64が状
態マシーン60に結合しているときはその2つのシフトレ
ジスタも制御する;シフトレジスタ64は、状態マシーン
60からシフトレジスタ62及び64に供給されたシフト信号
の制御の下にデータを出力して I/O導線38上の外部のキ
イボードに供給する。シフトレジスタ62から入って来た
データの出力は、CPU 20により使用されるように、シフ
トレジスタ62からバス26を通ってインターフェース論理
24に、平行して供給される。同様に、インターフェース
論理24からの制御信号はバス26を通ってシフトレジスタ
64に供給され、シフトレジスタ64からはこれらの信号が
入力/出力導線38上にシリアルにシフト出力されて、図
2のように制御回路36がそれに接続されているシリアル
・キイボードの従来型の制御を実行する。
キイボードからのデータを載せて来る I/O導線38からの
入力信号を受け取るためにシフトレジスタ62及び64が状
態マシーン60に結合しているときはその2つのシフトレ
ジスタも制御する;シフトレジスタ64は、状態マシーン
60からシフトレジスタ62及び64に供給されたシフト信号
の制御の下にデータを出力して I/O導線38上の外部のキ
イボードに供給する。シフトレジスタ62から入って来た
データの出力は、CPU 20により使用されるように、シフ
トレジスタ62からバス26を通ってインターフェース論理
24に、平行して供給される。同様に、インターフェース
論理24からの制御信号はバス26を通ってシフトレジスタ
64に供給され、シフトレジスタ64からはこれらの信号が
入力/出力導線38上にシリアルにシフト出力されて、図
2のように制御回路36がそれに接続されているシリアル
・キイボードの従来型の制御を実行する。
【0021】図2の回路は、任意のキイボード・モード
の SMI鉤(hooks) を持つポート60及び64(標準PC/ATポ
ート)をエミュレートする機能を持つ。マトリクス・キ
イボード用の従来型のモードは、制御回路42により制御
されるものとして図1に示した PC/ATキイボードの動作
のように SMI信号に応答するものである。シリアル制御
回路36を SMI信号で行動するようにもさせることによ
り、インターフェース論理24から回路28, 36, 42, 48の
うちの所望の1つにアドレスし又はその1つを選定する
ように設定された単純なソフトウェア(BIOS)は、シリア
ル制御回路36が選定されるが、それが SMIポート60/64h
SMIアクセスをエミュレートすることにより動作すると
きには、システムがソフトウェアでエミュレートされた
シリアル・キイボードに類似のモードを持つようにする
ことを可能にさせる。
の SMI鉤(hooks) を持つポート60及び64(標準PC/ATポ
ート)をエミュレートする機能を持つ。マトリクス・キ
イボード用の従来型のモードは、制御回路42により制御
されるものとして図1に示した PC/ATキイボードの動作
のように SMI信号に応答するものである。シリアル制御
回路36を SMI信号で行動するようにもさせることによ
り、インターフェース論理24から回路28, 36, 42, 48の
うちの所望の1つにアドレスし又はその1つを選定する
ように設定された単純なソフトウェア(BIOS)は、シリア
ル制御回路36が選定されるが、それが SMIポート60/64h
SMIアクセスをエミュレートすることにより動作すると
きには、システムがソフトウェアでエミュレートされた
シリアル・キイボードに類似のモードを持つようにする
ことを可能にさせる。
【0022】図1及び図2に示すシステムは走査モード
で動作し、その走査モードは、所望の動作を実行させる
ために、バス26上のインターフェース論理24からの16ビ
ット入力から制御回路28, 36, 42, 48内の適切なルック
アップテーブルにアドレスする8つの出力に、純粋にソ
フトウェア駆動される。これが行われるときは、CPU20
は、使用される制御回路及びキイボード配列には無関係
に従来型のやり方で機能する。(図示されてないシリア
ルキイボードに結合している)シリアル制御回路36と R
TCインターフェース回路48との同時動作を例外として除
き、それ以外の制御回路28及び42は、他の制御回路とは
排他的に同時に1つしか動作できない、ということに留
意しなければならない。
で動作し、その走査モードは、所望の動作を実行させる
ために、バス26上のインターフェース論理24からの16ビ
ット入力から制御回路28, 36, 42, 48内の適切なルック
アップテーブルにアドレスする8つの出力に、純粋にソ
フトウェア駆動される。これが行われるときは、CPU20
は、使用される制御回路及びキイボード配列には無関係
に従来型のやり方で機能する。(図示されてないシリア
ルキイボードに結合している)シリアル制御回路36と R
TCインターフェース回路48との同時動作を例外として除
き、それ以外の制御回路28及び42は、他の制御回路とは
排他的に同時に1つしか動作できない、ということに留
意しなければならない。
【0023】次に図3について説明する。これは PC/AT
標準ポート 60/6hインターフェースをエミュレートする
ためのキイボード制御構成レジスタの説明である。標準
8×16マトリクス・キイボード・インターフェースがイ
ンターフェース論理24によりソフトウェア走査され、外
部のスキャナ/コントローラは使わない。外部のキイボ
ード・スキャナ/コントローラへの直接接続が、ピンの
構成をX-バス類似のインターフェースに変えることによ
り達成される。外部のキイボード・スキャナへの接続は
標準的双方向データ/クロック・シリアル・インターフ
ェースを介して行うこともできる。外部スキャナの構成
は、図1の制御回路48に対し示されたように、外部実時
間クロック(RTC) コントローラへの接続をも許容する。
標準ポート 60/6hインターフェースをエミュレートする
ためのキイボード制御構成レジスタの説明である。標準
8×16マトリクス・キイボード・インターフェースがイ
ンターフェース論理24によりソフトウェア走査され、外
部のスキャナ/コントローラは使わない。外部のキイボ
ード・スキャナ/コントローラへの直接接続が、ピンの
構成をX-バス類似のインターフェースに変えることによ
り達成される。外部のキイボード・スキャナへの接続は
標準的双方向データ/クロック・シリアル・インターフ
ェースを介して行うこともできる。外部スキャナの構成
は、図1の制御回路48に対し示されたように、外部実時
間クロック(RTC) コントローラへの接続をも許容する。
【0024】図3に示すレジスタは、エミュレートされ
たレジスタをサポートするキイボード・マトリクス走査
ポートと同様に、高い方のレベルのシステム制御及び構
成レジスタである。外部のキイボード論理に対する専用
のパワー制御は無い。この目的には任意の適当な信号を
使うことができる。
たレジスタをサポートするキイボード・マトリクス走査
ポートと同様に、高い方のレベルのシステム制御及び構
成レジスタである。外部のキイボード論理に対する専用
のパワー制御は無い。この目的には任意の適当な信号を
使うことができる。
【0025】インターフェース論理24の一部として設け
られた図3のキイボード制御構成レジスタは、キイボー
ドポートに対する種々の可能化機能(enable functions)
の設定、及びキイボードマトリクスへの出力データの設
定を許容する。もしキイボードが可能化されると、選定
されたインターフェース割り込みは、パワー管理ユニッ
ト(PMU) への SMI出力を主張(assert)しよう、そうでな
い場合は SMI出力は論理低を維持する。キイボード制御
(KBDCTL)レジスタ中の可能化キイボード(ENKBD) フィー
ルドは、バス26により供給されるキイボード・インター
フェース・ピンのすべてを使用する訳ではない値を持
つ。使用されないピンは PMU内のレジスタにより制御さ
れる汎用入力/出力(GPIO's)を構成する。
られた図3のキイボード制御構成レジスタは、キイボー
ドポートに対する種々の可能化機能(enable functions)
の設定、及びキイボードマトリクスへの出力データの設
定を許容する。もしキイボードが可能化されると、選定
されたインターフェース割り込みは、パワー管理ユニッ
ト(PMU) への SMI出力を主張(assert)しよう、そうでな
い場合は SMI出力は論理低を維持する。キイボード制御
(KBDCTL)レジスタ中の可能化キイボード(ENKBD) フィー
ルドは、バス26により供給されるキイボード・インター
フェース・ピンのすべてを使用する訳ではない値を持
つ。使用されないピンは PMU内のレジスタにより制御さ
れる汎用入力/出力(GPIO's)を構成する。
【0026】図3をよく検討すれば明らかな通り、キイ
ボードを構成するための16ビットは、キイボード構成用
のビット(15:8)及びキイボード出力用のビット(7:0) を
含む。これら種々のビットの機能は図に示してある。た
やすく明らかなように、可能化キイボードビット15:13
は、図1の回路28, 36, 42, 48から成るインターフェー
スを可能化するのに使われ、また図1のCPU 20と共に動
作し相互に影響し合うためにこれらの回路のうちどれが
可能化されようとするかのオプションを選択するのに使
われる。インターフェース論理24の使用するBIOSソフト
ウェア中のこれら3ビットを符号化することにより、CP
U 20は図1の適切に選定された制御回路28, 36, 42, 48
に接続される。割り込み出力の現在の状態を制御するた
め、及びSMI信号を生成するためにキイ押下検出に立ち
上がり縁と立ち下がり縁のどちらが使われたかを判断す
るために回路28を介してマトリクスキイボード・インタ
ーフェースを用いるために、ビット12:8が図3のテーブ
ルに従ってそこに示されたように符号化される。ビット
8は PC/ATモードの動作でのシリアル・インターフェー
スを定めるのに用いられる。最後に、図3に示す通り、
ビット7:0 は、選定された制御回路28, 36, 42又は48か
らキイボードマトリクスへの出力データのために使われ
る。
ボードを構成するための16ビットは、キイボード構成用
のビット(15:8)及びキイボード出力用のビット(7:0) を
含む。これら種々のビットの機能は図に示してある。た
やすく明らかなように、可能化キイボードビット15:13
は、図1の回路28, 36, 42, 48から成るインターフェー
スを可能化するのに使われ、また図1のCPU 20と共に動
作し相互に影響し合うためにこれらの回路のうちどれが
可能化されようとするかのオプションを選択するのに使
われる。インターフェース論理24の使用するBIOSソフト
ウェア中のこれら3ビットを符号化することにより、CP
U 20は図1の適切に選定された制御回路28, 36, 42, 48
に接続される。割り込み出力の現在の状態を制御するた
め、及びSMI信号を生成するためにキイ押下検出に立ち
上がり縁と立ち下がり縁のどちらが使われたかを判断す
るために回路28を介してマトリクスキイボード・インタ
ーフェースを用いるために、ビット12:8が図3のテーブ
ルに従ってそこに示されたように符号化される。ビット
8は PC/ATモードの動作でのシリアル・インターフェー
スを定めるのに用いられる。最後に、図3に示す通り、
ビット7:0 は、選定された制御回路28, 36, 42又は48か
らキイボードマトリクスへの出力データのために使われ
る。
【0027】次は、図4のキイボード状態(KBDSTAT) 構
成レジスタの説明で、これはキイボードポートに対する
種々の可能化機能の設定、及び現在のキイボードスキャ
ナの状態へのアクセスを許容するものである。これもま
た、16ビットアクセスによってなされ、それらのビット
のうちの幾つかは(図4に示すように)保留される。そ
れ以外のビットは図4に示す情報を与える。キイボード
・エミュレーション・ポートは、図4に示すように、内
部的に復号されたポート60h 及びポート64h 入力/出力
(I/O) 読み出し又は書き込みを介してアクセスされる。
これらのポートはいずれも簡単な8ビット読み出し/書
き込みレジスタとして実際に存在する。PC/AT論理は適
切な SMI I/Oトラップ生成、ソフトウェア、及び適切な
IRQ生成を介してエミュレートされる。この2つのレジ
スタとエミュレーションが一緒になって、図1に示すCP
U 20を含むコンピュータとのインターフェースをとるた
めに使われる実際のキイボードのタイプには関係なく、
キイボードマトリクスにアクセスする PC/ATと両立性の
ある方法が与えられる。
成レジスタの説明で、これはキイボードポートに対する
種々の可能化機能の設定、及び現在のキイボードスキャ
ナの状態へのアクセスを許容するものである。これもま
た、16ビットアクセスによってなされ、それらのビット
のうちの幾つかは(図4に示すように)保留される。そ
れ以外のビットは図4に示す情報を与える。キイボード
・エミュレーション・ポートは、図4に示すように、内
部的に復号されたポート60h 及びポート64h 入力/出力
(I/O) 読み出し又は書き込みを介してアクセスされる。
これらのポートはいずれも簡単な8ビット読み出し/書
き込みレジスタとして実際に存在する。PC/AT論理は適
切な SMI I/Oトラップ生成、ソフトウェア、及び適切な
IRQ生成を介してエミュレートされる。この2つのレジ
スタとエミュレーションが一緒になって、図1に示すCP
U 20を含むコンピュータとのインターフェースをとるた
めに使われる実際のキイボードのタイプには関係なく、
キイボードマトリクスにアクセスする PC/ATと両立性の
ある方法が与えられる。
【0028】もしキイボード I/O読み出しトラップが可
能化されると、そのときにはポート60h からのすべての
読み出しが SMI I/O読み出しトラップを生成しよう。も
しキイボード I/O書き込みトラップが可能化されると、
そのときにはポート60h 又はポート64h へのすべての書
き込みが SMI I/O書き込みトラップを生成し、図1のシ
ステムのキイボード状態レジスタ(図示してない)中に
WR 60又は WR 64ビットを設定しよう。内部割り込み要
請(IRQ) の状態は、インターフェース論理24内のキイボ
ード制御レジスタを介して、ソフトウェアにより制御さ
れる。キイボード I/Oトラップは SMIが活性(active)の
ときに生成されるのだから、システムコントローラ22及
びインターフェース論理24内のソフトウェアは、キイボ
ード I/O読み出し又は書き込みトラップの状態をクリア
する前に、キイボード処理を完成するように設計され
る。
能化されると、そのときにはポート60h からのすべての
読み出しが SMI I/O読み出しトラップを生成しよう。も
しキイボード I/O書き込みトラップが可能化されると、
そのときにはポート60h 又はポート64h へのすべての書
き込みが SMI I/O書き込みトラップを生成し、図1のシ
ステムのキイボード状態レジスタ(図示してない)中に
WR 60又は WR 64ビットを設定しよう。内部割り込み要
請(IRQ) の状態は、インターフェース論理24内のキイボ
ード制御レジスタを介して、ソフトウェアにより制御さ
れる。キイボード I/Oトラップは SMIが活性(active)の
ときに生成されるのだから、システムコントローラ22及
びインターフェース論理24内のソフトウェアは、キイボ
ード I/O読み出し又は書き込みトラップの状態をクリア
する前に、キイボード処理を完成するように設計され
る。
【0029】インターフェース論理の制御回路36により
制御されるシリアル・キイボードの非同期制御を許容す
るために、前に図2に関連して説明したシフトレジスタ
62及びシフトレジスタ64が用いられる。図5はこれら両
方のレジスタの構成(各々は同じ構成である)を説明す
る。図2にレジスタ62及びレジスタ64として示したキイ
ボード・シフトレジスタ(KBSR)は、上述のインターフェ
ース論理24から受信したシステムクロックの派生クロッ
クで計時される状態マシーン60の制御の下に、シフトレ
ジスタからの入力データの読み出し、又はシフトレジス
タへの出力データの送出を許容する、ということに注意
すべきである。また、図2の回路に関連して前に説明し
た通り、周波数分割器68からのクロックの周期は、60マ
イクロ秒に等しいか又はそれより大きい。シフトレジス
タ語のフォーマットは図5に示される。
制御されるシリアル・キイボードの非同期制御を許容す
るために、前に図2に関連して説明したシフトレジスタ
62及びシフトレジスタ64が用いられる。図5はこれら両
方のレジスタの構成(各々は同じ構成である)を説明す
る。図2にレジスタ62及びレジスタ64として示したキイ
ボード・シフトレジスタ(KBSR)は、上述のインターフェ
ース論理24から受信したシステムクロックの派生クロッ
クで計時される状態マシーン60の制御の下に、シフトレ
ジスタからの入力データの読み出し、又はシフトレジス
タへの出力データの送出を許容する、ということに注意
すべきである。また、図2の回路に関連して前に説明し
た通り、周波数分割器68からのクロックの周期は、60マ
イクロ秒に等しいか又はそれより大きい。シフトレジス
タ語のフォーマットは図5に示される。
【0030】次には、図7及び図8に示す状態マシーン
と図6のタイミング図とに関連して図4を説明しなけれ
ばならない。図6は動作の受信モード、送出モードの双
方に対し図1及び図2のシリアル制御回路36のためのタ
イミング・クロック・ダイヤグラムを示す。インターフ
ェースの空き(idle)状態は、キイボードクロック(KBCL
K) 及びキイボードデータ(KBDAT) と共にあり、論理高
の状態にある。図7及び図8の状態マシーンに示す通
り、そして図6のタイミング図に示す通り、この論理高
はインターフェース上の「送出要請」を設定する。イン
ターフェースの禁止(inhibit) 状態は論理低に駆動され
た KBCLK出力と共にある。禁止状態は、キイボードスキ
ャナによる現在のすべての動作のアボート(abort) を引
き起こし、すべての新しい動作の開始を妨げる。インタ
ーフェースの状態はすべて、キイボードにより認識され
るように少なくとも60マイクロ秒は存続する。
と図6のタイミング図とに関連して図4を説明しなけれ
ばならない。図6は動作の受信モード、送出モードの双
方に対し図1及び図2のシリアル制御回路36のためのタ
イミング・クロック・ダイヤグラムを示す。インターフ
ェースの空き(idle)状態は、キイボードクロック(KBCL
K) 及びキイボードデータ(KBDAT) と共にあり、論理高
の状態にある。図7及び図8の状態マシーンに示す通
り、そして図6のタイミング図に示す通り、この論理高
はインターフェース上の「送出要請」を設定する。イン
ターフェースの禁止(inhibit) 状態は論理低に駆動され
た KBCLK出力と共にある。禁止状態は、キイボードスキ
ャナによる現在のすべての動作のアボート(abort) を引
き起こし、すべての新しい動作の開始を妨げる。インタ
ーフェースの状態はすべて、キイボードにより認識され
るように少なくとも60マイクロ秒は存続する。
【0031】図7に示す通り、受信動作は KBCLK入力が
論理低になることにより空き状態80で開始される。シリ
アル・キイボードからデータを受信するために、 KBCLK
の立ち上がり縁がデータをシフトレジスタ62のビット10
の中に計時する。図7では、最初のビットは82における
スタートビットで、次に84で最初のデータビットが続
く。更に引き続く86及び88で示される各ビットが同様の
やり方でシフトレジスタの中に計時される。しかし図7
の状態図はこれらのビットのすべてを示す訳ではなく、
図7に概略図を示した状態マシーン内のスペースを節約
するために、86におけるビット1から88におけるビット
7にジャンプする。しかし、これらのビットの各々は図
7に示したものと同じやり方で計時されるということに
注意しなければならない。図7に詳細に説明されている
状態マシーン60によるレジスタ62への8ビットのシフト
が完了するのに続いて、パリティビット及びストップビ
ットが90及び92で加えられて、制御回路36がそれに接続
されているシリアル・キイボードのキイ操作を表す11ビ
ット・バイトが完成する。 KBCLKの11番目の立ち上がり
縁の後で94において禁止状態に入り、更に1状態時の後
にキイボード SMIが状態マシーン60から導線61上に生成
されることは図2に示す通りである。インターフェース
はキイボード状態 SMI状態がクリアされるまで禁止状態
94に留まる。その次に KBCLK出力が論理高に駆動され、
インターフェースが空き状態80に戻ることは図7に示す
通りである。もし KBCLKの後続の立ち上がり縁との間に
2マイクロ秒を超える間隔が生じたら、タイムアウトが
生じてインターフェースは禁止状態94になり、タイムア
ウト状態が設定され、キイボード状態 SMIが生成され
る。
論理低になることにより空き状態80で開始される。シリ
アル・キイボードからデータを受信するために、 KBCLK
の立ち上がり縁がデータをシフトレジスタ62のビット10
の中に計時する。図7では、最初のビットは82における
スタートビットで、次に84で最初のデータビットが続
く。更に引き続く86及び88で示される各ビットが同様の
やり方でシフトレジスタの中に計時される。しかし図7
の状態図はこれらのビットのすべてを示す訳ではなく、
図7に概略図を示した状態マシーン内のスペースを節約
するために、86におけるビット1から88におけるビット
7にジャンプする。しかし、これらのビットの各々は図
7に示したものと同じやり方で計時されるということに
注意しなければならない。図7に詳細に説明されている
状態マシーン60によるレジスタ62への8ビットのシフト
が完了するのに続いて、パリティビット及びストップビ
ットが90及び92で加えられて、制御回路36がそれに接続
されているシリアル・キイボードのキイ操作を表す11ビ
ット・バイトが完成する。 KBCLKの11番目の立ち上がり
縁の後で94において禁止状態に入り、更に1状態時の後
にキイボード SMIが状態マシーン60から導線61上に生成
されることは図2に示す通りである。インターフェース
はキイボード状態 SMI状態がクリアされるまで禁止状態
94に留まる。その次に KBCLK出力が論理高に駆動され、
インターフェースが空き状態80に戻ることは図7に示す
通りである。もし KBCLKの後続の立ち上がり縁との間に
2マイクロ秒を超える間隔が生じたら、タイムアウトが
生じてインターフェースは禁止状態94になり、タイムア
ウト状態が設定され、キイボード状態 SMIが生成され
る。
【0032】図8は、シリアル制御回路36の制御の下に
おけるシリアル・キイボードの送信操作に対する状態マ
シーンの動作を示す。送信操作がKBSRレジスタ64(図
2)のMSBへの書き込みにより開始される。図8に示す
通り KBCLK出力を論理低に駆動することによりインター
フェースは空き状態98から禁止状態100 に強制的に移さ
れる。データ伝送を開始するために、そのとき KBCLKは
入力とされて内部プルアップによりプルアップされる;
KBDATは出力とされる。次いで KBCLKの立ち下がり縁は
データをシフトレジスタ64のビット0から計時する。 K
BCLKの11番目の立ち下がり縁が、スタートビット102 及
び出力ビット0ないし8(図8では不必要な繰り返しを
避けるためビット0に対するブロック104 のみを示す)
を通り過ぎて、出力パリティビット106 及び出力ストッ
プビット108 を計時した後で、データはすべてシフトレ
ジスタ64の0段階から計時されて、図1及び図2に示す
ように入力/出力導線38に供給される。 KBCLKの11番目
の立ち下がり縁の後に、完了シーケンス、すなわちスト
ップビットにより論理高に駆動された KBDATが生成され
る。この完了シーケンスは入力とされ、論理低状態にな
るのをモニタされる。KBDATが論理低になった後、 KBCL
K及び KBDATは共に112 で出力とされ、それらを論理"1"
に高めるのに十分な時間にわたってプルアップされ
る。最後に98で空き状態に入る。もし KBCLKの後続の立
ち下がり縁との間に2マイクロ秒を超える間隔が生じた
ら、図2のタイムアウト論理72により制御されるのでタ
イムアウトが生じて、インターフェースは禁止状態100
になり、タイムアウト状態が設定され、キイボード状態
SMIが生成される。
おけるシリアル・キイボードの送信操作に対する状態マ
シーンの動作を示す。送信操作がKBSRレジスタ64(図
2)のMSBへの書き込みにより開始される。図8に示す
通り KBCLK出力を論理低に駆動することによりインター
フェースは空き状態98から禁止状態100 に強制的に移さ
れる。データ伝送を開始するために、そのとき KBCLKは
入力とされて内部プルアップによりプルアップされる;
KBDATは出力とされる。次いで KBCLKの立ち下がり縁は
データをシフトレジスタ64のビット0から計時する。 K
BCLKの11番目の立ち下がり縁が、スタートビット102 及
び出力ビット0ないし8(図8では不必要な繰り返しを
避けるためビット0に対するブロック104 のみを示す)
を通り過ぎて、出力パリティビット106 及び出力ストッ
プビット108 を計時した後で、データはすべてシフトレ
ジスタ64の0段階から計時されて、図1及び図2に示す
ように入力/出力導線38に供給される。 KBCLKの11番目
の立ち下がり縁の後に、完了シーケンス、すなわちスト
ップビットにより論理高に駆動された KBDATが生成され
る。この完了シーケンスは入力とされ、論理低状態にな
るのをモニタされる。KBDATが論理低になった後、 KBCL
K及び KBDATは共に112 で出力とされ、それらを論理"1"
に高めるのに十分な時間にわたってプルアップされ
る。最後に98で空き状態に入る。もし KBCLKの後続の立
ち下がり縁との間に2マイクロ秒を超える間隔が生じた
ら、図2のタイムアウト論理72により制御されるのでタ
イムアウトが生じて、インターフェースは禁止状態100
になり、タイムアウト状態が設定され、キイボード状態
SMIが生成される。
【0033】次に、図9について説明する。これはマト
リクス・キイボードがCPU 20と共に用いられるときにマ
トリクス制御回路28により選定されたキイボード・マト
リクス・インターフェースの構成である。図9はマトリ
クス・キイボードに対するキイボード入力データ(KBIN)
を示す。キイボード・マトリクス・インターフェースは
8つの出力と、インターフェース論理24からバス26上を
通ってマトリクスに与えられた16の入力とから成る。入
力は弱いプルアップをもつよう設計されている。出力は
弱い高駆動と通常の低駆動とを持つ。もし複数のキイが
押されたら出力の弱い高駆動が短絡を防止する。出力デ
ータは上述の図3の KBDCTレジスタを介して送られる。
図9に示すKBINレジスタは、マトリクス制御に付帯する
マトリクス・キイボードのキイボード・マトリクスから
の入力データに、図1に示す導線30, 32, 及び34を介し
てアクセスすることを許容する。図9の説明中で注意す
べきことは、記号"X" が16の入力の対応するピンの POR
値を表す、ということである。キイダウン状態信号は、
KBIN入力の論理的NANDである。もし KBOUT出力がすべて
0に設定されれば、どれか1つのキイが押下されるま
で、KBIN入力はすべて1となるであろう。或るキイが押
されると入力の1つが低になり、キイダウン状態が真(t
rue)になる。もしキイダウン SMIが可能化されると、キ
イダウン状態信号の立ち上がり縁がキイボード SMIを生
成する。もしキイアップ SMIが可能化されると、キイダ
ウン状態信号の立ち下がり縁がキイボード SMIを生成す
る。これは前に図3に関連して論じたキイボード制御情
報によるのである。
リクス・キイボードがCPU 20と共に用いられるときにマ
トリクス制御回路28により選定されたキイボード・マト
リクス・インターフェースの構成である。図9はマトリ
クス・キイボードに対するキイボード入力データ(KBIN)
を示す。キイボード・マトリクス・インターフェースは
8つの出力と、インターフェース論理24からバス26上を
通ってマトリクスに与えられた16の入力とから成る。入
力は弱いプルアップをもつよう設計されている。出力は
弱い高駆動と通常の低駆動とを持つ。もし複数のキイが
押されたら出力の弱い高駆動が短絡を防止する。出力デ
ータは上述の図3の KBDCTレジスタを介して送られる。
図9に示すKBINレジスタは、マトリクス制御に付帯する
マトリクス・キイボードのキイボード・マトリクスから
の入力データに、図1に示す導線30, 32, 及び34を介し
てアクセスすることを許容する。図9の説明中で注意す
べきことは、記号"X" が16の入力の対応するピンの POR
値を表す、ということである。キイダウン状態信号は、
KBIN入力の論理的NANDである。もし KBOUT出力がすべて
0に設定されれば、どれか1つのキイが押下されるま
で、KBIN入力はすべて1となるであろう。或るキイが押
されると入力の1つが低になり、キイダウン状態が真(t
rue)になる。もしキイダウン SMIが可能化されると、キ
イダウン状態信号の立ち上がり縁がキイボード SMIを生
成する。もしキイアップ SMIが可能化されると、キイダ
ウン状態信号の立ち下がり縁がキイボード SMIを生成す
る。これは前に図3に関連して論じたキイボード制御情
報によるのである。
【0034】図10は、図1に示すRTC 48に対する外部イ
ンターフェースを説明する図である。X-バスをもつ外部
スキャナが可能化されると、キイボード・マトリクス・
インターフェースからの24のピンは図10のテーブルに示
すように構成される。使用されないピンは PMU内のレジ
スタに制御されるGPIOとなるよう構成される。茲で注意
すべきは、キイボード状態 SMI信号は KBINTの立ち上が
り縁により生成される、ということである。10W#及び10
R#は、0090h 及び0094h の内部 I/Oアドレス符号の間の
内部10W#及び10R#のコピーである。XD[7:0] バスの方向
は、10R#が活性であるときを除き外向きである。10R#ス
トローブ及び10W#ストローブは、8サイクル(すなわち
CLK2の16周期)に固定された多数の待ち状態を持つ。
ンターフェースを説明する図である。X-バスをもつ外部
スキャナが可能化されると、キイボード・マトリクス・
インターフェースからの24のピンは図10のテーブルに示
すように構成される。使用されないピンは PMU内のレジ
スタに制御されるGPIOとなるよう構成される。茲で注意
すべきは、キイボード状態 SMI信号は KBINTの立ち上が
り縁により生成される、ということである。10W#及び10
R#は、0090h 及び0094h の内部 I/Oアドレス符号の間の
内部10W#及び10R#のコピーである。XD[7:0] バスの方向
は、10R#が活性であるときを除き外向きである。10R#ス
トローブ及び10W#ストローブは、8サイクル(すなわち
CLK2の16周期)に固定された多数の待ち状態を持つ。
【0035】外部インターフェース48はまた、シリアル
・インターフェースでの外部スキャナと共に用いること
もできる。それがなされたときは、コントローラピンと
マトリクスピンは図11に示すように構成される。シリア
ルクロック及びデータピンは、図2に関連して上述のや
り方で11ビット語の全部をコントローラに送ったりコン
トローラから受け取ったりするところの、11ビット・シ
フトレジスタに接続される。キイボード・シフトレジス
タは、図2に関連して上述のように、状態マシーン60の
制御によって、出力データを送ること又はシフトレジス
タからの入力データを読み出すことを許容する。典型的
には、シリアル・インターフェースを持つ外部スキャナ
は使わないで、その代わりにシリアル・キイボードとの
相互接続にはシリアル制御回路36が用いられる。しかし
外部スキャナが存在する場合には、図11に関連して述べ
たように、システムはインターフェース48を通して構成
された「汎用」("universal") キイボード・インターフ
ェース・システムの存在を許容する。
・インターフェースでの外部スキャナと共に用いること
もできる。それがなされたときは、コントローラピンと
マトリクスピンは図11に示すように構成される。シリア
ルクロック及びデータピンは、図2に関連して上述のや
り方で11ビット語の全部をコントローラに送ったりコン
トローラから受け取ったりするところの、11ビット・シ
フトレジスタに接続される。キイボード・シフトレジス
タは、図2に関連して上述のように、状態マシーン60の
制御によって、出力データを送ること又はシフトレジス
タからの入力データを読み出すことを許容する。典型的
には、シリアル・インターフェースを持つ外部スキャナ
は使わないで、その代わりにシリアル・キイボードとの
相互接続にはシリアル制御回路36が用いられる。しかし
外部スキャナが存在する場合には、図11に関連して述べ
たように、システムはインターフェース48を通して構成
された「汎用」("universal") キイボード・インターフ
ェース・システムの存在を許容する。
【0036】回路48に対するもう1つのインターフェー
スは、外部の実時間クロック(RTC)に関連するものであ
る。回路48の外部スキャナ・インターフェースのうちの
1つが可能化されるときは常に、 RTCインターフェース
は随意に可能化することができる。これは図12のテーブ
ルに示すように構成されたキイボード・マトリクス・イ
ンターフェースから12ピンを使う。外部スキャナ・イン
ターフェースの1つが可能化されるときに、もし外部 R
TCが可能化されていなかったら、KBIN[13:10]ピンは PM
U内のレジスタに制御されるGPIOとなるよう構成され
る。コントローラピンはそのタイプと機能とが図12に明
確に示され、外部 RTCインターフェースを持つシステム
の操作を許容する。
スは、外部の実時間クロック(RTC)に関連するものであ
る。回路48の外部スキャナ・インターフェースのうちの
1つが可能化されるときは常に、 RTCインターフェース
は随意に可能化することができる。これは図12のテーブ
ルに示すように構成されたキイボード・マトリクス・イ
ンターフェースから12ピンを使う。外部スキャナ・イン
ターフェースの1つが可能化されるときに、もし外部 R
TCが可能化されていなかったら、KBIN[13:10]ピンは PM
U内のレジスタに制御されるGPIOとなるよう構成され
る。コントローラピンはそのタイプと機能とが図12に明
確に示され、外部 RTCインターフェースを持つシステム
の操作を許容する。
【0037】上述の本発明の好適実施例の説明は解説用
であって、限定用ではないと考えられる。当業者にとっ
て、本明細書の記載と殆ど同じやり方で殆ど同じ機能を
実行するために種々の変更や変形を行っても、特許請求
の範囲に記載の本発明の範囲を逸脱することなく殆ど同
じ結果が達成されよう。
であって、限定用ではないと考えられる。当業者にとっ
て、本明細書の記載と殆ど同じやり方で殆ど同じ機能を
実行するために種々の変更や変形を行っても、特許請求
の範囲に記載の本発明の範囲を逸脱することなく殆ど同
じ結果が達成されよう。
【図1】図1は、本発明の好適実施例のブロック図であ
る。
る。
【図2】図2は、図1に示す実施例の一部の更に詳細な
ブロック図である。
ブロック図である。
【図3】図3は、図1及び図2に示す実施例の動作を理
解するための説明用チャートである。
解するための説明用チャートである。
【図4】図4は、やはり図1及び図2に示す実施例の動
作を理解するための説明用チャートである。
作を理解するための説明用チャートである。
【図5】図5も、やはり図1及び図2に示す実施例の動
作を理解するための説明用チャートである。
作を理解するための説明用チャートである。
【図6】図6は、図1及び図2に示す実施例の動作を説
明するのに用いるタイミングの図である。
明するのに用いるタイミングの図である。
【図7】図7は、受信モードの動作における図2のシス
テムの状態ブロック図である。
テムの状態ブロック図である。
【図8】図8は、送信モードの動作における図2のシス
テムの状態ブロック図である。
テムの状態ブロック図である。
【図9】図9は、本発明の好適実施例の動作を理解する
ために用いられるチャートである。
ために用いられるチャートである。
【図10】図10も、本発明の好適実施例の動作を理解す
るために用いられるチャートである。
るために用いられるチャートである。
【図11】図11も、本発明の好適実施例の動作を理解す
るために用いられるチャートである。
るために用いられるチャートである。
【図12】図12も、本発明の好適実施例の動作を理解す
るために用いられるチャートである。
るために用いられるチャートである。
20 CPU(中央処理ユニット) 22 システムコントローラ 24 インターフェース論理 26 データバス 28 マトリクス制御回路 36 シリアル制御回路 42 外部制御回路 48 外部実時間クロック制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フランクリン ストーリー アメリカ合衆国 アリゾナ州 85224 チ ャンドラー ウエスト ブレントラップ ストリート 708 (72)発明者 チャールズ アール リンポ アメリカ合衆国 アリゾナ州 85213 メ サ エヌ ロカ 2664
Claims (7)
- 【請求項1】 種々の異なるタイプのキイボードをコン
ピュータとインターフェースさせるための多目的キイボ
ードコントローラにおいて、 走査マトリクス・キイボード制御回路(28)と;シリアル
・キイボード制御回路(36)と;上記制御回路に結合する
コンピュータ・インターフェース論理回路(24)と;を有
して成り、 上記コンピュータ・インターフェース論理回路は、上記
制御回路のうちの1つ(28又は36)を選択的に動作させ
て、該コンピュータ・インターフェース論理回路(24)か
らの信号を受信したり該コンピュータ・インターフェー
ス論理回路(24)への信号を供給したりするとともに、選
択されなかった方の上記制御回路は応答しないように、
ソフトウェアでプログラムされており、また上記制御回
路(28及び36)は、上記コンピュータ・インターフェー
ス論理回路(24)へのシステム管理割り込み(SMI) 信号を
生成して、論理回路(24)が上記制御回路のうちのどちら
(28又は36)を選択的に動作させたかには係わりなく、
それを利用させるようにしたことを特徴とする多目的キ
イボードコントローラ。 - 【請求項2】 請求項1に記載の多目的キイボードコン
トローラにおいて、少なくとも更にもう1つの外部の制
御回路(42又は48)を、上記コンピュータ・インターフ
ェース論理回路(24)が選択的に動作させることを更に特
徴とする多目的キイボードコントローラ。 - 【請求項3】 請求項1に記載の多目的キイボードコン
トローラにおいて、上記シリアル・キイボード制御回路
(36)は状態マシーン(60)を含み、上記コンピュータ・イ
ンターフェース論理回路(24)によって上記シリアル・キ
イボード制御回路(36)が選択的に動作させられていると
きには、上記状態マシーン(60)に接続するキイボードを
同期的に動作させるようにしたことを更に特徴とする多
目的キイボードコントローラ。 - 【請求項4】 請求項3に記載の多目的キイボードコン
トローラにおいて、上記シリアル・キイボード制御回路
(36)は、該制御回路(36)に付帯するキイボードからデー
タを受け取るための入力シフトレジスタ(62)を含み、ま
た上記シリアル・キイボード制御回路(36)に付帯するシ
リアル・キイボードにデータを送り出すための出力シフ
トレジスタ(64)を含み、これらのシフトレジスタ(62及
び64)の動作は上記状態マシーン(60)によって制御され
ることを更に特徴とする多目的キイボードコントロー
ラ。 - 【請求項5】 請求項3に記載の多目的キイボードコン
トローラにおいて、上記状態マシーン(60)は、それに接
続するシリアル・キイボードの動作に対応して SMI割り
込み信号を生成することを更に特徴とする多目的キイボ
ードコントローラ。 - 【請求項6】 請求項5に記載の多目的キイボードコン
トローラにおいて、上記シリアル・キイボード制御回路
(36)は、該制御回路(36)に付帯するキイボードからデー
タを受け取るための入力シフトレジスタ(62)を含み、ま
た上記シリアル・キイボード制御回路(36)に付帯するシ
リアル・キイボードにデータを送り出すための出力シフ
トレジスタ(64)を含み、これらのシフトレジスタ(62及
び64)の動作は上記状態マシーン(60)によって制御され
ることを更に特徴とする多目的キイボードコントロー
ラ。 - 【請求項7】 請求項1に記載の多目的キイボードコン
トローラにおいて、上記制御回路(28及び36)は、イン
ターフェース論理回路(24)への SMI割り込みを使用し、
また、上記制御回路(28及び36)のそれぞれに結合して
いるキイボードとの間で値を読み出したり書き込んだり
するために、 SMIソフトウェア・ルーチンが上記論理回
路(24)によって利用されることを更に特徴とする多目的
キイボードコントローラ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/532343 | 1995-09-19 | ||
| US08/532,343 US5610601A (en) | 1995-09-19 | 1995-09-19 | Multi-purposes keyboard interface |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09204253A true JPH09204253A (ja) | 1997-08-05 |
Family
ID=24121393
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8244779A Pending JPH09204253A (ja) | 1995-09-19 | 1996-09-17 | 多目的キイボード・インターフェース |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5610601A (ja) |
| JP (1) | JPH09204253A (ja) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0763791A1 (en) * | 1995-09-14 | 1997-03-19 | Hewlett-Packard Company | Computer keyboard unit with smartcard interface |
| US5822548A (en) * | 1996-01-16 | 1998-10-13 | Vlsi Technology, Inc. | Programming interface for a universal asynchronous receiver/transmitter |
| US5943506A (en) * | 1996-03-25 | 1999-08-24 | Intel Corporation | System for facilitating data I/O between serial bus input device and non-serial bus cognition application by generating alternate interrupt and shutting off interrupt triggering activities |
| US5835791A (en) * | 1996-03-26 | 1998-11-10 | Vlsi Technology, Inc. | Versatile connection of a first keyboard/mouse interface and a second keyboard/mouse interface to a host computer |
| JP3262989B2 (ja) * | 1996-06-13 | 2002-03-04 | シャープ株式会社 | 情報処理装置 |
| US6065069A (en) * | 1996-07-15 | 2000-05-16 | Micron Electronics, Inc. | Circuit for sensing and automatically switching between an internal and external user I/O device |
| US5854915A (en) * | 1996-11-22 | 1998-12-29 | Vlsi Technology, Inc. | Keyboard controller with integrated real time clock functionality and method therefor |
| US5909211A (en) * | 1997-03-25 | 1999-06-01 | International Business Machines Corporation | Touch pad overlay driven computer system |
| JPH10293641A (ja) * | 1997-04-17 | 1998-11-04 | Toshiba Corp | コンピュータシステムおよびusbデバイス制御方法 |
| CA2207231C (en) | 1997-06-06 | 2003-01-07 | Richard John Struthers | Programmable membrane switch input/output system |
| TW509845B (en) * | 1997-12-13 | 2002-11-11 | Samsung Electronics Co Ltd | Computer system with jog dial function and the user interface scheme thereof |
| US6625649B1 (en) | 1998-06-08 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Rapid network access computer system |
| US6384853B1 (en) | 1999-06-15 | 2002-05-07 | Siemens Information And Communcation Networks, Inc. | Apparatus and method for preventing screen savers from shutting down ToL clients |
| US6882334B1 (en) | 1999-12-14 | 2005-04-19 | Gateway, Inc. | Apparatus and method for detection of communication signal loss |
| US6781077B2 (en) | 2000-12-14 | 2004-08-24 | Think Outside, Inc. | Keyswitch and actuator structure |
| US7689724B1 (en) | 2002-08-16 | 2010-03-30 | Cypress Semiconductor Corporation | Apparatus, system and method for sharing data from a device between multiple computers |
| US7293118B1 (en) | 2002-09-27 | 2007-11-06 | Cypress Semiconductor Corporation | Apparatus and method for dynamically providing hub or host operations |
| US7107382B2 (en) * | 2003-04-03 | 2006-09-12 | Emulex Design & Manufacturing Corporation | Virtual peripheral component interconnect multiple-function device |
| US7653123B1 (en) | 2004-09-24 | 2010-01-26 | Cypress Semiconductor Corporation | Dynamic data rate using multiplicative PN-codes |
| US7446676B2 (en) * | 2005-12-28 | 2008-11-04 | Broadcom Corporation | Self-scan programmable keypad interface |
| TWI324304B (en) * | 2006-12-15 | 2010-05-01 | Inventec Corp | Method for reading data of input/output port |
| CN112200584A (zh) * | 2020-11-05 | 2021-01-08 | 加减信息科技(深圳)有限公司 | 一种支付受理终端的输入电路 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3952289A (en) * | 1975-02-03 | 1976-04-20 | Burroughs Corporation | Controller for linking a typewriter console to a processor unit |
| US4942606A (en) * | 1989-02-07 | 1990-07-17 | Compaq Computer Corporation | Computer with improved keyboard password functions |
| US5280283A (en) * | 1990-11-09 | 1994-01-18 | Ast Research, Inc. | Memory mapped keyboard controller |
| US5450080A (en) * | 1992-04-22 | 1995-09-12 | Samsung Semiconductor, Inc. | Keyboard encoding |
| US5459462A (en) * | 1993-12-09 | 1995-10-17 | Onspec Electronic, Inc. | Keyboard controller state machine |
| US5486824A (en) * | 1994-10-05 | 1996-01-23 | Motorola, Inc. | Data processor with a hardware keyscan circuit, hardware keyscan circuit, and method therefor |
-
1995
- 1995-09-19 US US08/532,343 patent/US5610601A/en not_active Expired - Lifetime
-
1996
- 1996-09-17 JP JP8244779A patent/JPH09204253A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US5610601A (en) | 1997-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09204253A (ja) | 多目的キイボード・インターフェース | |
| US5784599A (en) | Method and apparatus for establishing host bus clock frequency and processor core clock ratios in a multi-processor computer system | |
| US6088794A (en) | Computer system capable of selective booting from two hard disk drives | |
| US6678830B1 (en) | Method and apparatus for an ACPI compliant keyboard sleep key | |
| JP2838375B2 (ja) | Scsiディスクドライブパワーダウン装置 | |
| CA2273719C (en) | High performance pci with backward compatibility | |
| JP3539879B2 (ja) | コンピュータの電源立ち上げ装置 | |
| CN101539897B (zh) | 多计算机切换装置及其运行方法 | |
| JPH0120464B2 (ja) | ||
| JPH01109456A (ja) | インタフエイス装置 | |
| JP2845155B2 (ja) | シングルチップマイクロコンピュータのエミュレーションチップ | |
| JPH07182073A (ja) | コンピュータシステムにおけるユーザ入力デバイス存在のエミュレート方法、スタンバイ中のデバイス構成のロス防止方法、デバイス存在のエミュレートのためのコントローラ回路およびデバイス構成の捕捉のためのコントローラ回路 | |
| JP3618878B2 (ja) | コンピュータシステムおよびバス接続方法 | |
| US5867645A (en) | Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system | |
| CA2118781C (en) | System management interrupt address bit correction circuit | |
| TW409204B (en) | Expansion interface conversion device and conversion method therefor | |
| EP0229700A2 (en) | Virtual peripheral controller | |
| US5937167A (en) | Communication controller for generating four timing signals each of selectable frequency for transferring data across a network | |
| CN101582036B (zh) | 共享式基本输入输出系统的伺服装置及方法 | |
| CN216596226U (zh) | 单硬件接口烧录多芯片电路、控制板及电子设备 | |
| JPH1173330A (ja) | コンピュータシステム | |
| JP3528279B2 (ja) | 音源装置 | |
| JP3511407B2 (ja) | インタフェースボード及び命令処理装置 | |
| JP2001167047A (ja) | ブリッジ装置 | |
| CN2244216Y (zh) | 16位游戏机的键盘扩展装置 |