目次

目次 (I2Cﾊﾞｽ規格ﾍﾙﾌﾟ Ver 1.0)

    序説

1.0 I2Cﾊﾞｽがもたらすｼｽﾃﾑ設計および装置製造上の利点
 1.1 ｼｽﾃﾑ設計を行う上での利点
 1.2 装置製造を行う上での利点
 1.3 ACCESS.ﾊﾞｽ
2.0 I2Cﾊﾞｽ仕様の概略
3.0 I2Cﾊﾞｽの概念
4.0 一般的な特徴
5.0 ビット転送
 5.1 ﾃﾞｰﾀの有効性
 5.2 [開始条件]と[停止条件]
6.0 ﾃﾞｰﾀ転送
 6.1 ﾊﾞｲﾄのﾌｫｰﾏｯﾄ
 6.2 確認応答
7.0 通信調整手順とｸﾛｯｸ生成
 7.1 同期
 7.2 通信調整手順
 7.3 ｸﾛｯｸ同期機構を利用した協調手順
8.0 7ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ
9.0 7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定
 9.1 第1ﾊﾞｲﾄの各ﾋﾞｯﾄの定義
  9.1.1 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ
  9.1.2 [開始ﾊﾞｲﾄ]
  9.1.3 CBUSとの互換性
10.0 I2Cﾊﾞｽ装置の電気的特性
 10.1 抵抗RpおよぴRsの最大値と最小値
11.0 I2Cﾊﾞｽ仕様の拡張
12.0 高速ﾓｰﾄﾞ
13.0 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定
 13.1 第1およぴ第2ﾊﾞｲﾄのﾋﾞｯﾄの定義
 13.2 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ
14.0 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽおよぴ[開始]ﾊﾞｲﾄ
15.0 I/O段およびﾊﾞｽ･ﾗｲﾝの電気的仕様およびﾀｲﾐﾝｸﾞ
16.0 利用情報
 16.1 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置の出力段のｽﾛｰﾌﾟ制御
 16.2 高連ﾓｰﾄﾞI2Cﾊﾞｽ装置のｽｨｯﾁ付き並列回路
 16.3 ﾊﾞｽ･ﾗｲﾝの配線ﾊﾟﾀｰﾝ
 16.4 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置の抵抗RpおよぴRsの最大値およぴ最小値
17.0 開発ﾂｰﾙ
18.0 ACCESS.ﾊﾞｽ･ｼｽﾃﾑでのI2Cﾊﾞｽの利用


序説

本ﾍﾙﾌﾟでは、以下の変更点を含むI2Cﾊﾞｽの最新仕様について説明しています。
■ | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽのｿﾌﾄｳｪｱによるﾌﾞﾛｸﾞﾗﾐﾝｸﾞ機能を割愛しました。この機能の実現はかなり複雑であり、これまで使用されてきませんでした。
■ | 低速ﾓｰﾄﾞを省きました。このﾓｰﾄﾞは、実際には、総合的なI2Cﾊﾞｽ機能に含まれるｻﾌﾞｾｯﾄの1つであり、特に明確に規定する必要のないものです。
■ | 高速ﾓｰﾄﾞが付加されました。これにより、ﾋﾞｯﾄ･ﾚｰﾄを従来の4倍の400kbit/sまで上げることが可能になりました。
■ | 高速ﾓｰﾄﾞ用装置は従来の規格とも互換性を保っています。従って、これらの装置は0～100kbit/sのI2Cﾊﾞｽ･ｼｽﾃﾑでも利用することができます。
■ | 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定が加わりました。これによって、更に1024のｱﾄﾞﾚｽを増やすことができます。
■ | EMC動作の改善を目的として、高速装置用にｽﾛｰﾌﾟ制御およぴ入力ﾌｨﾙﾀ機能を規定しました。
注意: 100kbit/sのI2Cﾊﾞｽおよぴ100kbit/s用装置の仕様は変更されていません。


設計、製造上の利点

1.0 I2Cﾊﾞｽがもたらすｼｽﾃﾑ設計およぴ装置製造上の利点

家庭用機器、通信機器、およぴ産業用機器では、一見無関係な設計の中に多くの類似点が見られることがしばしばあります。例えば、ほとんどの場合、どのようなｼｽﾃﾑにも以下のものが含まれています。
■ | なんらかの情報制御処理装置。通常はｼﾝｸﾞﾙ･ﾁｯﾌﾟ型のﾏｲｸﾛｺﾝﾄﾛｰﾗ。
■ | LCDﾄﾞﾗｲﾊﾞ、ﾘﾓｰﾄI/Oﾎﾟｰﾄ、RAM、E2PROM、あるいはﾃﾞｰﾀ･ｺﾝﾊﾞｰﾀのような汎用回路。
■ | ﾗｼﾞｵやﾋﾞﾃﾞｵ･ｼｽﾃﾑ用のﾃﾞｼﾞﾀﾙ･ﾁｭｰﾆﾝｸﾞ回路や信号処理回路、またはﾌﾟｯｼｭﾎﾝ発信型電話器のDTMF生成装置のような用途別専用回路。
これらの類似点をｼｽﾃﾑの設計や装置の製造において有利に活かすことができるように、またﾊｰﾄﾞｳｪｱの効率を最大限に引き上げ、回路の単純化を図るために、ﾌｨﾘｯﾌﾟｽは、IC間相互の制卸を効率よく行うことを目的とした、2本のﾜｲﾔからなる構造の簡単な双方向ﾊﾞｽを開発しました。このﾊﾞｽは、IC間相互ﾊﾞｽまたはI2Cﾊﾞｽと呼ばれます。現在、ﾌｨﾘｯﾌﾟｽのIC製品群は、150種類以上のCMOSおよぴﾊﾞｲﾎﾟｰﾗI2Cﾊﾞｽ互換装置を擁しており、上記3種類の用途すべてに対応しています。どのI2Cﾊﾞｽ互換装置もｵﾝ･ﾁｯﾌﾟ･ｲﾝﾀﾌｪｰｽを持ち、それによりI2Cﾊﾞｽを介して直接他の装置と相互に通信を行うことができます。このような設計理念のおかげで、これまでﾃﾞｼﾞﾀﾙ制御回路を設計する上で生じていた多くの問題が解決されることになりました。I2Cﾊﾞｽの特徴をいくつか以下に挙げます。
■ | ｼﾘｱﾙ･ﾃﾞｰﾀ･ﾗｲﾝ(SDA)とｼﾘｱﾙ･ｸﾛｯｸ･ﾗｲﾝ(SCL)の2本のﾊﾞｽ･ﾗｲﾝのみで構成されます。
■ | ﾊﾞｽに接続されている各装置はそれぞれ固有のｱﾄﾞﾚｽを持ち、それをもとにｿﾌﾄｳｪｱによる各装置のｱﾄﾞﾚｽ指定が可能となります。また装置間には、ﾏｽﾀとｽﾚｰﾌﾞという単純な関係が常に成り立ちます。ﾏｽﾀはﾏｽﾀ送信装置またはﾏｽﾀ受信装置として機能します。
■ | 万一複数のﾏｽﾀが同時にﾃﾞｰﾀ転送を開始しようとした場合でも、ﾃﾞｰﾀ破壌を防ぐために衝突検出機能およぴ通信調整手順を備えた本治的なﾏﾙﾁ･ﾏｽﾀ･ﾊﾞｽです。
■ | 8ﾋﾞｯﾄの双方向ｼﾘｱﾙ･ﾃﾞｰﾀ転送を、標準ﾓｰﾄﾞでは最高100kbit/s、高連ﾓｰﾄﾞでは最高400kbit/sで行うことができます。
■ | ｵﾝ･ﾁｯﾌﾟ･ﾌｨﾙﾀがﾊﾞｽ上のｽﾊﾟｲｸ電圧を防止するため、ﾃﾞｰﾀの信頼性が損なわれません。
■ | ﾊﾞｽのｷｬﾊﾟｼﾀﾝｽが上限値400pFを超えなければ、1つのﾊﾞｽにICをいくつでも接続することができます。

1.1 ｼｽﾃﾑ設計を行う上での利点
1.2 装置製造を行う上での利点
1.3 ACCESS.ﾊﾞｽ


設計上の利点

1.1 ｼｽﾃﾑ設計を行う上での利点

I2Cﾊﾞｽ互換ICを利用することで、機能ﾌﾞﾛｯｸ図から直接ﾌﾟﾛﾄﾀｲﾌﾟへとｼｽﾃﾑ設計をすぐに発展させることができます。さらに、これらのICは外部ｲﾝﾀﾌｪｰｽを必要とせず直接I2Cﾊﾞｽに接続可能であるため、単純にICをﾊﾞｽに接続、またはﾊﾞｽから取り除くことによってﾌﾟﾛﾄﾀｲﾌﾟ･ｼｽﾃﾑの設計変更や改善を簡単に行うことができます。

 持にｼｽﾃﾑ設計者にとって有利なI2Cﾊﾞｽ互換ICの特徴のいくつかを以下に紹介します。
■ | ﾌﾞﾛｯｸ図上の機能ﾌﾞﾛｯｸが実際のICと対応しているため、ﾌﾞﾛｯｸ図から最終的な配線図への移行を短時間で行うことができます。
■ | I2Cﾊﾞｽ接続用のｲﾝﾀﾌｪｰｽがすでにﾁｯﾌﾟ上に組み込まれているため、ﾊﾞｽ･ｲﾝﾀﾌｪｰｽを設計する必要がありません。
■ | ｱﾄﾞﾚｽ指定およぴﾃﾞｰﾀ転送手順が提供されているため、ｼｽﾃﾑの定義をすべてｿﾌﾄｳｪｱによって行うことができます。
■ | 多くの場合、同じﾀｲﾌﾟのICを多くの異なる用途に利用することができます。
■ | 設計者が、多用されているI2Cﾊﾞｽ互換ICに代表される機能ﾌﾞﾛｯｸにすぐに馴染むことができるため、設計時間を短縮することができます。
■ | ﾊﾞｽ上の他の回路に一切影響を与えることなく、ｼｽﾃﾑ内でのICの追加および除去を行うことができます。
■ | 故障診断およびﾃﾞﾊﾞｯｸﾞを容易に行うことができるため、不良箇所の究明が簡単です。
■ | よく使用するﾌﾟﾛｸﾞﾗﾑ･ﾓｼﾞｭｰﾙを集めたﾗｲﾌﾞﾗﾘを作っておくことでｿﾌﾄｳｪｱ開発に必要な時間を短縮することができます。
さらに、I2Cﾊﾞｽ互換製品ｼﾘｰｽﾞの1つであるCMOS ICは、上記のような特徴に加えて、下記のように特に携帯型装置やﾊﾞｯﾃﾘｰ駆動型ｼｽﾃﾑを設計する上で有利な特徴を備えています。
■ | 電力消費が非常に低い
■ | 耐ﾉｲｽﾞ性能が高い
■ | 供給電圧範囲が広い
■ | 動作温度範囲が広い


製造上の利点

1.2 装置製造を行う上での利点

I2Cﾊﾞｽ互換ICは、ｼｽﾃﾑ設計を行う上で便利なだけでなく、装置設計においても以下のような理由により多くの便宜を提供します。
■ | 2本のﾜｲﾔによって構成されるｼﾘｱﾙI2Cﾊﾞｽは、構造が簡単なため内部接続を最小限度に抑えることができます。従って、ﾋﾟﾝ数や基板上の配線数も少なくてすみ、結果的により小さく、より低ｺｽﾄの基板を作成することができます。
■ | I2Cﾊﾞｽ用の通信手順が完全に組み込まれているため、ｱﾄﾞﾚｽ･ﾃﾞｺｰﾀﾞやその他のﾊﾞｽ接続用論理回路が必要ありません。
■ | I2Cﾊﾞｽはﾏﾙﾁ･ﾏｽﾀ･ﾊﾞｽであるため、製造ﾗｲﾝ･ｺﾝﾋﾟｭｰﾀとの外部接続を介してｴﾝﾄﾞ･ﾕｰｻﾞ装置のﾃｽﾄや調整を簡単に行うことができます。
■ | SO(ｽﾓｰﾙ･ｱｳﾄﾗｲﾝ)、SSO(ｼｭﾘﾝｸ･ｽﾓｰﾙ･ｱｳﾄﾗｲﾝ)、およびDIL(ﾃﾞｭｱﾙ･ｲﾝﾗｲﾝ)製品内でI2Cﾊﾞｽ互換ICを利用することができるため、より一層の小型化を実現することが可能です。
以上は、優れた持徴の一部に過ぎません。さらに加えれば、I2Cﾊﾞｽ互換ICを利用することで、装置仕様の自由な変更や、最新の設計基準に合わせるためのｼｽﾃﾑのｱｯﾌﾟｸﾞﾚｰﾄﾞを簡単に行うことができるため、より柔軟なｼｽﾃﾑ設計が可能になﾘます。これにより、1つの基本的なﾓﾃﾞﾙをもとにしてｼﾘｰｽﾞの全ﾓﾃﾞﾙの開発が行えるようになﾘます。従って、新型ﾓﾃﾞﾙへのｱｯﾌﾟｸﾞﾚｰﾄﾞや機能拡張(ﾒﾓﾘ拡張、ﾘﾓｰﾄ制御、など)は、必要なICをﾊﾞｽに追加するだけで簡単に行うことができます。よﾘ大きなｻｲｽﾞのROMが必要になった場合には、必要ｻｲｽﾞのROMを搭織したﾏｲｸﾛｺﾝﾄﾛｰﾗを選択するだけですみます。新型のICは古いものに比べて機能的に優れているため、単に旧型のICをﾊﾞｽから取ﾘ除いて新型ICと変換するだけで、装置に新しい機能を加えたり、装置の性能向上を図ることが簡単に行えます。


