実機制御 GPIO/I2C/SPI・RTの用語集(9語)
実機制御 GPIO/I2C/SPI・RTに関する Linux 用語を、読み・意味・補足つきでまとめました。
GPIOじーぴーあいおー
汎用入出力ピン。LED点灯やボタン読み取りなど実機制御の土台。
General Purpose Input/Output。チップ名とライン番号で個々のピンを指定する。
I2Cあいすくえあシー
SDA/SCLの2線で複数機器を接続するシリアル通信。各機器をアドレスで識別。
i2cdetectで機器一覧、i2cget/i2csetでレジスタを読み書き。センサやRTC接続に多用。
libgpiodりぶじーぴーアイオーディー
現在標準のGPIO操作ライブラリ/ツール群(gpioget/gpioset等)。
/dev/gpiochipN を介して操作し、プロセス終了時にラインを自動解放する。旧sysfs方式の後継。
PREEMPT_RTぷりえんぷとあーるてぃー
Linuxにリアルタイム性を与えるカーネルパッチ/構成。
カーネル処理の多くをプリエンプト可能にし割り込み応答の最悪値を抑える。uname -aで確認。
PWMぴーだぶりゅーえむ
HIGHの時間比(デューティ比)を変えて擬似アナログ制御する手法。
LED調光・モータ速度・サーボ角度に使う。/sys/class/pwm でperiodとduty_cycleを設定。
SPIえすぴーあい
MOSI/MISO/SCLK/CSの4線を使う高速な全二重シリアル通信。
I2Cより速いがデバイスごとにCS線が必要。/dev/spidevX.Y を介して通信する。
sysfs方式(GPIO)しすふぁいるしすてむほうしき
/sys/class/gpio にexportして操作する旧方式。現在は非推奨。
Linux 4.8以降deprecated。プロセスが落ちてもピンが解放されない等の問題がありlibgpiodへ移行。
プルアップ/プルダウンぷるあっぷぷるだうん
入力ピンを既定でHIGH/LOWに固定する抵抗設定。
未接続時の電位を安定させ、ノイズによる誤検出を防ぐ。ボタン回路で重要。
レイテンシれいてんし
事象の発生から処理されるまでの遅延時間。
リアルタイム用途では平均より「最悪値」が重要。cyclictestで実測評価する。