i2cとは? わかりやすく解説

I2C

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/07 14:07 UTC 版)

I2Cバスでの接続の例

I2C(アイ・スクエアド・シー、アイ・アイ・シー)はフィリップス社で開発されたシリアルバスである。低速な周辺機器をマザーボードへ接続したり、組み込みシステム携帯電話などで使われている。

Inter-Integrated Circuit の略で、I-squared-C(アイ・スクエアド・シー)が正式な読みとされている。ただし、一般的な文字コード環境のプレーンテキスト上では上付き文字が使えないため、I2CあるいはIICと表記されることも多く、これをもって「アイ・ツー・シー」と発声されたりカタカナ表記される[1]ことがある。

設計

I2C で使われているのは、抵抗プルアップされた双方向のオープンコレクタ信号線が2本だけである。2本の信号線は、シリアルデータ (SDA) とシリアルクロック (SCL) からなる。電圧は最高で +5V までで、よく使われるのは +3.3V だが、他の電圧でも構わない。

I2C の参照設計では、7bitアドレス空間のうち 16 の予約アドレスを除いた最大 112 個のノードが、同じバス上で通信できる。もっとも一般的な I2C バスのモードは、100kbit/s の標準モード (standard mode) と 10kbit/s の低速モード (low-speed mode) だが、クロック周波数はゼロまで下げても構わない。ノード数の拡大と高速動作が可能な 400kbit/s のファーストモード (Fast mode) や 3.4Mbit/s の高速モード (High Speed mode) の追加と、10bit アドレス空間などの機能拡張が行なわれている。

特定のI2Cバス上に存在できるノードの数は、アドレス空間とバスの静電容量によって制限され、実際の通信距離は数メートルに制限される。比較的高いインピーダンスと低い雑音耐性は共通の接地電位を必要とし、実用的にはPC基板や小さな基板同士の通信に制限される[2]

改訂

元々の I2C システムは、フィリップスの各種チップを使った電子機器制御用のシンプルな内部バスシステムとして1980年代初期に開発されたものである。

  • 1992年バージョン 1.0 - 最初の標準化が行なわれ、400kbit/s のファーストモード (fast mode) と、1008ノードまでの 10bit アドレッシングモードが追加された。
  • 1998年バージョン 2.0 - 3.4Mbit/s の高速モード (high-speed mode) と、低消費電力を目的とした低電圧・低電流条件が追加された。
  • 2001年バージョン 2.1 - 2.0 からの小修正である。
  • 2007年バージョン 3 - Fast mode plus (Fm+) を追加、通信速度を従来の Fast mode (Fm) 0~400kbit/s から 0~1000Kb/s に向上させるための条件を規格化。
  • 2012年
    • バージョン 4 - Ultra fast mode (UFm) を追加、通信速度を 0~5000Kb/s に高速化させるため物理層をオープンコレクタ出力からCMOS出力に変更。予約アドレスから不要な CBUS address / Hs-mode master code が reserved に変更され general call address / START byte / 10-bit slave addressing のみ対応。
    • バージョン 5 - 誤記修正
  • 2014年バージョン 6 - 2つの図を修正。
  • 2021年バージョン 7 - メーカーIDの表を更新。用語を変更(マスター/スレーブをコントローラ/ターゲットに変更)。MIPI I3C概要の節を追加。最新版[3]

最新の仕様書は、フィリップスが設立したNXPセミコンダクターズ社のサイトにて配布されている。また、2004年8月に特許が失効しており、現在はロイヤリティフリーである。

応用