ACCESSﾊﾞｽ

1.3 ACCESS.ﾊﾞｽ

I2Cﾊﾞｽは、設計者や製造者にとって便利な持微をもう1つ持っています。それは、I2Cﾊﾞｽが2本のﾜｲﾔからなる簡単な構造とｿﾌﾄｳｪｱによるｱﾄﾞﾚｽ指定機能を持つことから、ACCESS.ﾊﾞｽ用のﾌﾟﾗｯﾄﾌｫｰﾑとして最適なものであるということです。ACCESS.ﾊﾞｽは、簡単な4ﾋﾟﾝ･ｺﾈｸﾀを通して周辺機器をﾎｽﾄ･ｺﾝﾋﾟｭｰﾀに接統するためのｲﾝﾀﾌｪｰｽをRS-232Cｲﾝﾀﾌｪｰｽよりも低価格で提供することができます。


IICﾊﾞｽ仕様の概略

2.0 I2Cﾊﾞｽ仕様の概略

ｼﾝｸﾞﾙ･ﾁｯﾌﾟ･ﾏｲｸﾛｺﾝﾄﾛｰﾗを必要とするような8ﾋﾞｯﾄ･ｱﾌﾞﾘｹｰｼｮﾝでは、一定の設計基準を確立することができます。
■ | 完全なｼｽﾃﾑは一般に、少なくとも1つのﾏｲｸﾛｺﾝﾄﾛｰﾗとﾒﾓﾘや入出力ｴｸｽﾊﾟﾝﾀﾞなどの他の周辺装置から構成されます。
■ | ｼｽﾃﾑに各装置を接続するためのｺｽﾄは最低限におさえなけれはなりません。
■ | このようなｼｽﾃﾑは一般に、制御機能を実行するためのものであり、高速ﾃﾞｰﾀ転送は必要としません。
■ | 全体としての効率は便用される装置とそれらの装置を相互に結合するﾊﾞｽ構造の性質によって決定されます。
これらの基準を満足するｼｽﾃﾑを作成するには、ｼﾘｱﾙ･ﾊﾞｽ構造が必要です。ｼﾙｱﾙ･ﾊﾞｽのｽﾙｰﾌﾟｯﾄはﾊﾟﾗﾚﾙ･ﾊﾞｽより劣りますが、ﾜｲﾔ接続の数や接続ﾋﾟﾝの数は少なくてすみます。しかし、ﾊﾞｽは単に装置を接続する配線ではなく、ｼｽﾃﾑ内での通信を行うためのﾌｫｰﾏｯﾄと手順をすべて含んだものなのです。

 ｼﾘｱﾙ･ﾊﾞｽで互いに通信する装置は情報に矛盾が生じたり、ﾃﾞｰﾀが失われることがないように、一定の通信手順を持たなければなりません。高速装置と低速装置が互いに通信する機能も必要となります。接続される装置に依存するようなｼｽﾃﾑの構成は避けなければなりません。でなければ、ｼｽﾃﾑを変更したり、改善することが不可能になるからです。また通信手順は、いつ、どの装置によってﾊﾞｽが制御されるかを決定できるものでなければなりません。さらに、ｸﾛｯｸ速度の異なる装置がﾊﾞｽに接続されている場合には、ﾊﾞｽのｸﾛｯｸ源の定義が必要となります。本I2Cﾊﾞｽ仕様では、これらのすべての点に関して説明しています。


IICﾊﾞｽの概念

3.0 I2Cﾊﾞｽの概念

I2Cﾊﾞｽはあらゆる製造ﾌﾟﾛｾｽ(NMOS、CMOS、ﾊﾞｲﾎﾟｰﾗ)によって作られた入出力をｻﾎﾟｰﾄしています。2本のﾜｲﾔ、ｼﾘｱﾙ･ﾃﾞｰﾀ(SDA)、およぴｼﾘｱﾙ･ｸﾛｯｸ(SCL)によって、ﾊﾞｽに接続されている装置間での情報伝達が行われます。各装置はそれがﾏｲｸﾛｺﾝﾄﾛｰﾗであっても、LCDﾄﾞﾗｲﾊﾞであっても、ﾒﾓﾘあるいはｷｰﾎﾞｰﾄﾞ･ｲﾝﾀﾌｪｰｽであっても、固有のｱﾄﾞﾚｽによって認識され、装置の機能に応じて、送信装置または受信装置として動作できるようになっています。明らかに、LCDﾄﾞﾗｲﾊﾞは受信装置としてしか動作できませんが、ﾒﾓﾘはﾃﾞｰﾀを受信することも送信することもできます。これらの装置は、送信装置およぴ受信装置として考えることができるだけでなく、ﾃﾞｰﾀ転送を行うときは、ﾏｽﾀまたはｽﾚｰﾌﾞとして考えることもできます。ﾏｽﾀとはﾊﾞｽでﾃﾞｰﾀ転送を開始する装置であり、転送を可能にするｸﾛｯｸ信号を生成します。ｽﾚｰﾌﾞとは、そのとき、ﾏｽﾀによってｱﾄﾞﾚｽ指定される装置となります。

 I2Cﾊﾞｽはﾏﾙﾁ･ﾏｽﾀ･ﾊﾞｽです。ﾏﾙﾁ･ﾏｽﾀ･ﾊﾞｽとは、ﾊﾞｽを制御することのできる複数の装置を接続することができるﾊﾞｽのことです。ﾏｽﾀとなるのは、一般にﾏｲｸﾛｺﾝﾄﾛｰﾗなので、I2Cﾊﾞｽに接統されている2台のﾏｲｸﾛｺﾝﾄﾛｰﾗ間でﾃﾞｰﾀ転送を行う場合について考えてみましょう。この場合、I2Cﾊﾞｽのﾏｽﾀとｽﾚｰﾌﾞ、および受信装置と送信装置が存在します。ただし、これらの関係は一時的なものであり、その時点でのﾃﾞｰﾀ転送の方向によってのみ決定されるものです。ﾃﾞｰﾀの転送は次の順序で行なわれます。
■ ﾏｲｸﾛｺﾝﾄﾛｰﾗAがﾏｲｸﾛｺﾝﾄﾛｰﾗBに情報を送信する場合
① | ﾏｲｸﾛｺﾝﾄﾛｰﾗA(ﾏｽﾀ)がﾏｲｸﾛｺﾝﾄﾛｰﾗB(ｽﾚｰﾌﾞ)のｱﾄﾞﾚｽを指定します。
② | ﾏｲｸﾛｺﾝﾄﾛｰﾗA(ﾏｽﾀ送信装置)がﾏｲｸﾛｺﾝﾄﾛｰﾗB(ｽﾚｰﾌﾞ受信装置)にﾃﾞｰﾀを送信します。
③ | ﾏｲｸﾛｺﾝﾄﾛｰﾗAによってﾃﾞｰﾀ転送が終了されます。
■ ﾏｲｸﾛｺﾝﾄﾛｰﾗAがﾏｲｸﾛｺﾝﾄﾛｰﾗBから情報を受信する場合
① | ﾏｲｸﾛｺﾝﾄﾛｰﾗA(ﾏｽﾀ)がﾏｲｸﾛｺﾝﾄﾛｰﾗB(ｽﾚｰﾌﾞ)のｱﾄﾞﾚｽを指定します。
② | ﾏｲｸﾛｺﾝﾄﾛｰﾗA(ﾏｽﾀ受信装置)がﾏｲｸﾛｺﾝﾄﾛｰﾗB(ｽﾚｰﾌﾞ送信装置)からﾃﾞｰﾀを受信します。
③ | ﾏｲｸﾛｺﾝﾄﾛｰﾗAによってﾃﾞｰﾀ転送が終了されます。
後者の場合でも、ﾃﾞｰﾀ転送のﾀｲﾐﾝｸﾞをとり、ﾃﾞｰﾀ転送を終了するのはﾏｽﾀ(ﾏｲｸﾛｺﾝﾄﾛｰﾗA)になります。

 I2Cﾊﾞｽに複数のﾏｲｸﾛｺﾝﾄﾛｰﾗを接続できるということは、同時に複数のﾏｽﾀがﾃﾞｰﾀ転送を開始しようとする可能性があるということになります。そこで、このような現象が発生するのを避けるために、通信調整手順が開発されました。この通信手順は、I2CﾊﾞｽとすべてのI2Cﾊﾞｽ･ｲﾝﾀﾌｪｰｽの間のﾜｲﾔｰﾄﾞAND接続を利用しています。

 複数のﾏｽﾀがﾊﾞｽに情報を乗せようとした場合、他のﾏｽﾀが0 を生成したときに、最初に1 を生成したﾏｽﾀは通信を行うことができなくなります。通信調整手順中のｸﾛｯｸ信号は、SCLﾗｲﾝとAND接続されているﾏｽﾀによって生成されるｸﾛｯｸを組み合わせて同期させたものが使用されます。

 I2Cﾊﾞｽでは、常にﾏｽﾀ装置によってｸﾛｯｸ信号が生成されます。従って、ﾊﾞｽ上でﾃﾞｰﾀのやりとりが行われる場合には、ﾏｽﾀがそれぞれ独自のｸﾛｯｸを生成することになります。ﾏｽﾀの生成するﾊﾞｽ･ｸﾛｯｸ信号は、周期を延ばすためにｸﾛｯｸ･ﾗｲﾝをLowに保持する低速のｽﾚｰﾌﾞ装置、または通信調整手順中に他のﾏｽﾀによって変更されることがあるのみです。

表1 I2Cﾊﾞｽで便用される用語の定義
用語 | 意味
送信装置 | ﾃﾞｰﾀをﾊﾞｽに送信する装置
受信装置 | ﾃﾞｰﾀをﾊﾞｽから受信する装置
ﾏｽﾀ | ﾃﾞｰﾀ転送を開始し、ｸﾛｯｸ信号を生成し、ﾃﾞｰﾀ転送を終了する装置
ｽﾚｰﾌﾞ | ﾏｽﾀからｱﾄﾞﾚｽ指定される装置
ﾏﾙﾁ･ﾏｽﾀ | ﾒｯｾｰｼﾞを失なうことなく、複数のﾏｽﾀが同時にﾊﾞｽを制御しようとすること
通信調整手順 | 複数のﾏｽﾀが同時にﾊﾞｽを制御しようとしたときに、1つのﾏｽﾀだけがﾊﾞｽを制御できるようにし、さらに、ﾒｯｾｰｼﾞが失なわれたり、内容が変更されないようにする手順
同期化 | 複数の装置のｸﾛｯｸ信号の同期をとるための手順


一般的な特徴

4.0 一般的な特徴

SDAとSCLはどちらも双方向ﾗｲﾝであり、並列抵抗を通じて正の電源電圧に接続されています。ﾊﾞｽが解放されている時には、どちらのﾗｲﾝもHighの状態になります。ﾊﾞｽに接続されている装置の出力段には、AND接続機能を実行するためにｵｰﾌﾟﾝ･ﾄﾞﾚｲﾝまたはｵｰﾌﾟﾝ･ｺﾚﾀﾀが必要となります。I2Cﾊﾞｽでは高速ﾓｰﾄﾞ時最大400Kﾋﾞｯﾄ/秒の速度で、ﾃﾞｰﾀを転送することができます。ﾊﾞｽに接続されるｲﾝﾀﾌｪｰｽの数は、400pFというﾊﾞｽの最大ｷｬﾊﾟｼﾀﾝｽによってのみ制限されることになります。
図4 I2Cﾊﾞｽ装置のI2Cﾊﾞｽへの接続


ﾋﾞｯﾄ転送

5.0 ﾋﾞｯﾄ転送

I2Cﾊﾞｽには異なる技術を利用した装置(CMOS、NMOS、ﾊﾞｲﾎﾟｰﾗ)を接続することができるので、論理値の0(Low)と1(High)のﾚﾍﾞﾙは一定でなく、VDDのﾚﾍﾞﾙによって決定されます。転送される各ﾃﾞｰﾀ･ﾋﾞｯﾄごとに、1つのｸﾛｯｸ･ﾊﾟﾙｽが生成されます。
電気的な仕様の詳細
5.1 ﾃﾞｰﾀの有効性
5.2 [開始]条件と[停止]条件


ﾃﾞｰﾀの有効性

5.1 ﾃﾞｰﾀの有効性

ｸﾛｯｸがHighの間は、SDAﾗｲﾝの状態は一定でなければなりません。ﾃﾞｰﾀ･ﾗｲﾝがHighとLowの間で状態を変更できるのは、SCLﾗｲﾝのｸﾛｯｸ信号がLowの時だけに限られます。
図5 I2Cﾊﾞｽでのﾋﾞｯﾄ転送


開始条件と停止条件

5.2 開始条件と停止条件

I2Cﾊﾞｽの通信手順では、開始条件およぴ停止条件という固有の状況が発生します。

 SCLがHighのときに、SDAﾗｲﾝがHighからLowに変化すると、このような状況が発生します。この場合には開始条件と呼ばれます。

 SCLがHighのときに、SDAﾗｲﾝがLowからHighに変化すると、やはり同じような状況が発生し、これは停止条件と定義されます。
図6 開始条件と停止条件

