

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
i2cとtwiの基本と大まかな違い
I2C(Inter-Integrated Circuit)は、2本の線だけで複数のデバイスを接続できる規格として長く使われてきました。SDAとSCLという2本の信号線を共有し、マスターとスレーブの関係で動作します。この仕組みの要点は「1本のデータ線と1本のクロック線で複数のデバイスを同時に制御できる点」です。
一方、TWI(Two-Wire Interface)は、I2Cと同じ原理を指す別名として使われることが多く、特に他社の製品や一部のマイ コンポーネントで用いられてきました。
結論としては、多くの場合、I2CとTWIは実質同じ2線式の通信規格を指す呼び方の違いであり、実装上の差はほとんどありません。ただし、名称が異なるだけで仕様の細部(アドレス形式や速度段階の呼び方など)が混在する場合があります。
この違いを正しく理解すると、データシートを読んだときの混乱が減り、回路設計・ソフトウェア開発の初期段階での判断がスムーズになります。ここでは「どの場面でどちらの呼称が出てくるか」や「実装上の小さな差異がどこに表れるか」を、初心者にも分かるように整理します。
以下の要点を押さえておくと、現場でのコミュニケーションが格段に楽になります。
歴史と定義
I2Cは1982年頃に Philips Semiconductors(現在の NXP)が提案した通信規格です。2本の線、SDAとSCL、1つのマスターがバス上の複数デバイスを制御します。
一方、TWIは「Two-Wire Interface」の頭文字を取った呼び名で、特に Atmel(現 Microchip)系の製品群がこの用語を使っていました。
この2つは設計思想・信号の仕様がほぼ同じで、履歴や商標の関係で名前が異なるだけと捉えるのが妥当です。規格としてのI2Cが正式名称である一方、現場ではTWIの表現も頻繁に見られます。
実務では、データシートや開発ボードのAPI名で呼ばれることがあり、混在を避けたい場合にはどちらの表現が使われているかを先に確認すると良いでしょう。
実務での使い分けと注意点
実務でのポイントは「使い方はほぼ同じだが、呼称の違いと対応するソフトウェア・ハードウェアの呼び名が異なるだけ」という点です。以下の項目を押さえると、現場の混乱を減らせます。- SDAとSCLの2本線で接続する点は同じ。
- プルアップ抵抗が必要になる点は共通。抵抗値は速度やボードの配線長によって変わる。
- アドレスは7-bit系が標準だが、10-bitアドレスにも対応する規格拡張がある。
- 複数マスターのモード(マルチマスター)やクロックストレッチの挙動は機器依存ではなく、基本的なルールは共通。
- バス速度は標準モード(100kHz)や高速モード(400kHz)、さらには高速モードプラス(1MHz)などがあります。デバイス間の互換性を最優先する場合は、最も遅いデバイスの速度に合わせるのが鉄板です。
- 実装上の違いはたとえば「I2CライブラリのAPI名」「ハードウェアの呼称」などに出やすい。ボード固有のドキュメントを最優先に参照するのが安全です。
放課後の技術雑談で、友だちが『clock stretchingって何だろう?』とつぶやいた。私は『I2Cの特徴の一つで、スレーブが忙しくてデータを送れる準備が整うまでSCLクロックを一時的に伸ばす機能だよ』と説明した。初めは直感的に難しく感じるけど、実はこの機能のおかげでバスに接続された複数のデバイスが、それぞれの準備状況に応じてデータのやり取りを待つことができる。友だちは『なるほど、待ちが発生しても崩れない仕組みか!』と納得してくれた。結局、技術用語の背景を知ると、日常の会話もスムーズになるんだよね。
次の記事: PDMとPWMの違いを徹底解説 中学生にもわかる使い分けと実例 »