8章システム構成
本書ではシステムの内部について調べてきました。システムを構築する前に各コンポーネントの動作を知る必要があります。「7章 周辺機器との通信」の周辺機器との通信はその1つです。次のステップは、周辺機器、データ処理メソッド、さまざまな要件を満たすためのデザインパターンについて感覚を身に付けます。
周辺機器を使用するために必要な情報はデータシートに記載されています。システムの構築に関しても、どこを確認すべきかは同じです。
ただしシステムの構築はそれぞれのパーツを接続するだけではありません。連携して動作するパーツの集合として捉える必要も出てきます。本章の最後ではデータの処理とアルゴリズムの組み立てについて紹介します。
8.1 キーマトリクス
「4章 入出力とタイマー」ではI/Oインタフェースのあるボタンを取り上げました(本章では1つのボタンに1つのI/Oラインを割り当てる方式をダイレクトI/O方式と呼ぶことにします)。キーボードのようにたくさんのボタンがある場合は、入力ラインのマトリクス(行列)を作成すれば、多くのI/Oを得られます。ボタン1つにつき1本のI/Oラインは必要ありません。キーマトリクス(key matrix)の実装には2つの方法があります。1つは行列スキャン(row/column scan)です。これはコストを抑えたいときに有用です。もう1つはチャーリープレクシング(Charlieplexing)です。これは高価ですが、必要がI/Oラインを最小にできます。トライステートマルチプレクシング(tri-state multiplexing)とも呼ばれます。
行列スキャンではM×Nの行列をM+N行に実装できます。つまり12の数字パッドであれば、3×4の7行で済みます。マトリクス入力はより複雑なソフトウェアが必要となります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access