開始条件と停止条件は常にﾏｽﾀによって生成されます。開始条件が発生した後は、ﾊﾞｽはﾋﾞｼﾞｰ状態になﾘます。停止条件が生成されると、その後しばらく、ﾊﾞｽは再びﾌﾘｰ状態となります。このようにI2Cﾊﾞｽが解放されているﾌﾘｰ状態では、SCL, SDA共にHighとなっています。停止条件後の次の開始条件間がﾌﾘｰ状態となりますが、最低t BUF間は、このﾌﾘｰ状態を保たなければいけません。

 このようなﾌﾘｰ状態から開始条件生成後、停止条件を生成する以前に新たな開始条件を生成することを再送開始条件と定義します。

ﾊﾞｽに接続されている装置が必要なｲﾝﾀﾌｪｰｽ･ﾊｰﾄﾞｳｪｱを備えていれば、開始条件と停止条件の検出は容易に行えます。しかし、このようなｲﾝﾀﾌｪｰｽを備えていない装置は、状態の変化を検出するために、各ｸﾛｯｸ･ﾊﾟﾙｽごとに少なくとも2回ずつSDAﾗｲﾝをｻﾝﾌﾟﾘﾝｸﾞしなければならなくなります。


ﾃﾞｰﾀ転送

6.0 ﾃﾞｰﾀ転送

6.1 ﾊﾞｲﾄのﾌｫｰﾏｯﾄ
6.2 確認応答


ﾊﾞｲﾄのﾌｫｰﾏｯﾄ

6.1 ﾊﾞｲﾄのﾌｫｰﾏｯﾄ

SDAﾗｲﾝに出力される各ﾊﾞｲﾄの長さは必ず8ﾋﾞｯﾄになります。1回の転送で伝送できるﾊﾞｲﾄ数には制限がなく、何ﾊﾞｲﾄでも送ることができます。各ﾊﾞｲﾄの後には、確認応答ﾋﾞｯﾄ(acknowledge bit)が必要となります。ﾃﾞｰﾀは最上位ﾋﾞｯﾄ(MSB)から順に送信されます。

 受信装置が他の機能、例えば内部割り込みのｻｰﾋﾟｽなどの実行を終了するまで、ﾃﾞｰﾀを構成する全ﾊﾞｲﾄを受信できない場合、受信装置側でｸﾛｯｸ･ﾗｲﾝSCLをLowに保持し、送信装置を待ち状態にすることができます。受信装置がﾃﾞｰﾀ･ﾊﾞｲﾄを受信できる状態になり、ｸﾛｯｸ･ﾗｲﾝSCLを解放すると、ﾃﾞｰﾀ転送が再開されます。

 場合によっては、I2Cﾊﾞｽのﾌｫｰﾏｯﾄと異なるﾌｫｰﾏｯﾄを使うこともできます(例えばCBUSと互換性のある装置の場合など)。このようなｱﾄﾞﾚｽから始まるﾒｯｾｰｼﾞは、ﾊﾞｲﾄ伝送中でも、停止条件を生成すれば、終了することができます。この場合には確認応答は生成されません(CBUSとの互換性参照)。
図7 I2Cﾊﾞｽでのﾃﾞｰﾀ転送
注: 通常、受信装置ではACK後のﾊﾞｲﾄ受信完了で割り込みを発生し、受信ﾃﾞｰﾀ処理を行います。この処理完了までSCLをLowに保持しｳｪｲﾄ状態とします。


確認応答

6.2 確認応答

ﾃﾞｰﾀ転送では、必ず確認応答(ACK)が必要です。確認応答用のｸﾛｯｸ･ﾊﾟﾙｽはﾏｽﾀによって生成されます。確認応答ｸﾛｯｸ･ﾊﾟﾙｽが生成されると、送信装置はSDAﾗｲﾝを解放(Highの状態に)します。
図8 I2Cﾊﾞｽでの確認応答
ﾊﾟﾙｽ9は確認応答用ｸﾛｯｸ･ﾊﾟﾙｽです。

受信装置は、確認応答ｸﾛｯｸ･ﾊﾟﾙｽがHigh状態のときに、SDAﾗｲﾝがLow状態で安定するように、確認応答ｸﾛｯｸ･ﾊﾟﾙｽの出力に合わせてSDAﾗｲﾝをLowにしなければなりません。もちろんｾｯﾄ･ｱｯﾌﾟ時間とﾎｰﾙﾄﾞ時間(Lowの状態を保持する時間)も考慮する必要があります。

 通常、ｱﾄﾞﾚｽ指定された受信装置は、ﾒｯｾｰｼﾞがCBUSｱﾄﾞﾚｽから始まる場合を除き、各ﾊﾞｲﾄの受信を完了するたぴに確認応答を生成しなければなりません。

 ｽﾚｰﾌﾞ受信装置がｱﾄﾞﾚｽ確認を行えない場合(例えば、ﾘｱﾙﾀｲﾑ機能を実行しているために受信できないような場合)、そのｽﾚｰﾌﾞはﾃﾞｰﾀ･ﾗｲﾝをHighの状態に保持しなければなりません。この時、ﾏｽﾀは停止条件を生成してﾃﾞｰﾀ転送を止めることができます。

 ｽﾚｰﾌﾞ受信装置がｱﾄﾞﾚｽを確認した場合でも、転送途中でﾃﾞｰﾀを受信できなくなった時には、ﾏｽﾀによって転送が途中で打ち切られることが必要になります。このように、ｽﾚｰﾌﾞがﾃﾞｰﾀを受信できない場合、ｽﾚｰﾌﾞは次の最初に送られてくるﾊﾞｲﾄに対して確認応答を生成しないことによってそのことを示します。このとき、ｽﾚｰﾌﾞはﾃﾞｰﾀ･ﾗｲﾝをHighの状態に保持するので、ﾏｽﾀが停止条件を生成します。

 ﾏｽﾀが受信装置となる場合、ｽﾚｰﾌﾞから送信された最後のﾃﾞｰﾀ･ﾊﾞｲﾄに対して確認応答を生成しないことによって、ﾏｽﾀはｽﾚｰﾌﾞ送信装置にﾃﾞｰﾀの終わりを知らせます。このとき、ｽﾚｰﾌﾞ送信装置はﾃﾞｰﾀ･ﾗｲﾝを解放し、ﾏｽﾀが停止条件を生成できるようにする必要があります。


通信許可手順とｸﾛｯｸ生成

7.0 通信許可手順とｸﾛｯｸ生成

7.1 同期
7.2 通信調整手順
7.3 ｸﾛｯｸ同期機構を利用した協調手順


同期

7.1 同期

どのﾏｽﾀも、I2Cﾊﾞｽでﾒｯｾｰｼﾞを転送するためのｸﾛｯｸをSCLﾗｲﾝ上で独自に生成します。ﾃﾞｰﾀは、ｸﾛｯﾀがHighの間だけ有効となります。従って、通信許可手順が1ﾋﾞｯﾄ毎に実行される場合には、ｸﾛｯｸを統一するためのなんらかの規定が必要となります。

 ｸﾛｯｸ信号の同期は、SCLﾗｲﾝと装置をAND接続することによって実行されます。これによって、SCLﾗｲﾝがHighからLowの状態に変化すると、関連する装置はLow期間のｶｳﾝﾄを開始します。ある装置のｸﾛｯｸがLowになると、その装置は自分のｸﾛｯｸがHighの状態になるまでSCLﾗｲﾝをLowに保持します。しかし、この装置のｸﾛｯｸがLowからHighに変化しても、他の装置のｸﾛｯｸがまだLow期間内にある場合、SCLﾗｲﾝの状態は変化しません。従ってSCLﾗｲﾝのLow期間は、Low期間の最も長い装置によって決定されることになります。この間、Low期間の短い装置は、Highのまま待ち状態となります。すべての装置がLow期間を終了すると、ｸﾛｯｸ･ﾗｲﾝは解放され、High状態になります。これで装置のｸﾛｯｸとSCLﾗｲﾝが同じ状態になり、どちらもHigh期聞のｶｳﾝﾄを開始します。SCLﾗｲﾝは、High期間を最初に終了した装置によって再びLow状態にされます。
図9 通信調整手順中のｸﾛｯｸの同期化
① | CLK1のHigh→LowでSCLはLowになり、CLK2の装置はSCL=Low検出でCLK2をLowにしてLow期間ｶｳﾝﾀをﾘｾｯﾄします。
② | CLK2のLow→HighでSCLはHighになり、High期間のｶｳﾝﾄが開始されます。
③ | CLK1の装置では、先行するCLK1のLow→High遷移から②までの区間は待ち状態となります。

 このように、Low期間の最も長い装置によってLow期間が、またHigh期間の最も短い装置によってHigh期間がそれぞれ決定され、SCLﾗｲﾝの同期がとられることになります。


通信調整手順

7.2 通信調整手順

ﾏｽﾀは、ﾊﾞｽが解放状態の時のみﾃﾞｰﾀ転送を開始することができます。開始条件の最小持続時間(t HD:STA)内に複数のﾏｽﾀが開始条件を生成する場合があります。この場合、開始条件は一定の許可手順に従ってﾊﾞｽに送信されます。

 SCLﾗｲﾝがHighﾚﾍﾞﾙにある時、SDAﾗｲﾝ上にHighﾚﾍﾞﾙを送信しているﾏｽﾀは、他のﾏｽﾀがSDAﾗｲﾝ上にLowﾚﾍﾞﾙを送信していれば自分のﾚﾍﾞﾙがﾊﾞｽのﾚﾍﾞﾙと一致しないため、ﾃﾞｰﾀ出力段をOFFにします。このようにしてSDAﾗｲﾝ上での通信許可手順が行われます。

 通信許可手順は、多くのﾋﾞｯﾄについて行われる場合があります。この手順で最初に行われるのはｱﾄﾞﾚｽ･ﾋﾞｯﾄ(7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定、10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定参照)の比較です。すべてのﾏｽﾀが同じ1つの装置をｱﾄﾞﾚｽ指定しようとしている場合には、さらに次の段階に進み、ﾃﾞｰﾀの比較が行われます。この時、I2Cﾊﾞｽ上のｱﾄﾞﾚｽ情報とﾃﾞ-ﾀ情報が使用されるので、この処理によって情報が失われることはありません。

 通信を許可されなかったﾏｽﾀは、それが決定されたﾊﾞｲﾄの終わりまでｸﾛｯｸ･ﾊﾟﾙｽを生成することができます。

 ｱﾄﾞﾚｽ指定の段階で、あるﾏｽﾀ装置の通信不許可が決定し、かつそのﾏｽﾀがｽﾚｰﾌﾞ機能を持っている場合、そのﾏｽﾀ装置は通信を許可されたﾏｽﾀによるｱﾄﾞﾚｽ指定の対象となっていることが考えられます。従って、通信不許可となったこの装置はすぐにｽﾚｰﾌﾞ受信装置ﾓｰﾄﾞに切り替わらなければなりません。

 図10は2つのﾏｽﾀの間での通信許可手順を示したものです。もちろん、よﾘ多くのﾏｽﾀ間(最大数はﾊﾞｽに接続されているﾏｽﾀの数によって決定)で通信許可手順が行われることもあります。DATA1を生成するﾏｽﾀの内部ﾃﾞｰﾀ･ﾚﾍﾞﾙとSDAﾗｲﾝの実際のﾚﾍﾞﾙが異なっている時、このﾏｽﾀのﾃﾞｰﾀ出力はOFFになります(図10の①)。その後で、このﾏｽﾀのHigh出力ﾚﾍﾞﾙがﾊﾞｽに接続されることになりますが、これは通信許可を得たﾏｽﾀによって開始されたﾃﾞｰﾀ伝送には何の影響も与えません。
図10 2つのﾏｽﾀの通信許可手順
① DATA1≠SDAでDATA1の装置は送信不許可

I2Cﾊﾞｽの制御は、同時に通信を開始しようとするﾏｽﾀの送信するｱﾄﾞﾚｽとﾃﾞｰﾀ情報のみに基づいて決定されるため、ﾊﾞｽ上では優先ﾏｽﾀや優先順位などは存在しません。

 ｼﾘｱﾙ転送の際、再送開始条件または停止条件がI2Cﾊﾞｽに送られた時点で通信許可手順がまだ実行中である場合には特に注意が必要です。もしこのような状況が発生する可能性がある時は、これに関係するﾏｽﾀはこの再送開始条件または停止条件をﾌｫｰﾏｯﾄ･ﾌﾚｰﾑ内の同一の場所で送ることが必要になります。言い換えると、以下の2者間では通信許可手順が機能しないことになります。
■ | 再送開始条件とﾃﾞｰﾀ･ﾋﾞｯﾄ
■ | 停止条件とﾃﾞｰﾀ･ﾋﾞｯﾄ
■ | 再送開始条件と停止条件


ｸﾛｯｸ同期による協調手順

7.3 ｸﾛｯｸ同期機構を利用した協調手順

ｸﾛｯｸ同期機構は、通信許可手順で使用するだけでなく、受信装置をﾊﾞｲﾄ･ﾚﾍﾞﾙまたはﾋﾞｯﾄ･ﾚﾍﾞﾙで高速ﾃﾞｰﾀ転送に対応できるようにするためにも利用されます。

 ﾊﾞｲﾄ･ﾚﾍﾞﾙ協調手順では、装置がﾃﾞｰﾀ･ﾊﾞｲﾄを高速で受信することができても、受信したﾊﾞｲﾄの保存や、次に送信するﾊﾞｲﾄの準備のための時間が必要になります。ｽﾚｰﾌﾞ装置は、ﾊﾞｲﾄの受信およぴ確認を行った後で、次のﾊﾞｲﾄを転送できる状態になるまでSCLﾗｲﾝをLowの状態に保持し、ﾏｽﾀを待ち状態にすることができます。ﾏｽﾀとｽﾚｰﾌﾞの間では、このような協調手順がとられています。

 ﾋﾞｯﾄ･ﾚﾍﾞﾙ協調手順では、I2Cｲﾝﾀﾌｪｰｽ･ﾊｰﾄﾞｳｪｱを特たない、または限られたﾊｰﾄﾞｳｪｱしか持たないﾏｲｸﾛｺﾝﾄﾛｰﾗなどの装置は.各ｸﾛｯｸのLow期間を延長することにより、ﾊﾞｽ･ｸﾛｯｸの速度を遅くすることができます。このようにして、ﾏｽﾀの速度をこの装置の内部動作速度に適合させることが可能となります。


7ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ

8.0 7ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ

ﾃﾞｰﾀ転送では、図11に示されているﾌｫｰﾏｯﾄが使用されます。
図11 完全なﾃﾞｰﾀ転送
開始条件(S)の後、ｽﾚｰﾌﾞのｱﾄﾞﾚｽが送信されます。このｱﾄﾞﾚｽは7ﾋﾞｯﾄから構成され、8ﾋﾞｯﾄ目にはﾃﾞｰﾀ方向ﾋﾞｯﾄ(R/W)が続きます。このﾃﾞｰﾀ方向ﾋﾞｯﾄが0なら送信(書き出し)、1ならﾃﾞｰﾀ要求(読み込み)を示します。ﾃﾞｰﾀ転送は、必ずﾏｽﾀが生成する停止条件(P)によって終了します。しかし、ﾏｽﾀがまだﾊﾞｽ上での通信を続けたい場合には、先に停止条件を生成することなく、再送開始条件(Sr)を生成して別のｽﾚｰﾌﾞのｱﾄﾞﾚｽを指定することができます。このようなﾃﾞｰﾀ転送では、以下のような様々な組み合せの読み込みおよぴ書き出しﾌｫｰﾏｯﾄが可能となります。
■ | ﾏｽﾀ送信装置からｽﾚｰﾌﾞ受信装置へのﾃﾞｰﾀ送信(図12)。転送方向は変わりません。
■ | ﾏｽﾀが1ﾊﾞｲﾄ目のすぐ後から、ｽﾚｰﾌﾞのﾃﾞｰﾀを読み込む場合(図13)。最初の確認応答時に、ﾏｽﾀ送信装置はﾏｽﾀ受信装置に、ｽﾚｰﾌﾞ受信装置はｽﾚｰﾌﾞ送信装置に変化します。この場合も確認応答はｽﾚｰﾌﾞが生成し、停止条件はﾏｽﾀが生成するという状況は変わりません。
■ | 混合ﾌｫｰﾏｯﾄ(図14)。1回の転送中に方向が変化するときは、開始条件とｽﾚｰﾌﾞ･ｱﾄﾞﾚｽのどちらも再送信されます。ただしR/Wﾋﾞｯﾄの方向は逆になります。

図12 ﾏｽﾀ送信装置による7ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つｽﾚｰﾌﾞ受信装置への送信
S ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ R/W A ﾃﾞｰﾀ A ﾃﾞｰﾀ A/N P
=0
ﾗｲﾄ 		送信ﾃﾞｰﾀ
n個の(ﾊﾞｲﾄ+確認応答)
ﾏｽﾀからの送信 | S | 開始条件 | A | 確認応答(SDA=L)
ｽﾚｰﾌﾞからの送信 | P | 終了条件 | N | 非確認応答(SDA=H)

図13 最初のﾊﾞｲﾄ後、ﾏｽﾀがすぐにｽﾚｰﾌﾞからのﾃﾞｰﾀを読む場合
S | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ﾃﾞｰﾀ | A | ﾃﾞｰﾀ | A/N | P
 | =1 ﾘｰﾄﾞ |  | 受信ﾃﾞｰﾀ n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |

図14 複合ﾌｫｰﾏｯﾄ
S | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ﾃﾞｰﾀ | A/N | Sr | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ﾃﾞｰﾀ | A/N | P
n個の(ﾊﾞｲﾄ+確認応答) | n個の(ﾊﾞｲﾄ+確認応答)
Sr 再送開始条件

注意:
① | 混合ﾌｫｰﾏｯﾄは、例えば、ｼﾘｱﾙ･ﾒﾓﾘの制御などに利用されます。最初のﾃﾞｰﾀ･ﾊﾞｲﾄ中に、内部ﾒﾓﾘ･ﾛｹｰｼｮﾝが書き込まれなければなりません。開始条件とｽﾚｰﾌﾞ･ｱﾄﾞﾚｽが再度送信されると、ﾃﾞｰﾀの送信が可能となります。
② | 以前にｱｸｾｽされたﾒﾓﾘ･ﾛｹｰｼｮﾝの自動加算あるいは自動減算についての決定はすべて装置の設計者が行います。
③ | 上記手順においてAまたはNによって示されているように、各ﾊﾞｲﾄの後には確認応答(ACK)が続きます。
④ | I2Cﾊﾞｽ互換装置は、開始条件または再送開始条件を受信した時点でﾊﾞｽ･ﾛｼﾞｯｸをﾘｾｯﾄ(SCL, SDA共にOFF)し、ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの送信を予測できるようにしておかなければなりません。


7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定

9.0 7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定

I2Cﾊﾞｽのｱﾄﾞﾚｽ指定手順では、ﾏｽﾀがどのｽﾚｰﾌﾞを選沢するかが、通常、開始条件に続く最初のﾊﾞｲﾄで判断できるように考えられています。ただし、ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽは例外であり、これはすべての装置のｱﾄﾞﾚｽを指定することができます。このｱﾄﾞﾚｽが使用される場合、理論的には、すべての装置が確認応答を行わなければなりません。しかし、このｱﾄﾞﾚｽを無視するように装置を設定することも可能です。ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽの2ﾊﾞｲﾄ目によって、実行すぺき動作が指定されます。
9.1 第1ﾊﾞｲﾄの各ﾋﾞｯﾄの定義
 9.1.1 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ
 9.1.2 [開始]ﾊﾞｲﾄ
 9.1.3 CBUSとの互換性
参考: 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定


第1ﾊﾞｲﾄの各ﾋﾞｯﾄの定義

9.1 第1ﾊﾞｲﾄの各ﾋﾞｯﾄの定義

このﾊﾞｲﾄの最初の7ﾋﾞｯﾄはｽﾚｰﾌﾞ･ｱﾄﾞﾚｽを示します。
図15
開始手順の後の最初のﾊﾞｲﾄ
MSB | - ﾋﾞｯﾄ - |  |  |  |  |  | LSB
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ |  |  |  |  |  |  | R/W
送出順の8番目のﾋﾞｯﾄはLSB(最下位ﾋﾞｯﾄ)と呼ばれ、ﾒｯｾｰｼﾞの方向を決定するためのﾋﾞｯﾄです。第1ﾊﾞｲﾄの最下位ﾋﾞｯﾄが0なら、ﾏｽﾀから指定のｽﾚｰﾌﾞに向かって情報の書き込みが行われることを示します。このﾋﾞｯﾄが1なら、ﾏｽﾀがｽﾚｰﾌﾞからの情報を読み込むことを示します。

 ｱﾄﾞﾚｽが送信されると、ｼｽﾃﾑ内の各装置は開始条件の後の最初の7ﾋﾞｯﾄをそれぞれ自分のｱﾄﾞﾚｽと比較します。ｱﾄﾞﾚｽが一致した場合、その装置はR/Wﾋﾞｯﾄに応じて、ｽﾚｰﾌﾞ受信装置またはｽﾚｰﾌﾞ送信装置としてﾏｽﾀからｱﾄﾞﾚｽ指定されたと判断します。

 ﾃﾞﾊﾞｲｽのｽﾚｰﾌﾞ･ｱﾄﾞﾚｽは、変更不能な固定部分とﾌﾟﾛｸﾞﾗﾑ可能な部分から構成されている場合があります。1つのｼｽﾃﾑ内には、同一の装置が複数使用されていることが考えられるため、このような場合には、ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽのﾌﾟﾛｸﾞﾗﾑ可能な部分を変えることで、可能な限り多くのﾃﾞﾊﾞｲｽに1つのｱﾄﾞﾚｽを割り振ることができるようになります。装置のｱﾄﾞﾚｽ･ﾋﾞｯﾄ中のﾌﾟﾛｸﾞﾗﾑ可能なﾋﾞｯﾄの数は、利用可能なﾋﾟﾝの数によって決定されます。例えば、ある装置のｱﾄﾞﾚｽ･ﾋﾞｯﾄの中で4ﾋﾞｯﾄが固定部分であり、3ﾋﾞｯﾄがﾌﾟﾛｸﾞﾗﾑ可能な部分である場合、1つのﾊﾞｽに最大8つの同種の装置を接続することが可能になります。I2Cﾊﾞｽ委員会によってI2Cｱﾄﾞﾚｽの割り当て調整が行われます。それぞれ8種類の組み合わせを持つ2組のｱﾄﾞﾚｽ(0000XXXと1111XXX)は、表2の目的のために予約されています。ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの組み合わせ11110XXは、10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定用に予約されているため使用できません。
表2 第1ﾊﾞｲﾄの予約済みﾋﾞｯﾄの定義
ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/Wﾋﾞｯﾄ | 意味
0000 000 | 0 | ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ
0000 000 | 1 | ｽﾀｰﾄ･ﾊﾞｲﾄ
0000 001 | X | CBUSｱﾄﾞﾚｽ
0000 010 | X | 異なるﾊﾞｽ･ﾌｫｰﾏｯﾄ用に予約されているｱﾄﾞﾚｽ
0000 011 | X | 将来の利用のために予約済み
0000 1XX | X
1111 1XX | X
1111 0XX | X | 10ﾋﾞｯﾄ･ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ指定
注意:
① | 開始ﾊﾞｲﾄの受信時には、どの装置も確認応答を送ることはできません。
② | C8US互換装置とI2Cﾊﾞｽ互換装置を1つのｼｽﾃﾑに混在させることができるように、CBUSｱﾄﾞﾚｽは予約されています。このｱﾄﾞﾚｽを受信したときには、I2Cﾊﾞｽ装置は応答することができません。
③ | I2Cﾊﾞｽの通信手順と他の通信手順を混在させることができるように、異なるﾊﾞｽ･ﾌｫｰﾏｯﾄ用に予約されているｱﾄﾞﾚｽも含まれています。このようなﾌｫｰﾏｯﾄおよび通信手順を使って動作することができるI2Cﾊﾞｽ互換装置だけがこのｱﾄﾞﾚｽに応答することができるようになっています。

9.1.1 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ
9.1.2 [開始ﾊﾞｲﾄ]
9.1.3 CBUSとの互換性


ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ

9.1.1 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ

ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽは、I2Cﾊﾞｽに接続されているすべての装置をｱﾄﾞﾚｽ指定するために使用されるｱﾄﾞﾚｽです。しかし、ｼﾞｪﾈﾗﾙ･ｺｰﾙで送信される情報の中に必要なﾃﾞｰﾀがまったく含まれていない場合には、装置は確認応答を送信しないことによってこのｱﾄﾞﾚｽを無視することができます。ｼﾞｪﾈﾗﾙ･ｺｰﾙ送信によるﾃﾞｰﾀを必要とする装置は、ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ指定に対して確認応答を送信し、ｽﾚｰﾌﾞ受信装置として機能します。2番目以降のﾊﾞｲﾄは、このﾃﾞｰﾀを処理することのできるすべてのｽﾚｰﾌﾞ受信装置によって受信確認されることになります。ｽﾚｰﾌﾞ装置がこれらのﾊﾞｲﾄ中の一部を処理できない場合には、確認応答を送信しないことによってそのﾊﾞｲﾄを無視しなければなりません。ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽの内容は、必ず2ﾊﾞｲﾄ目で定義されています。
図16 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ
 |  |  |  |  |  |  |  |  |  |  |  |  |  |  | LSB
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | A | Ｘ | Ｘ | Ｘ | Ｘ | Ｘ | Ｘ | Ｘ | B | A
1ﾊﾞｲﾄ目 (ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ) |  |  |  |  |  |  |  |  | 2ﾊﾞｲﾄ目 |  |  |  |  |  |  |  |
この場合、以下の2つの場合が考えられます。
■ | 最下位ﾋﾞｯﾄBが0の場合
■ | 最下位ﾋﾞｯﾄBが1の場合
Bが0の場合:

 2ﾊﾞｲﾄ目は次のような内容となります。

 ■ 00000110 (06H)
ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽのﾌﾟﾛｸﾞﾗﾑ可能部分のﾊｰﾄﾞｳｪｱによるﾘｾｯﾄおよぴ書き込み指示。この2ﾊﾞｲﾄを受信すると、ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽに応答するように設定されたすべての装置がｱﾄﾞﾚｽのﾌﾟﾛｸﾞﾗﾑ可能な部分をﾘｾｯﾄし、そこに新しいｱﾄﾞﾚｽを書き込みます。電源電圧の供給後、装置がSDAﾗｲﾝまたはSCLﾗｲﾝをLowﾚﾍﾞﾙにしないように注意することが必要です。なぜなら、これらのﾗｲﾝがLowﾚﾍﾞﾙになることでﾊﾞｽがﾌﾞﾛｯｸされるからです。

 ■ 00000100 (04H)
ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽのﾌﾟﾛｸﾞﾗﾑ可能な部分へのﾊｰﾄﾞｳｪｱによる書き込み指示。白身のｱﾄﾞﾚｽのﾌﾟﾛｸﾞﾗﾑ可能な部分をﾊｰﾄﾞｳｪｱによって定義しているすべての装置(およびｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽに応答する装置)は、この連続する2ﾊﾞｲﾄを受け取ることによってそのﾌﾟﾛｸﾞﾗﾑ可能な部分の状態を保持します。装置のﾘｾｯﾄは行われません。

 ■ 00000000 (00H)