I2C が適しているのは、シンプルで製造コストを抑えることが速度よりも重要とされるような周辺機器である。I2C バスの代表的な用途としては、次の通り。

  • DRAMのバスタイミングの設定記憶(Serial Presence Detect:SPD)
  • ユーザの設定を記憶しているシリアル不揮発性メモリ(24C01/24C02/24C04など)へのアクセス。
  • 低速な D/Aコンバータへのアクセス。
  • 低速な A/Dコンバータへのアクセス。
  • モニターのコントラスト、色調、色バランスの変更。
  • インテリジェント・スピーカの音量変更。
  • 携帯電話などの LED 表示の制御。
  • リアルタイムクロックの読み出し。
  • CPU の温度やファンの回転速度など、ハードウェアの監視や診断用センサーの読み取り。(パーソナルコンピュータにおけるACPI制御下のSMBusなど)
  • システムの電源オン・オフ制御。
  • 2次電池の充放電状態コントローラの通信インタフェース。(スマートバッテリシステム)

わずか2本の汎用I/Oピンとソフトウェアだけで、マイクロコントローラからデバイス・チップのネットワークを制御できることが、I2C の最大の利点である。

I2C バスでは、システムが動作中であっても周辺機器の取り付け・取り外しが可能なので、ホットスワップが必要とされる用途には特に向いている。

I2C のようなバスが広まったのは、パッケージのサイズとピン数が、生産コストや集積回路設計に大きな影響を与えていることにコンピュータ技術者が気付いたからである。パッケージが小さければ軽量化・低消費電力化が可能で、これは携帯電話やポータブル・コンピューティングでは特に重要なことである。

OSでのサポート

Linux では、I2C は特定のデバイス(ADM1026やLM92など)用に特定のカーネルモジュールで扱われている。Linux 2.6ではカーネルコンフィグレーションの"Hardware Monitoring support"でサポートするシステムハードウェアモニタを選択できる。I2Cドライバのソースコードは drivers/hwmon 配下にある。I2Cドライバは大きく分けて core と algorithm, adapter の3種類のモジュールに分割されている。I2C クライアントの書き方の詳細は、カーネル関連のドキュメントや /usr/include/linux/i2c.h ヘッダファイルにある。OpenBSD には最近、いくつかの共通マスター・コントローラとセンサのサポートで I2C フレームワークが加えられた。

シンクレア QDOS とミネルヴァ( QDOS の再実装) QL オペレーティング・システムでは、TF サービスから提供されている拡張セットで I2C がサポートされている。

AmigaOS では、 Wilhelm Noeker の i2c.library 共有ライブラリで I2C アクセスできる。

eCos は、いくつかのハードウェア・アーキテクチャで I2C に対応している。

EPIA-M マザーボードは、Mini-ITX で I2C に対応している。

派生技術

I2C が元になっているものには、 ACCESS.bus 、 VESADisplay Data Channel (DDC) インターフェイス、 SMBus 、 IPMI などがある。これらの実装では、電圧やクロック周波数に違いがあり、また割り込み信号があることもある。

関連項目

参考文献

  1. ^ 「2線シリアル・インターフェースI2C詳解」『トランジスタ技術』、CQ出版、2014年10月、15頁。 
  2. ^ かふぇルネ I2Cの伝送可能距離” (2016年9月12日). 2019年3月22日閲覧。
  3. ^ I2C-bus specification and user manual”. NXPセミコンダクターズ (2021年10月1日). 2023年1月7日閲覧。

外部リンク


I2C

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/24 14:16 UTC 版)

プルアップ抵抗」の記事における「I2C」の解説

詳細は「I2C」を参照 I2Cでは、クロック信号線 (SCL) とデータ信号線 (SDA) にプルアップ抵抗接続されており、機器側の端子オープンコレクタ当になっていて信号線をLowにすることができる。すなわち、なにもないときはいずれ信号線もHighになっている

※この「I2C」の解説は、「プルアップ抵抗」の解説の一部です。
「I2C」を含む「プルアップ抵抗」の記事については、「プルアップ抵抗」の概要を参照ください。

ウィキペディア小見出し辞書の「i2c」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「i2c」の関連用語

i2cのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



i2cのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのI2C (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのプルアップ抵抗 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS