Instiq
第4章 · ハードウェアとインタフェース·v1.0.0·更新 2026/7/10·読了目安 約14分

変更要約: 初版

4.5GPIO・バス・タイマ

この節の要点

汎用入出力ピンGPIOの入力回路設計(プルアップオープンドレイン)、CPUと周辺デバイスを結ぶアドレスバス/データバス/制御バス、そして時間計測・波形生成を担う入力キャプチャ出力コンペアPWMタイマ機能を学び、組込みハードウェアの基礎的な入出力設計判断力を養います。

組込み機器の基礎的な入出力を支えるのがGPIO(汎用入出力ピン)とバス(CPU-周辺デバイス間の配線)、そしてタイマ(時間計測・波形生成)です。これらは地味に見えて、入力回路の設計を誤ると誤動作し、バス設計を誤ると性能が出ず、タイマ機能を使い分けられないと時間計測や波形生成に無駄なCPU負荷がかかるという、組込み設計の土台を支える技術です。この節では、それぞれの正しい使い方と設計判断を学びます。

4.5.1GPIOとプルアップ/オープンドレイン

  • GPIO(General Purpose Input/Output)=ソフトウェアから入力/出力・Hi/Lowを設定できる汎用ピン。入力として使う場合、未接続(Hi-Z:ハイインピーダンス)状態のピンは電位が不定になり、外来ノイズを拾って誤ったHigh/Lowを検出する原因になる。プルアップ抵抗(ピンを電源電圧側へ弱く引き上げる)またはプルダウン抵抗(GND側へ引き下げる)を入れることで、スイッチが開いている(未接続)時のデフォルト電位を確定させ、誤動作を防ぐ。
  • オープンドレイン(オープンコレクタ)出力=出力段がHigh側のトランジスタを持たず、Lowへの引き込みしかできない(Highにするには外付けのプルアップ抵抗が必須)出力方式。この方式の利点は、複数デバイスの出力を1本の信号線に接続しても、どれか1つでもLowを出せば線全体がLowになる(ワイヤードAND)ため、I2Cのように複数デバイスが同じ線を共有するバスに向く点。プッシュプル出力(High/Low両方を能動的に駆動)と異なり、複数出力の競合による短絡(バス衝突)が起きない。

続きは無料登録で読めます

冒頭を無料で公開中。無料登録でこの節の全文と、第4章以降を含む全参考書・全問題集が読めます。