このｺｰﾄﾞを2ﾊﾞｲﾄ目として使用することはできません。

 ｱﾄﾞﾚｽ･ﾌﾟﾛｸﾞﾗﾐﾝｸﾞのﾌﾟﾛｾｽについては、それぞれの装置のﾃﾞｰﾀ･ｼｰﾄを参照して下さい。他のｺｰﾄﾞは一定ではないため、装置はこれらのｺｰﾄﾞを無視しなければなりません。
Bが1の場合:

 この2ﾊﾞｲﾄ･ｼｰｹﾝｽは、ﾊｰﾄﾞｳｪｱ･ｼﾞｪﾈﾗﾙ･ｺｰﾙとなります。つまりこのｼｰｹﾝｽは、ｷｰﾎﾟｰﾄﾞ、ｽｷｬﾅなどの希望するｽﾚｰﾌﾞ･ｱﾄﾞﾚｽを送信するようにﾌﾟﾛｸﾞﾗﾐﾝｸﾞできないﾊｰﾄﾞｳｪｱ･ﾏｽﾀ装置によって送信されることになります。ﾊｰﾄﾞｳｪｱ･ﾏｽﾀは、ﾒｯｾｰｼﾞをどの装置に送信すべきかを前もって知らないため、このﾊｰﾄﾞｳｪｱ･ｼﾞｪﾈﾗﾙ･ｺｰﾙと自分自身のｱｸｾｽを生成してｼｽﾃﾑに自分を認識させることしかできません。
図17 ﾏｽﾀ送信装置からのﾃﾞｰﾀ転送
B
S | 00000000 | A | ﾏｽﾀ･ｱﾄﾞﾚｽ | 1 | A | ﾃﾞｰﾀ | A | ﾃﾞｰﾀ | A | P
ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ | 2ﾊﾞｲﾄ目 | n個の(ﾊﾞｲﾄ+確認応答)
ﾏｽﾀからの送信 ｽﾚｰﾌﾞからの送信
第2ﾊﾞｲﾄの残りの7ﾋﾞｯﾄは、ﾊｰﾄﾞｳｪｱ･ﾏｽﾀのｱﾄﾞﾚｽを表します。このｱﾄﾞﾚｽは、ﾊﾞｽに接統されているｲﾝﾃﾘｼﾞｪﾝﾄ装置(ﾏｲｸﾛｺﾝﾄﾛｰﾗなど)によって認識され、ﾊｰﾄﾞｳｪｱ･ﾏｽﾀからの情報は、このﾊﾞｽを通して送られます。ﾊｰﾄﾞｳｪｱ･ﾏｽﾀがｽﾚｰﾌﾞとしても機能できる場合、ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽはﾏｽﾀ･ｱﾄﾞﾚｽと同じになります。
一部のｼｽﾃﾑでは、ｼｽﾃﾑ･ﾘｾｯﾄの後でﾊｰﾄﾞｳｪｱ･ﾏｽﾀ送信装置がｽﾚｰﾌﾞ受信装置ﾓｰﾄﾞになることがあります。このようにすれば、ｼｽﾃﾑを構成するﾏｽﾀは、どのｱﾄﾞﾚｽにﾃﾞｰﾀを送信しなければならないのかをﾊｰﾄﾞｳｪｱ･ﾏｽﾀ送信装置(現在はｽﾚｰﾌﾞ受信装置ﾓｰﾄﾞ)に指示することができます。このﾌﾟﾛｸﾞﾗﾐﾝｸﾞ手順の後も、ﾊｰﾄﾞｳｪｱ･ﾏｽﾀは、ﾏｽﾀ送信装置ﾓｰﾄﾞのままになります。
図18 ｽﾚｰﾌﾞ装置に直接ﾃﾞｰﾀをﾀﾞﾝﾌﾟすることのできるﾊｰﾄﾞｳｪｱ･ﾏｽﾀ送信装置のﾃﾞｰﾀ転送
① 構成ﾏｽﾀがﾀﾞﾝﾌﾟ･ｱﾄﾞﾚｽをﾊｰﾄﾞｳｪｱ･ﾏｽﾀに送信する場合
S | ﾊｰﾄﾞｳｪｱ･ﾏｽﾀのｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ﾊｰﾄﾞｳｪｱ･ﾏｽﾀのためのﾀﾞﾝﾌﾟ･ｱﾄﾞﾚｽ | Ｘ | A | P
ﾗｲﾄ
② ﾊｰﾄﾞｳｪｱ･ﾏｽﾀが指定されたｽﾚｰﾌﾞ装置にﾃﾞｰﾀをﾀﾞﾝﾌﾟする場合
S | ﾊｰﾄﾞｳｪｱ･ﾏｽﾀのためのﾀﾞﾝﾌﾟ･ｱﾄﾞﾚｽ | R/W | A | ﾃﾞｰﾀ | A | ﾃﾞｰﾀ | A/N | P
ﾗｲﾄ | n個の(ﾊﾞｲﾄ+確認応答)


[開始]ﾊﾞｲﾄ

9.1.2 開始ﾊﾞｲﾄ

ﾏｲｸﾛｺﾝﾄﾛｰﾗはI2Cﾊﾞｽに2種類の方法で接続することができます。ｵﾝ･ﾁｯﾌﾟ･ﾊｰﾄﾞｳｪｱI2Cﾊﾞｽ･ｲﾝﾀﾌｪｰｽを持つﾏｲｸﾛｺﾝﾄﾛｰﾗの場合、ﾊﾞｽから要求を受けた時のみ割り込みがかかるようにﾌﾟﾛｸﾞﾗﾑすることができます。このようなｲﾝﾀﾌｪｰｽを持たない装置は、ｿﾌﾄｳｪｱを介して常にﾊﾞｽを監視していなければなりません。当然、ﾏｲｸﾛｺﾝﾄﾛｰﾗがﾊﾞｽを監視、つまり、ﾎﾟｰﾘﾝｸﾞする時間が長くなればなるほど、本来実行しなければならない機能のために費やすことのできる時間は少なくなります。従って、高速ﾊｰﾄﾞｳｪｱ装置と、ｿﾌﾄｳｪｱ･ﾎﾟｰﾘﾝｸﾞを行う比較的低速のﾏｲｸﾛｺﾝﾄﾛｰﾗとでは速度に差が生じます。

 このような場合には、ﾃﾞｰﾀ転送の前に通常よりかなり長い時間のかかる開始手順が必要となる場合があります。
図19 開始ﾊﾞｲﾄ手順
この開始手順は以下のような内容から構成されます。
■ | 開始条件(S)
■ | 開始ﾊﾞｲﾄ(00000001)
■ | 確認応答ｸﾛｯｸ･ﾊﾟﾙｽ(ACK)
■ | 再送開始条件(Sr)
ﾊﾞｽへのｱｸｾｽを必要とするﾏｽﾀから開始条件(S)が送信された後、開始ﾊﾞｲﾄ(00000001)が送信されます。別のﾏｲｸﾛｺﾝﾄﾛｰﾗは、開始ﾊﾞｲﾄの中の7つの0のいずれかを検出するまで、低いｻﾝﾌﾟﾘﾝｸﾞ速度でSDAﾗｲﾝのｻﾝﾌﾟﾘﾝｸﾞを行います。SDAﾗｲﾝ上でLowﾚﾍﾞﾙが検出されると、ﾏｲｸﾛｺﾝﾄﾛｰﾗは、同期をとるために使用される再送開始条件(Sr)を検出するために、速いｻﾝﾌﾟﾘﾝｸﾞ速度に切り換えます。

 ﾊｰﾄﾞｳｪｱ受信装置は、再送開始条件(Sr)を受信するとﾘｾｯﾄし、以後開始ﾊﾞｲﾄは無視します。

 開始ﾊﾞｲﾄの後に、確認応答用のｸﾛｯｸ･ﾊﾟﾙｽが生成されます。このｸﾛｯｸ･ﾊﾟﾙｽは、ﾊﾞｽで使用されるﾊﾞｲﾄ処理ﾌｫｰﾏｯﾄに準拠するためだけに生成されるものです。どの装置も開始ﾊﾞｲﾄに対して確認応答をしてはいけません。


CBUSとの互換性

9.1.3 CBUSとの互換性

CBUS受信装置をI2Cﾊﾞｽに接続することができます。しかし、このような場合には、DLENと呼ばれる3番目のﾊﾞｽ･ﾗｲﾝを接続し、確認応答ﾋﾞｯﾄを省略するようにしなければなりません。通常、I2C上でのﾃﾞｰﾀ転送は、8ﾋﾞｯﾄから構成されるﾊﾞｲﾄの送信によって行われますが、CBUS装置の場合はﾌｫｰﾏｯﾄが異なっています。

 混合ﾊﾞｽ構造においては、I2C装置がCBUSﾒｯｾｰｼﾞに応答しないようにすることが必要です。そのため、I2C装置が応答することのできない特殊なCBUSｱﾄﾞﾚｽ(0000001X)が確保されています。CBUSｱﾄﾞﾚｽが送信された後でDLENﾗｲﾝをｱｸﾃｨﾌﾞ状態(High)にすれば、CBUSﾌｫｰﾏｯﾄでのﾃﾞｰﾀ転送を実行することができます。停止条件の後、再びすべての装置がﾃﾞｰﾀを受け取れる状態になります。

 ﾏｽﾀ送信装置はCBUSｱﾄﾞﾚｽを送信した後、CBUSﾌｫｰﾏｯﾄを送信することができます。送信は、すべての装置が停止条件を認識した時に終了します。
図20 CBUS送信装置/受信装置を使ったﾃﾞｰﾀ伝送のﾌｫｰﾏｯﾄ
注意: CBUS構成がわかっており、CBUS装置がこれ以上追加されないことがわかっている場合、設計者は、その時使用する装置の条件に合わせてﾎｰﾙﾄﾞ時間を設定することができます。


IICﾊﾞｽ装置の電気的特性

10.0 IICﾊﾞｽ装置の電気的特性

表3およぴ表4は、I2Cﾊﾞｽ装置のI/O部の電気的仕様およぴI/O部に接続されているﾊﾞｽ･ﾗｲﾝの特性を示しています。

 I2Cﾊﾞｽ装置の入力ﾚﾍﾞﾙが1.5Vおよぴ3Vで一定している場合、I2Cﾊﾞｽ装置は適当な供給電源をそれぞれ個別に持つことができます。この場合、並列抵抗を5V±10%の電源に接続することが必要です。
図21 I2Cﾊﾞｽに接続されている入力ﾚﾍﾞﾙが一定の装置
VDD2,3,4は各々個別の電源電圧
一方、I2Cﾊﾞｽ装置の入力ﾚﾍﾞﾙがVDDに応じて相対的に変化する場合には、I2Cﾊﾞｽ装置全体で1つの共通電源しか利用することはできません。また並列抵抗もこれに接続されていることが必要です。
図22 I2Cﾊﾞｽに接続されている電源電圧範囲の広い装置
図のVDD=3Vは例えばの例
入力ﾚﾍﾞﾙの固定している装置と、入力ﾚﾍﾞﾙがVDDに応じて相対変化する装置とを混合して利用する場合には、図23に示すように、後者の装置を共通の5V±10%電源ﾗｲﾝに接統し、SDAおよぴSCLﾋﾟﾝのそれぞれに並列抵抗を接統する必要があります。
図23 I2Cﾊﾞｽ上での、入力ﾚﾍﾞﾙが一定の装置(電源VDD2,3)と入力ﾚﾍﾞﾙがVDDに応じて変化する装置(電源VDD1)の混合利用
VDD2,3は各々個別の電源電圧
入力ﾚﾍﾞﾙは以下の方法で決定することができます。
■ | Lowﾚﾍﾞﾙのﾉｲｽﾞ･ﾏｰｼﾞﾝは0.1VDD
■ | Highﾚﾍﾞﾙのﾉｲｽﾞ･ﾏｰｼﾞﾝは0.2VDD
■ | 図24に示すように、(例えばﾃﾚﾋﾟの受像管のﾌﾗｯｼｭ･ｵｰﾊﾞｰ等が原因で発生する)SDAおよぴSCLﾗｲﾝ上の高電圧ｽﾊﾟｲｸに対する保護対策として、例えば300Ωの直列抵抗(Rs)を便用することができます。
図24 高電圧ｽﾊﾟｲｸ対策用並列抵抗(Rs)
10.1 抵抗RpおよぴRsの最大値と最小値


Rp,Rsの最大値,最小値

10.1 抵抗RpとRsの最大値および最小値

標準ﾓｰﾄﾞのI2Cﾊﾞｽ装置では、図24に示す抵抗RpとRsの値は以下の要因によって決定されます。
■ | 供給電圧
■ | ﾊﾞｽのｷｬﾊﾟｼﾀﾝｽ
■ | 接続されている装置の数(入力電流+漏洩電流)

 出力段におけるVOL max=0.4Vでの最低ｼﾝｸ電流が3mAに設定されているため、抵抗Rpの最小値は基本的に供給電圧によって決定されます。
図25 Rs値をﾊﾟﾗﾒｰﾀとした時のRpの最小値と供給電圧の関係

