エンベデッドシステムスペシャリスト 2018年 午前2 問13
問題文
図に示すマトリクススイッチにおいて、キーセンスを行うときのポートの機能と動作の組合せとして、適切なものはどれか。


選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
マトリクススイッチのキーセンス【午前2解説】
正解の理由
キーセンスでは、キーを接続した信号線の組合せを調べ、どのキーが押されたかを判定します。
図では、ポートAの各信号線がプルアップ抵抗を介して電源につながっています。そのため、スイッチが押されていないとき、ポートAの入力は通常HIGHレベルになります。一方、ポートBは出力ポートとして使い、信号線を1本ずつLOWレベルにします。
LOWにしたポートBの信号線につながるスイッチが押されると、対応するポートAの信号線がLOWレベルになります。どのポートBの信号線をLOWにしたときに、どのポートAの信号線がLOWになったかを調べることで、押されたキーの位置を特定できます。
したがって、ポートAを入力、ポートBを出力とし、信号線を1本ずつLOWレベルにするウが適切です。
解法ステップ
-
プルアップ抵抗がつながっているポートを確認します。
ポートAの信号線は、抵抗を介して電源につながっています。ここでは、電圧の変化を読み取るため、ポートAを入力として使います。 -
信号線を順に駆動するポートを確認します。
ポートBはスイッチを介してポートAにつながる信号線を選ぶため、出力として使います。 -
キーの位置を判別する方法を考えます。
ポートBの信号線を1本ずつLOWにし、その都度ポートAの入力を読み取ります。入力がLOWになった線の組合せから、押されたキーを特定できます。
選択肢別の誤答解説
- ア:信号線を1本ずつLOWにする点は適切ですが、ポートAとポートBの役割が逆です。プルアップされたポートAは入力、信号線を駆動するポートBは出力として使います。
- イ:ポートAとポートBの役割が逆です。また、全信号線を同時にLOWにすると、どの信号線の組合せでキーが押されたかを区別できません。
- ウ:ポートAを入力、ポートBを出力とし、ポートBの信号線を1本ずつLOWにするため、キーの位置を順に調べられます。
- エ:ポートAとポートBの役割は適切ですが、全信号線を同時にLOWにすると、どの列のキーが押されたかを判別できません。
よくある誤解
-
プルアップ抵抗があるポートは出力だと思い込む
プルアップ抵抗は、入力信号が不安定にならないよう、何も押されていないときの電圧をHIGHに保つためのものです。プルアップされているポートを入力として使う構成は一般的です。 -
出力線をすべて同時にLOWにしても判定できると思う
その場合、押されたキーに対応する入力線は分かっても、どの出力線との組合せで押されたかが分からなくなることがあります。出力線を1本ずつ切り替えて調べます。 -
ポートAとポートBの役割を、図の左右や上下だけで判断する
配置ではなく、信号を読み取る側か、信号を出して切り替える側かを見て判断します。
補足コラム
4行×4列のマトリクススイッチでは、16個のキーを16本の独立した信号線で接続する代わりに、行と列の組合せで表現できます。キーセンスでは、出力側の信号線を順番に切り替え、入力側の状態を読むことで、どの交点のスイッチが押されたかを特定します。
図にあるダイオードは、複数のキーが同時に押されたときに、電流が意図しない経路へ流れて誤判定する現象を抑えるために使われます。
FAQ
Q. なぜポートAを入力にするのですか?
A. スイッチが押されたときに、ポートBのLOWレベルが伝わったかどうかを読み取るためです。プルアップ抵抗によって、スイッチが押されていないときの入力状態も安定します。
A. スイッチが押されたときに、ポートBのLOWレベルが伝わったかどうかを読み取るためです。プルアップ抵抗によって、スイッチが押されていないときの入力状態も安定します。
Q. なぜポートBの信号線を1本ずつLOWにするのですか?
A. どの信号線をLOWにしたときに入力が変化したかを調べることで、キーの行と列の組合せを特定できるためです。
A. どの信号線をLOWにしたときに入力が変化したかを調べることで、キーの行と列の組合せを特定できるためです。
Q. 全信号線を同時にLOWにすると、何が問題ですか?
A. 複数の出力線を同時にLOWにすると、入力が変化した原因となる出力線を区別できず、キーの位置を正しく判定できない場合があります。
A. 複数の出力線を同時にLOWにすると、入力が変化した原因となる出力線を区別できず、キーの位置を正しく判定できない場合があります。
関連キーワード: マトリクススイッチ、キーセンス、プルアップ抵抗、入力ポート、出力ポート、キースキャン

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