Lowﾚﾍﾞﾙの希望ﾉｲｽﾞ･ﾏｰｼﾞﾝ0.1VDDによってRsの最大値が決定されます。
図26 供給電圧をﾊﾟﾗﾒｰﾀとした時のRsの最大値とRpの関係

ﾊﾞｽのｷｬﾊﾟｼﾀﾝｽとは、配線、接続、およぴﾋﾟﾝの総合的なｷｬﾊﾟｼﾀﾝｽです。立ち上がり時間が設定されているため、Rpの最大値はこのｷｬﾊﾟｼﾀﾝｽによって決定します。
図27 標準ﾓｰﾄﾞI2CﾊﾞｽにおけるRpの最大値とﾊﾞｽ･ｷｬﾊﾟｼﾀﾝｽの関係

各入出力接続の最大Highﾚﾍﾞﾙ入力電流は最大10μAに設定されています。Highﾚﾍﾞﾙの希望ﾉｲｽﾞ･ﾏｰｼﾞﾝが0.2VDDであるため、この入力竃流によってRpの最大値が決定します。この最大値はVDDに応じて変わります。
図28 供給電圧をﾊﾟﾗﾒｰﾀとした時のHighﾚﾍﾞﾙ合計入力電流とRp最大値の関係


IICﾊﾞｽ仕様の拡張

11.0 I2Cﾊﾞｽ仕様の拡張

ﾃﾞｰﾀ転送ﾚｰﾄが最高100kﾋﾞｯﾄ/秒で、7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定の可能なI2Cﾊﾞｽは、仕様変更されることなくこれまで10年以上利用されてきました。この規格は事実上の標準として世界中で受け入れられ、数百種類ものI2Cﾊﾞｽ互換のICがPhilipsや他のﾒｰｶｰによって販売されています。現在、I2Cﾊﾞｽの仕様が拡張され、次の2つの機能が加えられました。

 ■ 高速ﾓｰﾄﾞ:

このﾓｰﾄﾞでは、ﾋﾞｯﾄ転送ﾚｰﾄを0～ｰ400kﾋﾞｯﾄ/秒まで、4倍あげることができます。

 ■ 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定:

これにより最大1024のｱﾄﾞﾚｽを追加利用することが可能となります。

 I2Cﾊﾞｽ仕様をこのように拡張した理由は以下のように2つあります。
◆ | 新しいｱﾌﾟﾘｹｰｼｮﾝでは、より多くのｼﾘｱﾙ･ﾃﾞ-ﾀを送る必要があるので、100kﾋﾞｯﾄ/秒よりも高速なﾋﾞｯﾄ転送ﾚｰﾄが求められるようになったため。IC製造技術の進歩により、ｲﾝﾀﾌｪｰｽ回路の製造ｺｽﾄを上げることなく4倍もの高速化を実現することが可能となりました。
◆ | 7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定方式で利用可能なｱﾄﾞﾚｽのほとんどはすでに2回以上利用され、今後、新しい装置に対するｱﾄﾞﾚｽの割り当てを問題なく行うためには、より多くのｱﾄﾞﾚｽの組み合せが必要となったため。新しい10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定方式では、利用可能なｱﾄﾞﾚｽの数を約10倍に増やすことができます。
I2Cﾊﾞｽ･ｲﾝﾀﾌｪｰｽを持つ新しい装置には、すべて高速ﾓｰﾄﾞが用意されています。希望観測的には、これらの装置は400kﾋﾞｯﾄ/秒の速度でﾃﾞｰﾀの送受を行えるはずです。装置が400kﾋﾞｯﾄ/秒転送に同期できることが最低限の条件となります。その後で、装置はSCL信号のLow期間を延長することによって転送速度を遅くすることも可能です。高速ﾓｰﾄﾞを持つ装置でも、遅い装置との下位互換性を保っていなければなりません。なぜなら、たとえ高速ﾓｰﾄﾞを持つ装置でも、0～100kﾋﾞｯﾄ/秒のI2Cﾊﾞｽ･ｼｽﾃﾑでは、0～-100kﾋﾞｯﾄ/秒の速度にしか対応していない装置と通信することが要求されるからです。

 当然ながら、0～100kﾋﾞｯﾄ/秒のI2Cﾊﾞｽ･ｲﾝﾀﾌｪｰｽを持つ装置を高速ﾓｰﾄﾞのI2Cﾊﾞｽ･ｼｽﾃﾑに組み込むことはできません。なぜなら、これらの装置は高い転送ﾚｰﾄに対応できないため、これらの装置が予測不可能な状態になる可能性があるからです。ただし、0～100kﾋﾞｯﾄ/秒内での使用の場合は混在して組み込むことが可能です。

 高速ﾓｰﾄﾞのI2Cﾊﾞｽ･ｲﾝﾀﾌｪｰｽを持つ装置には、7ﾋﾞｯﾄまたは10ﾋﾞｯﾄのｽﾚｰﾌﾞ･ｱﾄﾞﾚｽのどちらでも割り当てることができます。しかし、ﾊｰﾄﾞｳｪｱ･ｺｽﾄ的に最も安価であり、ﾒｯｾｰｼﾞの長さも最短になる7ﾋﾞｯﾄ･ｱﾄﾞﾚｽの方が好まれています。0～100kﾋﾞｯﾄ/秒の標準ﾓｰﾄﾞ･ｼｽﾃﾑあるいは0～400kﾋﾞｯﾄ/秒の高速ﾓｰﾄﾞ･ｼｽﾃﾑのいずれの場合でも、1つのｼｽﾃﾑの中に7ﾋﾞｯﾄおよぴ10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを混在させることが可能です。既存のﾏｽﾀ装置および今後開発されるﾏｽﾀ装置は、7ﾋﾞｯﾄ･ｱﾄﾞﾚｽまたは10ﾋﾞｯﾄ･ｱﾄﾞﾚｽのいずれかを生成することができます。


高速ﾓｰﾄﾞ

12.0 高速ﾓｰﾄﾞ

I2Cﾊﾞｽの高速ﾓｰﾄﾞでも、SDAおよぴSCLﾗｲﾝの通信手順、ﾌｫｰﾏｯﾄ、ﾛｼﾞｯｸ･ﾚﾍﾞﾙおよぴ最大容量性負荷は、徒来のI2Cﾊﾞｽ仕様と同一です。従来のI2Cﾊﾞｽ仕様と異なる点は以下の通りです。
■ | 最大ﾋﾞｯﾄ･ﾚｰﾄが400kﾋﾞｯﾄ/秒に上がりました。
■ | ｼﾘｱﾙ･ﾃﾞｰﾀ(SDA)およぴｼﾘｱﾙ･ｸﾛｯｸ(SCL)信号のﾀｲﾐﾝｸﾞが変更されました。CBUSなど、高いﾋﾞｯﾄ･ﾚｰﾄに対応していない他のﾊﾞｽ･ｼｽﾃﾑとの互換性を考慮する必要がなくなりました。
■ | 高速ﾓｰﾄﾞ装置の入力に、SDAおよぴSCL入力においてｽﾊﾟｲｸ防止対策およぴｼｭﾐｯﾄ(Schmitt)ﾄﾘｶﾞが必要になりました。
■ | 高速ﾓｰﾄﾞ装置の出力ﾊﾞｯﾌｧに、SDAおよぴSCL信号の立ち下がり端ｽﾛｰﾌﾟ制御の組み込みが必要になりました。
■ | 高速ﾓｰﾄﾞ装置への電源供給が切れた場合、ﾊﾞｽ･ﾗｲﾝを妨げることがないようにSDAおよぴSCLのI/Oﾋﾟﾝと電源の接続が外れるようになっていなければなりません。
■ | ﾊﾞｽ･ﾗｲﾝに接続された外部並列装置は、高速ﾓｰﾄﾞI2Cﾊﾞｽに対応するために、より短い許容可能立ち上がり時間を可能にするように変更される必要があります。ﾊﾞｽの負荷が最高200pFまでの場合、各ﾊﾞｽ･ﾗｲﾝの並列装置に抵抗を使用することができます。またﾊﾞｽ負荷が200pF～400pFの場合には、並列装置に電流供給源(最大3mA)またはｽｨｯﾁ付き抵抗を利用することができます。


10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定

13.0 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定

10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定を利用しても、I2Cﾊﾞｽ仕様のﾌｫｰﾏｯﾄが変わることはありません。10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定では、開始条件(S)または再送開始条件(Sr)に続く第1ﾊﾞｲﾄの最初の7ﾋﾞｯﾄに、予約ｱﾄﾞﾚｽ1111XXXの組み合せを利用することができます。10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定によって、既存の7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定が影響を受けることはありません。7ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つ装置およぴ10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つ装置を1つの同じI2Cﾊﾞｽ接続することが可能です。また7ﾋﾞｯﾄおよぴ10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定を標準ﾓｰﾄﾞのｼｽﾃﾑ(最大100kﾋﾞｯﾄ/秒)または高速ﾓｰﾄﾞのｼｽﾃﾑ(最大400kﾋﾞｯﾄ/秒)のいずれでも利用することができます。

 予約ｱﾄﾞﾚｽ･ﾋﾞｯﾄ1111XXXでは8種類の組み合せが可能ですが、10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定では4種類の組み合わせ11110XXのみ利用可能となります。残りの4種類の組み合せ11111XXは、将来のI2Cﾊﾞｽ拡張で必要となる可能性があるため、それを考慮して予約されています。
13.1 第1およぴ第2ﾊﾞｲﾄのﾋﾞｯﾄの定義
13.2 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ


第1,2ﾊﾞｲﾄのﾋﾞｯﾄの定義

13.1 第1および第2ﾊﾞｲﾄのﾋﾞｯﾄの定義

10ﾋﾞｯﾄのｽﾚｰﾌﾞ･ｱﾄﾞﾚｽは、開始条件(S)または再送開始条件(Sr)に続く最初の2ﾊﾞｲﾄから構成されます。第1ﾊﾞｲﾄの最初の7ﾋﾞｯﾄの構成は11110XXになります。このうちの最後の2ﾋﾞｯﾄ(XX)は、10ﾋﾞｯﾄ･ｱﾄﾞﾚｽの最上位ﾋﾞｯﾄ(MSB)となります。第1ﾊﾞｲﾄの第8ﾋﾞｯﾄは、0となります。第2ﾊﾞｲﾄ目で10ﾋﾞｯﾄ･ｱﾄﾞﾚｽの、残りの8ﾋﾞｯﾄが送られます。


10ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ

13.2 10ﾋﾞｯﾄ･ｱﾄﾞﾚｽのﾌｫｰﾏｯﾄ

10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定を含むﾃﾞｰﾀ転送では、さまぎまな組み合わせの読み込み/書き出しの形式が考えられます。ﾃﾞｰﾀ転送の形式として以下の例があげられます。

■ ﾏｽﾀ送信装置からｽﾚｰﾌﾞ受信装置への転送が10ﾋﾞｯﾄ･ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ指定によって行われる場合(転送方向は不変) [図29]
開始条件に続いて10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定が行われる時、各ｽﾚｰﾌﾞはｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第1ﾊﾞｲﾄ内の最初の7ﾋﾞｯﾄ(11110XX)を自分自身のｱﾄﾞﾚｽと比較し、8番目のﾋﾞｯﾄ(R/W方向ﾋﾞｯﾄ)が0であるかどうかを調べます。この時、複数の装置がｱﾄﾞﾚｽの合致を確認し、それぞれが確認応答を行う場令もあります(A1)。合致を確認したすべてのｽﾚｰﾌﾞは、ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ内の8ﾋﾞｯﾄ(XXXXXXXX)を自分のｱﾄﾞﾚｽと比較します。しかし、この時に適合を確認して確認応答を行うことができるｽﾚｰﾌﾞは1つだけになります(A2)。この後、このｽﾚｰﾌﾞが停止条件(P)または異なるｽﾚｰﾌﾞ･ｱﾄﾞﾚｽに先行する再送開始条件(Sr)を受け取るまで、ﾏｽﾀによるこのｽﾚｰﾌﾞへのｱﾄﾞﾚｽ指定が維持します。
図29 ﾏｽﾀ送信装置が10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つｽﾚｰﾌﾞ受信装置をｱﾄﾞﾚｽ指定する場合
11110XX | 0 | XXXXXXXX
S ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ R/W A1 ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ A2 ﾃﾞｰﾀ A ～ ﾃﾞｰﾀ A/N P
ﾗｲﾄ | n個の(ﾊﾞｲﾄ+確認応答)
ﾏｽﾀからの送信 | S | 開始条件 | Sr | 再送開始条件 | A | 確認応答(SDA=L)
ｽﾚｰﾌﾞからの送信 | P | 停止条件 |  |  | N | 非確認応答(SDA=H)
■ 10ﾋﾞｯﾄ･ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ指定によってﾏｽﾀ受信装置がｽﾚｰﾌﾞ送信装置からのﾃﾞｰﾀを読む場合(2番目のR/Wﾋﾞｯﾄ[図30]の後で転送方向が変更)
確認応答ﾋﾞｯﾄA2が送られるまでの手順は、上で説明したﾏｽﾀ送信装置がｽﾚｰﾌﾞ受信装置にｱﾄﾞﾚｽする場合と同様です。再送開始条件(Sr)が生成された時、ｱﾄﾞﾚｽの合致を確認したｽﾚｰﾌﾞは以前にｱﾄﾞﾚｽ指定されたことを記憶しています。合致ｽﾚｰﾌﾞは、再送開始条件Srに続くｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第1ﾊﾞｲﾄの最初の7ﾋﾞｯﾄが、開始条件(S)後に続いたものと同一であるかどうかを調べ、次いで第8ﾋﾞｯﾄ(R/W)が1であるかどうかを確認します。もし合致した場合には、このｽﾚｰﾌﾞは自分が送信側としてｱﾄﾞﾚｽされたと考えて確認応答A3を送ります。

 ﾏｽﾀによるｽﾚｰﾌﾞ送信装置へのｱﾄﾞﾚｽ指定は、ｽﾚｰﾌﾞが停止条件(P)、あるいは異なるｽﾚｰﾌﾞ･ｱﾄﾞﾚｽに先行する再送開始条件(Sr)を受け取るまで続きます。再送開始条件(Sr)が生成された時、他のすべてのｽﾚｰﾌﾞ装置も同様にｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第1ﾊﾞｲﾄの最初の7ﾋﾞｯﾄ(111l0XX)を自分のｱﾄﾞﾚｽと比較し、第8ﾋﾞｯﾄ(R/W)の状態を調べます。しかしR/W=1であるため(10ﾋﾞｯﾄ装置の場合)またはｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ11110XXが適合しないため(7ﾋﾞｯﾄ装置の場合)、他のｽﾚｰﾌﾞは応答することはありません。
図30 ﾏｽﾀ受信装置が10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つｽﾚｰﾌﾞ送信装置をｱﾄﾞﾚｽ指定する場合
 | 11110XX | 0 |  | XXXXXXXX |  |  | 11110XX | 1 |
S | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A1 | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ | A2 | Sr | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A3 | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | P
 |  | ﾗｲﾄ |  |  |  |  |  | ﾘｰﾄﾞ |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |

■ 混合ﾌｫｰﾏｯﾄ。ﾏｽﾀがｽﾚｰﾌﾞに対してﾃﾞｰﾀを転送した後、同じｽﾚｰﾌﾞからのﾃﾞ-ﾀを読み場合 [図31]
1つのﾏｽﾀがﾊﾞｽを常に独占します。送信方向は2番目のR/Wﾋﾞｯﾄが送られた後に変更されます。
図31 混合ﾌｫｰﾏｯﾄ。ﾏｽﾀが10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つｽﾚｰﾌﾞをｱﾄﾞﾚｽ指定した後、このｽﾚｰﾌﾞにﾃﾞｰﾀを転送し、次にﾏｽﾀがｽﾚｰﾌﾞからのﾃﾞｰﾀを読む場合
 | 11110XX | 0 |  | XXXXXXXX |  |  |  |  |  |  |  | 11110XX | 1 |
S | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ | A | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | Sr | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A3 | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | P
 |  | ﾗｲﾄ |  |  |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |  |  | ﾘｰﾄﾞ |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |

■ 混合ﾌｫｰﾏｯﾄ。ﾏｽﾀが1つのｽﾚｰﾌﾞにﾃﾞｰﾀを送り、次いで別のｽﾚｰﾌﾞにﾃﾞｰﾀを送る場合 [図32]
ﾊﾞｽは1つのﾏｽﾀによって常に占有されます。
図32 混合ﾌｫｰﾏｯﾄ。ﾏｽﾀが10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つ2つのｽﾚｰﾌﾞにﾃﾞｰﾀを送る場合(共に10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ)
 | 11110XX | 0 |  | XXXXXXXX |  |  |  |  |  |  |  | 11110XX | 0 |  | XXXXXXXX |
S | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ | A | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | Sr | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ | A | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | P
 |  | ﾗｲﾄ |  |  |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |  |  | ﾗｲﾄ |  |  |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |

■ 混合ﾌｫｰﾏｯﾄ。1回のｼﾘｱﾙ転送で10ﾋﾞｯﾄおよび7ﾋﾞｯﾄのｱﾄﾞﾚｽ指定が共に行われる場合 [図33]
開始条件(S)が生成された後、もしくは再送開始条件(Sr)が生成された後、10ﾋﾞｯﾄまたは7ﾋﾞｯﾄのｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの送信が可能となります。図33は、どのようにしてﾏｽﾀが1つのｽﾚｰﾌﾞに7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定でﾃﾞｰﾀを送った後、2つめののｽﾚｰﾌﾞに10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定でﾃﾞｰﾀ送信を行うかを示しています。ﾊﾞｽは1つのﾏｽﾀによって常に占有されます。
図33 混合ﾌｫｰﾏｯﾄ。ﾏｽﾀが2つのｽﾚｰﾌﾞにﾃﾞｰﾀを送る場合(片方が7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ、もう一方は10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ)
 |  | 0 |  |  |  |  |  |  |  | 11110XX | 0 |  | XXXXXXXX |
S | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | Sr | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽ | R/W | A | ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの第2ﾊﾞｲﾄ | A | ﾃﾞｰﾀ | A | ～ | ﾃﾞｰﾀ | A/N | P
 |  | ﾗｲﾄ |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |  |  | ﾗｲﾄ |  |  |  | n個の(ﾊﾞｲﾄ+確認応答) |  |  |  |  |
注意:
① | 混合ﾌｫｰﾏｯﾄは、例えばｼﾘｱﾙ･ﾒﾓﾘを制御する場合に利用されます。最初のﾃﾞｰﾀ・ﾊﾞｲﾄ中に、内蔵ﾒﾓﾘの場所が書かれなければなりません。開始条件とｽﾚｰﾌﾞ･ｱﾄﾞﾚｽが再送された後、ﾃﾞｰﾀの送信が可能になります。
② | 以前にｱｸｾｽされたﾒﾓﾘの位置などを自動的に加算または減算するかについての判断は装置の設計者によって行われます。
③ | 各ﾊﾞｲﾄに続いて、上の図中でAまたNで表示されている確認応答ﾋﾞｯﾄが送信されます。
④ | I2Cﾊﾞｽ互換装置は、ｽﾚｰﾌﾞ･ｱﾄﾞﾚｽの送信を予測できるように、開始条件または再送開始条件を受け取った時点で各自のﾊﾞｽ･ﾛｼﾞｯｸをﾘｾｯﾄ(SCL, SDA共にHigh)する必要があります。


ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽと[開始]ﾊﾞｲﾄ

14.0 ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽおよび[開始]ﾊﾞｲﾄ

I2Cﾊﾞｽにおける10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定では、通常、開始条件(S)の後に続く最初の2ﾊﾞｲﾄによって.どのｽﾚｰﾌﾞがﾏｽﾀに選択されるかが決定されます。唯一の例外が、ﾏｽﾀ送信装置が全装置に対してｱﾄﾞﾚｽを行う時のｼﾞｪﾈﾗﾙ･ｺ-ﾙ･ｱﾄﾞﾚｽ00000000(00H)です。10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つｽﾚｰﾌﾞ装置は、7ﾋﾞｯﾄ･ｱﾄﾞﾚｽを持つｽﾚｰﾌﾞ装置と同様の方法でｼﾞｪﾈﾗﾙ･ｺｰﾙに対して応答します。

 ﾏｽﾀ装置は、ｼﾞｪﾈﾗﾙ･ｺｰﾙの後に自分の10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを送ることができます。この場合、ｼﾞｪﾈﾗﾙ･ｺｰﾙ･ｱﾄﾞﾚｽ･ﾊﾞｲﾄに続いてﾏｽﾀ送信装置の10ﾋﾞｯﾄ･ｱﾄﾞﾚｽを含む2つの連続したﾊﾞｲﾄが送られます。ﾌｫｰﾏｯﾄを図17に示します。このうち、最初のﾃﾞｰﾀ･ﾊﾞｲﾄにﾏｽﾀのｱﾄﾞﾚｽの8つの最下位ﾋﾞｯﾄが含まれます。(ﾏｽﾀ･ｱﾄﾞﾚｽには11110XXXが入ります。)

 7ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定の場合と同様に、10ﾋﾞｯﾄ･ｱﾄﾞﾚｽ指定の前に開始ﾊﾞｲﾄ00000001(01H)が送られることがあります。


ﾊﾞｽ･ﾗｲﾝの電気的仕様、ﾀｲﾐﾝｸﾞ

15.0 I/O段およびﾊﾞｽ･ﾗｲﾝの電気的仕様およびﾀｲﾐﾝｸﾞ

I2CﾊﾞｽのI/Oﾚﾍﾞﾙ、I/O電流、ｽﾊﾟｲｸ抑制、出力ｽﾛｰﾌﾟ制御、およぴﾋﾟﾝのｷｬﾊﾟｼﾀﾝｽを表3に示します。表4にはI2Cﾊﾞｽのﾀｲﾐﾝｸﾞを記載しています。図34はI2Cﾊﾞｽのﾀｲﾐﾝｸﾞの定義を示したものです。

 高速ﾓｰﾄﾞの場合も、ﾊﾞｽ･ﾗｲﾝ上のHighおよぴLowﾚﾍﾞﾙでのﾉｲｽﾞ･ﾏｰｼﾞﾝは、標準ﾓｰﾄﾞI2Cﾊﾞｽの場合と同じです。

 表4に示すSCLｸﾛｯｸのHighおよぴLow状態の最小ﾎｰﾙﾄﾞ･ﾀｲﾑによって、標準ﾓｰﾄﾞの最大ﾋﾞｯﾄ転送ﾚｰﾄである100kﾋﾞｯﾄ/秒およぴ高速ﾓｰﾄﾞの最大ﾋﾞｯﾄ転送ﾚｰﾄである400kﾋﾞｯﾄ/秒が決定されます。標準ﾓｰﾄﾞあるいは高速ﾓｰﾄﾞを問わず、どのI2Cﾊﾞｽ装置も、上記の速度でそのままﾃﾞｰﾀ送信またはﾃﾞｰﾀ受信を行う能力を持つか、あるいはｸﾛｯｸ同期方式(ﾏｽﾀを強制的に待ち状態にし、SCL信号のLow状態のﾎｰﾙﾄﾞ･ﾀｲﾑを延長する)を利用することで、それぞれの最大ﾋﾞｯﾄ･ﾚｰﾄでの転送に対応できなければなりません。もちろん、後者の方法を利用した場合にはﾋﾞｯﾄ転送速度は遅くなります。
表3 I2CﾊﾞｽのSDAおよびSCL I/Oｽﾃｰｼﾞの特性
ﾊﾟﾗﾒ-ﾀ | 記号 | 標準ﾓｰﾄﾞ |  | 高速ﾓｰﾄﾞ |  | 単位
 |  | Min | Max | Min | Max
Lowﾚﾍﾞﾙ入力電圧 |
入力ﾚﾍﾞﾙが一定の場合 | VIL | -0.5 | 1.5 | -0.5 | 1.5 | V
入力ﾚﾍﾞﾙがVDDに応じて変化する場合 |  | -0.5 | 0.3VDD | -0.5 | 0.3VDD
Highﾚﾍﾞﾙ入力電圧 |
入力ﾚﾍﾞﾙが一定の場合 | VIH | 3.0 | ① | 3.0 | ① | V
入力ﾚﾍﾞﾙがVDDに応じて変化する場合 |  | 0.7VDD | ① | 0.7VDD | ①
ｼｭﾐｯﾄ(Schmitt)ﾄﾘｶﾞ入力のﾋｽﾃﾘｼｽ |
入力ﾚﾍﾞﾙが一定の場合 | Vhys | N/A | N/A | 0.2 | - | V
入力ﾚﾍﾞﾙがVDDに応じて変化する場合 |  | N/A | N/A | 0.05VDD | -
入力ﾌｨﾙﾀによって抑制されるｽﾊﾟｲｸのﾊﾟﾙｽ幅 | tsp | N/A | N/A | 0 | 50 | ns
Lowﾚﾍﾞﾙ出力電圧(O.D.またはO.C.) |
ｼﾝｸ電流3mA時 | VOL1 | 0 | 0.4 | 0 | 0.4 | V
ｼﾝｸ電流6mA時 | VOL2 | N/A | N/A | 0 | 0.6
ﾊﾞｽのｷｬﾊﾟｼﾀﾝｽが10pF～400pF(VOL2の並列抵抗を通して最大6mAまで)の場合のVIH minからVIL maxへの出力立ち下がり時間 |
VOL1での最大ｼﾝｸ電流3mA | tOF | - | 250② | 20+0.1Cb② | 250② | ns
VOL2での最大ｼﾝｸ電流6mA |  | N/A | N/A | 20+0.1Cb② | 250②
入力電圧0.4V～0.9VDD max時の各I/Oﾋﾟﾝの入力電流 | Ii | -10 | 10 | -10③ | 10③ | μA
各I/Oﾋﾟﾝのｷｬﾊﾟｼﾀﾝｽ | Ci | - | 10 | - | 10 | pF
N/A | 該当せず
① | 最大VIH = VDD max + 0.5V
② | Cb1つのﾊﾞｽ･ﾗｲﾝのｷｬﾊﾟｼﾀﾝｽ(単位pF)。表4で示されているSDAおよびSCLﾊﾞｽ･ﾗｲﾝの最大t F(300ns)は出力段での最大t OF(250ns)より大きくなります。これによって、図34に示すように、最大規定t Fを超えることなくSDA/SCLﾋﾟﾝとSDA/SCLﾊﾞｽ･ﾗｲﾝの間に直列保護抵抗(Rs)を接続することが可能となります。
③ | VDDの供給が切れた時に、I/OﾋﾟﾝがSDAおよびSCLﾗｲﾝを妨害しないようにする必要があります。
表4 I2CﾊﾞｽのSDAおよびSCLﾊﾞｽ･ﾗｲﾝの特性
ﾊﾟﾗﾒ-ﾀ | 記号 | 標準ﾓｰﾄﾞ |  | 高速ﾓｰﾄﾞ |  | 単位
 |  | Min | Max | Min | Max
SCLｸﾛｯｸ周波数 | fSCL | 0 | 100 | 0 | 400 | KHz
停止条件と開始条件 の間のﾊﾞｽ･ﾌﾘｰ･ﾀｲﾑ | tBUF | 4.7 | - | 1.3 | - | μs
ﾎｰﾙﾄﾞ･ﾀｲﾑ(再送)開始条件(この期間の後に最初のｸﾛｯｸ･ﾊﾟﾙｽが生成されます) | tHD:STA | 4.0 | - | 0.6 | - | μs
SCLｸﾛｯｸのLow状態ﾎｰﾙﾄﾞ･ﾀｲﾑ | tLOW | 4.7 | - | 1.3 | - | μs
SCLｸﾛｯｸのHigh状態ﾎｰﾙﾄﾞ･ﾀｲﾑ | tHIGH | 4.0 | - | 0.6 | - | μs
再送開始条件 のｾｯﾄｱｯﾌﾟ時間 | tSU:STA | 4.7 | - | 0.6 | - | μs
ﾃﾞｰﾀ･ﾎｰﾙﾄﾞ･ﾀｲﾑ |
CBUS互換ﾏｽﾀの場合 | tHD:DAT | 5.0 | - | - | - | μs
IICﾊﾞｽの場合 |  | 0① | - | 0① | 0.9①
ﾃﾞｰﾀ･ｾｯﾄｱｯﾌﾟ時間 | tSU:DAT | 250 | - | 100③ | - | ns
SDA,SCL信号の立ち上がり時間 | tR | - | 1000 | 20+0.1Cb④ | 300 | ns
SDA,SCL信号の立ち下がり時間 | tF | - | 300 | 20+0.1Cb④ | 300 | ns
停止条件のｾｯﾄｱｯﾌﾟ時間 | tSU:STO | 4.0 | - | 0.6 | - | μs
各ﾊﾞｽ･ﾗｲﾝの容量性負荷 | Cb | - | 400 | - | 400 | pF
上記の数値はすべて表3のVIH minおよびVIH maxﾚﾍﾞﾙに対応した値です。
① | 装置は、SCLの立ち下がり端の未定義領域を埋めるために、(SCL信号のVIH minでの)SDA信号用に最低300nsのﾎｰﾙﾄﾞ時間を内部的に提供する必要があります。
② | 装置がSCL信号のLowﾎｰﾙﾄﾞ･ﾀｲﾑ(t LOW)を延長しない場合は、最大ﾃﾞｰﾀ･ﾎｰﾙﾄﾞ･ﾀｲﾑt HD:DATのみを満たすことが必要となります。
③ | 高速ﾓｰﾄﾞI2Cﾊﾞｽは、標準ﾓｰﾄﾞI2Cﾊﾞｽ･ｼｽﾃﾑ内で利用することが可能ですが、この場合にはt SU:DAT≧250nsを満足することが条件となります。装置がSCL信号のLow状態ﾎｰﾙﾄﾞ･ﾀｲﾑを延長しない場合には、この条件を満たすことが無条件に求められます。装置がSCL信号のLow状態ﾎｰﾙﾄﾞ･ﾀｲﾑを延長する場合には、SCLﾗｲﾝが解放されるt R max + t SU:DAT = 1000 + 250 = 1250ns(標準ﾓｰﾄﾞI2Cﾊﾞｽの仕様による)前に次のﾃﾞｰﾀ･ﾋﾞｯﾄをSDAﾗｲﾝに送出することが必要です。
④ | Cb=1つのﾊﾞｽ･ﾗｲﾝの合計ｷｬﾊﾟｼﾀﾝｽ(単位pF)
図34 I2Cﾊﾞｽ上のﾀｲﾐﾝｸﾞ定義


利用について

16.0 利用について

16.1 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置の出力段のｽﾛｰﾌﾟ制御
16.2 高連ﾓｰﾄﾞI2Cﾊﾞｽ装置のｽｨｯﾁ付き並列回路
16.3 ﾊﾞｽ･ﾗｲﾝの配線ﾊﾟﾀｰﾝ
16.4 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置の抵抗RpおよぴRsの最大値およぴ最小値


高速ﾓｰﾄﾞのｽﾛｰﾌﾟ制御

16.1 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置の出力段のｽﾛｰﾌﾟ制御

I2Cﾊﾞｽ装置のI/O部の電気的仕様およぴそこに接続されているﾊﾞｽ･ﾗｲﾝの持性は表3およぴ表4に示されています。

 図35およぴ図36は、それぞれCMOSおよぴﾊﾞｲﾎﾟｰﾗICにおける出力段でのｽﾛｰﾌﾟ制御例を示したものです。立ち下がり端のｽﾛｰﾌﾟはﾐﾗｰ(Miller)ｺﾝﾃﾞﾝｻ(C1)およぴ抵抗(R1)によって決定されます。C1とR1の標準的な値が図中に表記されています。表3において、出力立ち下がり時間t OFの許容誤差が大きいということは、回路設計がそれほど大きく影響しないということを意味します。立ち下がり時間は、外部ﾊﾞｽ負荷(Cb)と外部並列抵抗(Rp)によって僅かに左右されるのみです。しかし、表4に示す立ち上がり時間(t R)は、主にﾊﾞｽの容量性負荷と並列抵抗の値によって決定されます。
図35 CMOS-ICにおける出力段のｽﾛｰﾌﾟ制御
図36 ﾊﾞｲﾎﾟｰﾗICにおける出力段のｽﾛｰﾌﾟ制御


高速ﾓｰﾄﾞのｽｨｯﾁ付き並列回路

16.2 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置のｽｨｯﾁ付き並列回路

並列抵抗Rpの最小値は供給電圧(VDD)およぴ最大出力Lowﾚﾍﾞﾙによって決定されます。例えば、供給電圧VDD = 5V±10%、3mAでVOL max = 0.4Vの場合、Rp min = (5.5-0.4)/0.003 = 1.7KΩとなります。このRp値の場合、図38からわかるように、最大t R値300nsという条件を満たすためのﾊﾞｽの最大ｷｬﾊﾟｼﾀﾝｽは約200pFになります。もしﾊﾞｽのｷｬﾊﾟｼﾀﾝｽがこれを超える場合には、図37に示すｽｨｯﾁ付き並列回路を利用することができます。
図37 ｽｨｯﾁ付き並列回路
図37のｽｨｯﾁ付き並列回路は、供給電圧VDD = 5V±10%、最大容量性負荷が400pFの場合のためのものです。この回路はﾊﾞｽ･ﾚﾍﾞﾙによって制御されているため、ｽｨｯﾁﾝｸﾞ制御信号を別途追加する必要はありません。立ち上がり/立ち下がり時、HCT4066内のﾊﾞｲﾗﾃﾗﾙ･ｽｨｯﾁは、0.8V～2.0Vのﾊﾞｽ･ﾚﾍﾞﾙで並列抵抗Rp2をON/OFF制御します。抵抗Rp1およぴRp2を組み合わせて使用することによって、ﾊﾞｽ･ﾗｲﾝを最大規定立ち上がり時間(t R)である300ns以内に引き上げることが可能になります。制御を行っているI2Cﾊﾞｽ装置の最大ｼﾝｸ電流がVOL2 = 0.6Vの時6mAを、またVOL1 = 0.4Vの時3mAをそれぞれ超えることはありません。

 直列抵抗Rsは必ず必要なものではありません。これらの直列抵抗は、I2Cﾊﾞｽ装置のI/O段をﾊﾞｽ･ﾗｲﾝ上での高電圧ｽﾊﾟｲｸから保護するため、またﾊﾞｽ･ﾗｲﾝ信号のｸﾛｽﾄｰｸやｱﾝﾀﾞｰｼｭｰﾄ(目的の場所まで届かないこと)を抑えるために利用します。Rsの最大値は、Rp2をｵﾌにするためにﾊﾞｽ･ﾗｲﾝがLowﾚﾍﾞﾙに設定された状態での、この抵抗を介しての電圧降下の最大許容値によって決定します。
図38 高速ﾓｰﾄﾞI2Cﾊﾞｽにおいてt R maxの条件を満たす場合のRpの最大値とﾊﾞｽのｷｬﾊﾟｼﾀﾝｽとの相関関係


ﾊﾞｽ･ﾗｲﾝの配線ﾊﾟﾀｰﾝ

16.3 ﾊﾞｽ･ﾗｲﾝの配線ﾊﾟﾀｰﾝ

一般に、ﾊﾞｽ･ﾗｲﾝへの、またはﾊﾞｽ･ﾗｲﾝからの干渉やｸﾛｽﾄｰｸが最も小さくなるような配線を行うことが必要です。並列装置のｲﾝﾋﾟｰﾀﾞﾝｽが比較的高いため、ﾊﾞｽ･ﾗｲﾝは、Highﾚﾍﾞﾙ時にｸﾛｽﾄｰｸや干渉を最も受けやすくなります。PCBまたはﾘﾎﾞﾝ･ｹｰﾌﾞﾙ上のﾊﾞｽ･ﾗｲﾝの長さが10cmを超え、かつVDDやVSSﾗｲﾝが含まれている場合には、以下のような配線ﾊﾟﾀｰﾝにする必要があります。
SDA
VDD
VSS
SCL
VSSﾗｲﾝのみが含まれている場合は、以下の配線ﾊﾟﾀｰﾝになります。
SDA
VSS
SCL
これらの配線ﾊﾟﾀｰﾝでは、SDAおよぴSCLの容量性負荷が同一となります。VSSおよぴ(または)VSSﾚｲﾔを持つPCBが使われている場合は、VSSおよぴVDDﾗｲﾝを省略することができます。

 ﾊﾞｽ･ﾗｲﾝが編み線ﾍﾟｱの場合は、各ﾊﾞｽ･ﾗｲﾝに必ずVSSﾘﾀｰﾝを編み込む必要があります。あるいは、その代わりにSCLﾗｲﾝにVSSﾘﾀｰﾝ、SDAﾗｲﾝにVDDﾘｰﾀﾝを編み込んでもかまいません。後者の場合は、編み線ﾍﾟｱの両端でVSSﾗｲﾝとVDDﾗｲﾝを切り離すためにｺﾝﾃﾞﾝｻが必要です。

 ﾊﾞｽ･ﾗｲﾝがｼｰﾙﾄﾞ付きの場合(VSSにｼｰﾙﾄﾞ接続されている場合)は、干渉を最小に抑えることができます。しかし、ｸﾛｽﾄｰｸを最小に仰えるために、SDAﾗｲﾝとSCLﾗｲﾝの間でｼｰﾙﾄﾞ付きｹｰﾌﾞﾙに低容量性ｶﾌﾟﾘﾝｸﾞをつけておく必要があります。


高速ﾓｰﾄﾞの抵抗Rp,Rsの最大値と最小値

16.4 高速ﾓｰﾄﾞI2Cﾊﾞｽ装置の抵抗RpおよびRsの最大値と最小値

高速ﾓｰﾄﾞI2Cﾊﾞｽに接続された抵抗RpとRsの最大値およぴ最小値は、図25、図26、およぴ図28から求めることができます。高速ﾓｰﾄﾞI2Cﾊﾞｽの立ち上がり時間(t R)は標準ﾓｰﾄﾞに比べて短いため、ﾊﾞｽのｷｬﾊﾟｼﾀﾝｽによって決定されるRpの最大値は図27の値より小さくなります。高速ﾓｰﾄﾞI2Cﾊﾞｽにおけるﾊﾞｽのｷｬﾊﾟｼﾀﾝｽ(Cb)とRpの最大値の相関関係を示すｸﾞﾗﾌは図38になります。


開発ﾂｰﾙ

17.0 開発ﾂｰﾙ

製品 | 内容
■ 8048,8051搭載ｼｽﾃﾑ用開発ﾂｰﾙ
0M1016 | I2Cﾊﾞｽ･ﾃﾞﾓﾎﾞｰﾄﾞ(ﾏｲｸﾛｺﾝﾄﾛｰﾗ、LCD、LED、ﾊﾟﾗﾚﾙI/O、SRAM、EPR0M、ｸﾛｯｸ、DTMFｼﾞｪﾈﾚｰﾀ、AD/DA変換、赤外ﾘﾝｸつき)
0M1018 | 0M1016の説明書
0M1O20 | LCDとﾄﾞﾗｲﾊﾞ･ﾃﾞﾓ･ﾎﾟｰﾄﾞ
0M4151 | I2Cﾊﾞｽ評価ﾎﾞｰﾄﾞ(0M1016の赤外ﾘﾝｸなし)
■ 68000搭載ｼｽﾃﾑ用開発ﾂｰﾙ
0M4160 | ﾏｲｸﾛｺｱ-1ﾃﾞﾓ/評価ﾎﾞｰﾄﾞ(SCC68070, 128K EPR0M, 5l2K DRAM, I2C, RS-232C, VSC SCC66470, 常駐ﾓﾆﾀ)
0M4160/3 | ﾏｲｸﾛｺｱ-3ﾃﾞﾓ/評価ﾎﾞｰﾄﾞ(93C110, 128K EPR0M, 64K SRAM, I2C, RS-232C, 40 I/O, 常駐ﾓﾆﾀ)
■ 全ｼｽﾃﾑ用開発ﾂｰﾙ
0M1022 | I2Cﾊﾞｽ･ｱﾅﾗｲｻﾞ (IBM PCまたは同等なPC上で動作するI2Cﾊﾞｽの動作実験およぴ解析用のﾊｰﾄﾞｳｪｱおよび資料を含むｿﾌﾄｳｪｱ)