• 検索結果がありません。

UM10204 I2C バス仕様およびユーザーマニュアル

N/A
N/A
Protected

Academic year: 2021

シェア "UM10204 I2C バス仕様およびユーザーマニュアル"

Copied!
63
0
0

読み込み中.... (全文を見る)

全文

(1)

Rev. 5.0J — 2012 年 10 月 9 日

(日本語翻訳 11 月 2 日) ユーザーマニ ュ アル

文書情報

情報 内容

キーワー ド I2C、 I2C バス、 Standard-mode、 Fast-mode、 Fast-mode Plus、 Fm+、

Ultra Fast-mode、 UFm、 Hispeed、 Hs、 イ ン タ ー IC、 SDA、 SCL、 USDA、 USCL 概要 フ ィ リ ッ プ ス ・ セ ミ コ ン ダ ク タ ーズ (現在 : NXP セ ミ コ ン ダ ク タ ーズ) は、 効率的な IC (デバ イ ス) 間制御 を シン プルに実現するシ ン プルな 2 線式双方向バスを開発 し ま し た。 このバスは I2C バス (Inter-IC バス ) と 呼 ばれ、 シ リ ア ル ・ デ ー タ ラ イ ン (SDA) と シ リ ア ル ・ ク ロ ッ ク ラ イ ン (SCL) の 2 本のバス ラ イ ン で構成 さ れま す。 Standard-mode では最大 100kbit/s、 Fast-mode で は最大 400kbit/s、 Fast-mode Plus (Fm+) では 最大 1Mbit/s、 High-speed (Hs-mode) では最大 3.4Mbit/s の、 8 ビ ッ ト 単 位のシ リ アル双方向デー タ 転送が可能です。 Ultra Fast-mode (UFm) で は、 単方向、 最大 5Mbit/s のデー タ 転送が可能です。

こ の日本語訳資料は、 参考資料 と し てご提供 し てお り ます。 英語版の オ リ ジ ナル資料は頻繁に更新 されま す。最終的なご確認は最新の英語 版ユーザーマニ ュ アル をご参照 く だ さ い。

(2)

お問い合わせ先

詳細は弊社 Web サイ ト を ご覧 く だ さ い : http://www.nxp.com お近 く のオ フ ィ スの住所につい ては電子 メ ールでお問合せ く だ さ い : [email protected] 改定履歴 Rev 日付 説明 v.4 20121009 ユーザーマニ ュ アル更新 変更

3.1.7 章 「ク ロ ッ ク 同期」: 「ア イ ド ル (バス)」 を 「フ リ ー (バス)」 に変更

3.1.8 章 「調停」:「ア イ ド ル(バス)」を「フ リ ー(バス)」に変更

3.1.12 章 「予約済のア ド レ ス」: 「1111 1xx」 の R/W ビ ッ ト を 1 に し 「将来の機能拡張に予約」 を 「デバ イ ス ID」 に変更 第 3 パ ラ グ ラ フの古い記述 を削除

3.1.17 章 「デバイ ス ID」: 番号 を付けた リ ス ト の中の 「ス タ ー ト ・ コ マン ド 」 を 「ス タ ー ト コ ン デ ィ シ ョ ン」 に 番号 を付けた リ ス ト の中の 「ス ト ッ プ ・ コ マン ド 」 を 「ス ト ッ プ コ ン デ ィ シ ョ ン」 に 注釈の 「NACK コ マン ド 」 を 「NACK」 に 表 4 「割当済の メ ーカ ー ID」 を更新

3.2.8 章 「10 ビ ッ ト ア ド レ ス指定」: 第 1 パ ラ グ ラ フ第 3 文。 「NA1」 を 「W 」 に。 第 4 文か ら 「NA2」 を削除 図 29を更新

3.2.9 章 「UFm の予約済ア ド レ ス」: 第 3 文を削除

7.2.1 章 「fSCL 周波数の低下」: 「70%か ら 70%&」 「30%から 30%」 の記述訂正 v.4 20120213 ユーザーマニ ュ アル Rev.4 v.3 20070619 今日、多 く のア プ リ ケーシ ョ ン ではよ り 長 さ の長いバス、高速なス ピー ド が求められま す。Fast-mode

Plus は、Fast-mode と Standard-mode のス ピー ド お よび ソ フ ト ウ ェ ア コ マ ン ド と の下位互換性を維 持 し なが ら ド ラ イ ブ強度 を 10 倍に高め、 デー タ 転送レー ト を 1Mbit/s に高速化する こ と で このよ う なニーズへ応え られる よ う に開発 さ れま し た。 v2.1 2000 I2C バス仕様のバージ ョ ン 2.1 v2.0 1998 I2C バスは、 世界の メ ー カー 50 社以上に ラ イ セ ンス提供 され、 1,000 を超え る様々な IC に実装 さ れ てい る世界的なデフ ァ ク ト ス タ ンダー ド と な っ てい ま す。 し か し 、 今日の多 く の ア プ リ ケーシ ョ ン ではよ り高速なバス速度 と 低い電源電圧への対応が求め られていま す。今回ア ッ プデー ト さ れた I2C バス仕様の新 し いバージ ョ ンは、 これ らのニーズに応える ものです。 v1.0 1992 I2C バス仕様のバージ ョ ン 1.0 Original 1982 初版

(3)

1. は じ めに

I2C バスは、 世界の メ ー カー 50 社以上が製造 し て いる 1,000 を 超え る様々な IC (デバ イ ス) に採用 されてお り 、 世界的なデ フ ァ ク ト ス タ ン ダー ド と な っ てい ます。 ま た、 シ ステ ム管理バス (SMBus)、 パワーマネージ メ ン ト バス (PMBus)、 イ ン テ リ ジ ェ ン ト ・ プ ラ ッ ト フ ォーム ・ マネージ メ ン ト ・ イ ン タ ー フ ェ ース (IPMI)、 表示デー タ チ ャ ネル (DDC)、 ア ド バン ス ト ・ テ レ コ ム ・ コ ン ピ ュ ーテ ィ ング ・ アーキテ ク チ ャ (ATCA) など、 多様な コ ン ト ロールアーキテ ク チ ャ で使われてい ます。 本書は、 デバ イ スおよびシ ステムの設計担当者 を対象に、 I2C バスの機能 と 実際的な ア プ リ ケーシ ョ ンの実装方法につい て、理解が深め られる よ う に編集 さ れてい ます。様々な動 作モー ド の説明 と 共に、 バスデー タ転送、 ハン ド シ ェ ー ク、 バス調停スキームについ ての 総合的な説明があ り ます。 ま た、動作モー ド ご と の タ イ ミ ングお よび電気特性を説明する セ ク シ ョ ン も用意 さ れてい ます。 I2C 互換チ ッ プの設計は、 本書に記載 された内容に従 っ て行わな ければな り ません。 ま た I2C デバ イ ス を含むシ ス テムの設計には、 本書 と 各デバ イ スのデー タ シー ト を 参照する よ う に し て く だ さ い。

2. I

2

C バスの特徴

家電、 通信器、 産業のそれぞれのエ レ ク ト ロ ニ ク スは、 一見相互に関連性がない よ う に見 える ますが、 多 く の類似点があ り ます。 た と えば、 ほぼすべてのシ ステムに共通する要素 と し て :

イ ン テ リ ジ ェ ン ト な制御機能。 通常はシ ングルチ ッ プ ・ マ イ ク ロ コ ン ト ロー ラ。

汎用回路。 LCD ド ラ イバや LED ド ラ イバ、 リ モー ト I/O ポー ト 、 RAM、 EEPROM、 リ アル タ イム ク ロ ッ ク、 A/D コ ンバー タ や D/A コ ンバー タ な ど。

ア プ リ ケーシ ョ ン固有の回路。 ラ ジオやビデオ ・ シ ステムのデジ タ ル ・ チ ューニング や信号処理、 温度センサー、 スマー ト カー ド など。 フ ィ リ ッ プ ス ・ セ ミ コ ンダ ク タ ーズ (現在の NXP セ ミ コ ンダ ク タ ーズ) は、 これらのシ ステムの類似点に着目 し 、 回路 を単純化、 ハー ド ウ ェ アの利用効率 を高め、 よ り よい設計 を実現する ための IC 間制御を行 う シン プルな 2 線式双方向バスを開発し ま し た。 このバ スを 「Inter IC バス」 ま たは 「I2C バス」 と 呼びます。 すべての I2C バス対応デバ イ スに はチ ッ プ上に イ ン タ ー フ ェ ース (オ ン チ ッ プ イ ン タ ー フ ェ ース) が搭載 さ れてい るので、 I2C バス と 直接相互に通信で き ます。 こ れに よ り デジ タ ル制御回路設計の イ ン タ ー フ ェ ー スに関する多 く の問題が解決でき ます。 I2C バス には次のよ う な特徴があ り ます。

必要なバス ラ イ ンは 2 本のみ - シ リ アル ・ デー タ ラ イ ン (SDA) と シ リ アル ・ ク ロ ッ ク ラ イ ン (SCL)。

バスに接続 さ れてい る各デバ イ スを固有のア ド レ スに よ っ て指定でき 、常に シ ン プル なマス タ / スレーブの関係で通信を行います - マス タ はマス タ ト ラ ン ス ミ ッ タ ま た はマス タ レ シーバと し て動作し ます。

真のマルチマス タ バス - 複数のマス タ が同時にデー タ 転送を開始し た場合のデー タ の破壊を防止する衝突検出 と 調停機能を備えます。

Standard-mode (ス タ ンダー ド モ ー ド :Sm) では最大 100kbit/s、 Fast-mode ( フ ァ ー ス ト モ ー ド :Fm) では最大 400 kbit/s、 Fast-mode Plus (フ ァ ース ト モー ド プ ラ ス :Fm+) で は最大 1Mbit/s、 High-speed (ハ イ ス ピ ー ド モ ー ド ;Hs-mode) で は最大 3.4Mbit/s の 8 ビ ッ ト 単位シ リ アル双方向デー タ 転送が可能。

Ultra Fast-mode (ウル ト ラ フ ァ ース ト モー ド :UFm) では最大 5Mbit/s の 8 ビ ッ ト 単 位、 シ リ アル片方向デー タ 転送が可能。

(4)

オ ン チ ッ プ ・ フ ィ ル タ リ ングに よ っ てバスデー タ ラ イ ンのスパ イ ク を除去。

同一バスに接続可能な IC の数をは、 バスの最大容量で制限さ れます。 条件に よ り 拡 張可能。7.2 章を参照。 I2C バス ア プ リ ケーシ ョ ンの例 を下図 (図 1) に示 し ま す。

2.1 設計担当者に と っ ての メ リ ッ ト

I2C バス対応のデバ イ ス を使用する こ と で、 機能ブ ロ ッ ク 図の作成か ら 試作ま でのシ ス テ ム設計過程の時間を短縮でき ます。 ま た追加回路な し で I2C バスへ直接接続で き る ため、 試作シ ステムの変更やア ッ プグ レー ド も簡単にデバ イ スの接続、取 り 外 し だけ で実行でき ます。 特に設計担当者に と っ て役立つ I2C バス対応 IC の機能は …

ブ ロ ッ ク図の核機能ブ ロ ッ クが実際の IC に対応し ている ため、 ブ ロ ッ ク図から最終 的な配線図を短時間で作成可能。

I2C バス イ ン タ ーフ ェ ースがすでに チ ッ プ に内蔵 されてい るため、直接接続が可能 (バ ス イ ン タ ー フ ェ ースの設計が不要)。

ア ド レ ス指定お よびデー タ 転送プ ロ ト コ ルが統合 さ れてい るので、シ ステムを ソ フ ト ウ ェ ア で定義可能。

多 く の場合、同 じ タ イ プのデバ イ スを様々な異なる ア プ リ ケーシ ョ ンに再利用する こ と が可能。

機能ブ ロ ッ ク と し ての I2C 対応デバ イ スの再利用が可能。 繰 り 返 し 使 う こ と で設計担 当者の習熟度が向上 し 、 設計に要する時間を短縮でき ます。 図 1. I2C バス ア プ リ ケー シ ョ ンの例 I2C A/D or D/A Converters I2C General Purpose I/O Expanders I2C LED Controllers VDD4 I2C Repeaters/ Hubs/Extenders I2C DIP Switches VDD5 I2C Slave VDD0 VDD1 PCA9541 I2C Master Selector/ Demux I2C Multiplexers and Switches VDD2 I2C Port via HW or Bit Banging I2C Bus Controllers MCUs 8 MCUs I2C Serial EEPROMs LCD Drivers (with I2C) I2C

Real Time Clock/ Calendars VDD3 I2C Temperature Sensors Bridges (with I2C) SPI UART USB 002aac858

(5)

バス上の他の回路に影響を与える こ と な く 、 シ ステムへのデバ イ スを追加 ・ 削除が可 能。

障害診断 と デバ ッ グの実行が簡単   - 不具合の ト レースが容易。

ソ フ ト ウ ェ ア ・ モ ジ ュールを再利用可能な ラ イ ブ ラ リ と し て組み立てる手法で、 ソ フ ト ウ ェ アの開発期間を短縮 こ れ らの メ リ ッ ト に加え、 幅広い互換性を有 し てい る I2C バスの CMOS IC は、 携帯機器 やバ ッ テ リ ー式のシ ステムなど で特に役立つ様々な機能をデザ イナに提供 し ます。

超低電流消費

優れた ノ イズ耐性

幅広い電源電圧範囲

幅広い動作温度範囲

2.2

メ ー カーに と っ ての メ リ ッ ト

I2C バス対応 IC はデザ イナ を 支援する だけ で な く 、 設備機器の メ ー カーに も 幅広い範囲 で数多 く の メ リ ッ ト を も た ら し ます。

シ ン プルな 2 線式シ リ アルであ る ため、 ワ イヤの接続本数が最小限で済みます。 IC のピ ン数 と プ リ ン ト 基板上の配線を少な く し 、よ り 小型で低価格のプ リ ン ト 基板を実 現。

I2C バス プ ロ ト コルに準拠 し て動作するため、ア ド レ ス デコ ーダや他の 「グルーロジ ッ ク」 が不要。

I2C バスはマルチマ ス タ バス であ る ため、 機器外部か ら マ ス タ を 接続 し て短時間で テ ス ト や調整を行 う こ と が可能。

様々な リ ー ド レ ス ・ パ ッ ケージ で提供 ― さ ら なる省スペース化をサポー ト こ れ らの メ リ ッ ト はほんの一部に過ぎません。 こ れに加え、 I2C 対応デバ イ スの利用で柔 軟なシ ステム設計が可能に な り 、派生品の開発や最新技術対応を素早行えます。 た と えば 基本モデルをベースに し た製品 フ ァ ミ リ 展開や、新型や機能強化モデル ( メ モ リ や リ モ コ ンの追加など) を開発する場合 も、 適切なデバ イ ス をバス上に接続する だけです。 よ り 大 容量の ROM が必要 と な っ た場合で も、NXP の製品フ ァ ミ リから大容量 ROM を実装し た マ イ ク ロ コ ン ト ロー ラ を選択する だけ で済みます。古い IC を新し い IC に取り 替える こ と でデバ イ スへの新機能を追加 し 、 パ フ ォーマン スを高める こ と も可能です。

2.3 デバイ ス (IC) 設計担当者の メ リ ッ ト

マ イ ク ロ コ ン ト ロー ラの設計担当者には、 常に少ピ ン化が求め られています。 I2C を使え ば、 個別のア ド レス信号やチ ッ プ イ ネーブル (チ ッ プ セレ ク ト ) 信号な し に、 多様なペ リ フ ェ ラルを接続でき ます。 I2C イ ン タ ー フ ェ ースに対応 し たマ イ ク ロ コ ン ト ロー ラは市場 で有利です。なぜな ら既に多 く のペ リ フ ェ ラルデバ イ スが こ の イ ン タ ー フ ェ ースを持 っ て お り 、 こ れ ら を有効に使 う こ と ができ る ためです。

3. I

2

C バス プ ロ ト コ ル

3.1 I

2

C バス プ ロ ト コ ル - Standard-mode (ス タ ン ダー ド モー ド : Sm) 、

Fast-mode (フ ァ ース ト モー ド : Fm)、 Fast-mode Plus (フ ァ ース ト モー

ド プ ラ ス : Fm+)

2 本の線、 シ リ アルデー タ (SDA) と シ リ アル ク ロ ッ ク (SCL) に よ っ て、 バスに接続 さ れたデバ イ ス間での情報の転送を行い ます。各デバ イ スはそれぞれ固有のア ド レ スで認識 さ れ (マ イ ク ロ コ ン ト ロー ラ、 LCD ド ラ イバ、 メ モ リ 、 キーボー ド イ ン タ ー フ ェ ースな ど)、 その機能に応 じ て ト ラ ン ス ミ ッ タ (送信側) やレ シーバ (受信側) と し て動作 し ま

(6)

す。 た と えば LCD ド ラ イバはレ シーバのみの機能を、 メ モ リ はデー タ の ト ラ ン ス ミ ッ タ / レ シ ーバ両方の機能 を備え ま す。 デー タ 転送時の各デバ イ スは、 ト ラ ン ス ミ ッ タ お よび レ シーバの機能に加え、 マス タ ま たはスレーブ と し ての役割を実行 し ます。 マス タ デバ イ スは、 バス上でデー タ転送を開始 し、 転送を行 う ためのク ロ ッ ク信号を出力し ます。 マス タ 側か ら ア ド レ ス指定 さ れたデバ イ スはスレーブ と な り ます。 I2C バスはマルチマ ス タ バス で ある ため、 バスの制御を 行 う デバ イ ス を 複数接続する こ と が可能です。 一般にマ イ ク ロ コ ン ト ローラが、 マス タ デバ イ ス と な り ま す。 例 と し て、 2 つのマ イ ク ロ コ ン ト ロー ラ間のデー タ 転送を説明 し ます (図 2参照)。 表 1. I2C バス - 用語解説 用語 説明 ト ラ ン ス ミ ッ タ バスにデー タ を送信するデバイ ス レ シーバ バスか らデー タ を受信するデバイ ス マス タ 転送の開始 と 終了を行 う 。 転送時の ク ロ ッ ク信号を出力 スレーブ マス タ か ら ア ド レ ス指定 さ れるデバイ ス マルチマス タ メ ッ セージ を壊す こ と な く 、 複数のマス タ が同時にバスを制御 し ます 調停 (アービ ト レー シ ョ ン) 複数のマス タ か ら同時にバス制御が試行 さ れた と き に、 メ ッ セージ を壊す こ と な く 1 つのマス タ のみに制御を認める手順 同期化 複数のデバイ ス間の ク ロ ッ ク信号を同期する手順 図 2. 2 つのマ イ ク ロ コ ン ト ロ ー ラ を使用する I2C バス構成の例 mbc645 SDA SCL MICRO -CONTROLLER A STATIC RAM OR EEPROM LCD DRIVER GATE ARRAY ADC MICRO -CONTROLLER B

(7)

こ の例では、 I2C バス上のマ ス タ / ス レ ーブの関係 と ト ラ ン ス ミ ッ タ / レ シーバの関係を 説明 し てい ます。 こ れ らの関係は永続的な ものではな く 、 その時点におけ るデー タ の転送 方向に よ っ て変化 し ます。 デー タ 転送の流れは次の と お り です。 1. マ イ ク ロ コ ン ト ロー ラ A がマ イ ク ロ コ ン ト ロー ラ B に情報 を送信する場合。 – マ イ ク ロ コ ン ト ロー ラ A (マ ス タ ) が、 マ イ ク ロ コ ン ト ロー ラ B (ス レ ーブ) の ア ド レ スを指定 – マ イ ク ロ コ ン ト ロー ラ A (マ ス タ ト ラ ン ス ミ ッ タ ) が、 マ イ ク ロ コ ン ト ロー ラ B (スレーブ レ シーバ) にデー タ を送信 – マ イ ク ロ コ ン ト ロー ラ A が、 転送 を終了 2. マ イ ク ロ コ ン ト ロー ラ A がマ イ ク ロ コ ン ト ロー ラ B か ら 情報 を受信する場合。 – マ イ ク ロ コ ン ト ロー ラ A (マ ス タ ) が、 マ イ ク ロ コ ン ト ロー ラ B (ス レ ーブ) の ア ド レ スを指定 – マ イ ク ロ コ ン ト ロー ラ A (マ ス タ レ シーバ) が、 マ イ ク ロ コ ン ト ローラ B (ス レ ー ブ ト ラ ン ス ミ ッ タ ) か らのデー タ を受信 – マ イ ク ロ コ ン ト ロー ラ A が、 転送 を終了 こ の受信の例の場合で も、 転送 タ イ ミ ン グ と 終了はマス タ (マ イ ク ロ コ ン ト ローラ A) が 生成 し ます。 複数のマ イ ク ロ コ ン ト ローラが I2C バスに接続 さ れた環境では、 複数のマ ス タ が同時に デー タ 転送を開始する場合があ り ます。こ のよ う な状況で混乱が生 じ ない よ う にする ため に、 調停の手順が定義 さ れてい ます。 こ の手順は、 I2C バスへのすべての イ ン タ ー フ ェ ー スがワ イヤー ド AND 接続さ れている こ と を利用し ています。 複数のマス タ がバスへの情報の転送を試行 し た場合、 一方のマス タが 「1」 を出力、 他方 のマス タ が 「0」 を出力し た時に、 「1」 を出力 し た側が制御を失いま す。 調停が行われて い る間の ク ロ ッ ク信号は、複数のマス タ が出力する こ と に な り ますが、SCL 線のワ イヤー ド AND 接続を用いた同期が行われます (調停の詳細は 3.1.8 章を参照)。 I2C バスの ク ロ ッ ク 信号は常にマ ス タ デバ イ スが出力 し ます。 それぞれのマ ス タは、 デー タ を転送する際に ク ロ ッ ク を出力 し ます。 マス タ が出力する ク ロ ッ ク信号を、低速スレー ブや調停中の他のマス タ が LOW に保持する こ と で引き伸ばすこ とがで きま す。 シ ステム構成 と その役割に よ る、 I2C バス仕様の必須/オ プシ ョ ン機能 を下表 (表 2) に 示 し ます。

(8)

[1] スレー ブ と し て機能す る マス タ に も 該当 [2] ク ロ ッ ク ス ト レ ッ チは、 一部のスレー ブが備える機能です。 シ ステムに ク ロ ッ ク を ス ト レ ッ チ (SCL を LOW にホール ド ) で き る ス レー ブがない場合、 こ れを処理で き る よ う に マ ス タ を設計す る必要はあ り ませ ん。 [3] 「ビ ッ ト バンギン グ」 ( ソ フ ト ウ ェ ア エ ミ ュ レーシ ョ ン) マルチマス タ シ ステムの場合はス タ ー ト バイ ト を 用い る こ と ができ ます。3.1.15 章参照。 3.1.1 SDA と SCL SDA と SCL はど ち ら も 双方向の信号 ラ イ ン で、電流源ま たはプルア ッ プ抵抗を 通 じ て プ ラ スの電源電圧に接続 さ れま す (図 3) 。 バスが フ リ ー状態の場合、 ど ち ら の ラ イ ン も HIGH に な り ます。 ワ イ ヤー ド AND での接続であ る ため、 デバ イ スの出力段はオープ ン ド レ イ ン ま た は オ ー プ ン コ レ ク タ で な く ては な り ま せ ん。 Standard-mode で は最大 100kbit/s、 Fast-mode では最大 400kbit/s、 Fast-mode Plus では最大 1Mbit/s、 High-speed では最大 3.4Mbit/s のデー タ 転送が可能です。バスに接続でき る イ ン タ ー フ ェ ースの数は、 バスの静電容量に よ っ て制限 さ れます。 単一のマス タ で、バス上に ク ロ ッ ク ス ト レ ッ チを行 う デバ イ スが存在 し なければ、 マス タ の SCL 出力を プ ッ シ ュ プル駆動に し て も構いません。 表 2. I2C バス プ ロ ト コル機能の適用について M = 必須、O = オ プ シ ョ ン、n/a = 適用不可 機能 構成 単一マス タ マルチ マス タ ス レーブ[1] ス タ ー ト コ ンデ ィ シ ョ ン M M M ス ト ッ プ コ ンデ ィ シ ョ ン M M M ア ク ノ リ ッ ジ M M M 同期化 n/a M n/a 調停 n/a M n/a ク ロ ッ ク ス ト レ ッ チ O[2] O[2] O 7 ビ ッ ト ス レ ーブ ア ド レ ス M M M 10 ビ ッ ト ス レ ーブ ア ド レ ス O O O ゼネ ラ ル コールア ド レ ス O O O ソ フ ト ウ ェ ア リ セ ッ ト O O O ス タ ー ト バイ ト n/a O[3] n/a デバイ ス ID n/a n/a O VDD2、 VDD3 はデバイ ス に依存 (た と え ば 12 V) 図 3. 電源電圧が異なるデバイ スで同 じ バスを共有

CMOS CMOS NMOS BIPOLAR

002aac860 VDD1 = 5 V ± 10 % Rp Rp SDA SCL VDD2 VDD3

(9)

3.1.2 SDA と SCL の論理レ ベル I2C バスには様々な製造テ ク ノ ロ ジ (CMOS、 NMOS、 バイ ポー ラ) を 基盤に し たデバ イ スを接続する ため、 論理 「0」 (LOW) と 「1」 (HIGH) は固定ではな く 、 使われる VDD のレベル依存 と し てい ます。入力 リ フ ァ レ ン ス ( 基準 ) レベルは VDD の 30% および 70%、 VIL は 0.3VDD、 VIH は 0.7VDD に設定 さ れます。図 38 の タ イ ミ ング図を参照 し て く だ さ い。 一部の古いデバ イ スの入力 レベルは、 固定の VIL = 1.5V と VIH = 3.0V と な っ てい ますが、すべての新 し いデバ イ スは 30% と 70% の仕様に準拠し なければな り ません。電 気的特性仕様の詳細は6 章を参照し て く だ さ い。 3.1.3 デー タ の有効性 ク ロ ッ クが HIGH 期間にあ る と き、 SDA ラ イ ンのデー タ は安定し ていなければな り ませ ん。 デー タ ラ イ ンの HIGH ま たは LOW の状態の変更は、 SCL ラ イ ンのク ロ ッ ク信号が LOW の場合にのみ可能で す (図 4)。 転送 さ れるデー タ ビ ッ ト 毎に ク ロ ッ クパルスが 1 回 生成 さ れます。 3.1.4 ス タ ー ト (START) コ ンデ ィ シ ョ ン と ス ト ッ プ (STOP) コ ンデ ィ シ ョ ン すべての ト ラ ンザ ク シ ョ ンは START (S) で始ま り、 STOP (P) で終了 し ま す (図 5)。 SCL が HIGH の期間の、SDA ラ イ ンの HIGH か ら LOW への変化を ス タ ー ト コ ンデ ィ シ ョ ン、 LOW から HIGH への変化をス ト ッ プ コ ンデ ィ シ ョ ン と定義 し ま す。 ス タ ー ト / ス ト ッ プ コ ンデ ィ シ ョ ンは、 常に マス タ が生成し ます。 ス タ ー ト コ ンデ ィ シ ョ ンの後、 バスは ビジ ー状態 と な り ます。 ス ト ッ プ コ ンデ ィ シ ョ ンの後、 一定の時間が経過 する と バスはフ リ ー状態と な り ます。 バスのフ リ ー状況は6 章で規定さ れます。 ス ト ッ プ コ ン デ ィ シ ョ ン ではな く リ ピ ー ト ス タ ー ト コ ン デ ィ シ ョ ン (repeated START condition : Sr) が生成 され る と、 バスはビ ジー状態のま ま置かれます。 機能の点におい て ス タ ー ト コ ンデ ィ シ ョ ン (S) と リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) は全 く 同じ です。 以降、 本マニ ュ アルでは特に 「Sr」 と 記載し ない限り 、 「S」 はス タ ー ト コ ンデ ィ シ ョ ン と リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ンの両方を意味し ます。 図 4. I2C バス でのビ ッ ト 転送 mba607 data line stable; data valid change of data allowed SDA SCL 図 5. ス タ ー ト コ ンデ ィ シ ョ ン と ス ト ッ プ コ ンデ ィ シ ョ ン mba608 SDA SCL P STOP condition S START condition

(10)

バス イ ン タ ーフ ェ ースがハー ド ウ ェ ア で実装 さ れていれ るデバ イ スでは、 ス タ ー ト コ ン デ ィ シ ョ ンやス ト ッ プ コ ンデ ィ シ ョ ンの検出はど ち ら も容易で し ょ う 。 し か し た と えば、 専用の イ ン タ ー フ ェ ース を備えてい ないマ イ ク ロ コ ン ト ロー ラが こ れを認識する ために は、 ク ロ ッ ク 期間ご と に最低 2 回の SDA ラ イ ンのサン プ リ ング を実行し なければな り ま せん。 3.1.5 バイ ト ・ フ ォ ーマ ッ ト SDA ラ イ ン上のすべてのバ イ ト は、 8 ビ ッ ト 長で なければな り ません。 1 回の転送で送る こ と ができ るバ イ ト 数に制限はあ り ません。各バ イ ト には必ず、 ア ク ノ リ ッ ジ ビ ッ ト が続 き ます。デー タ 転送は、MSB フ ァ ース ト ( 最上位ビ ッ ト から最下位ビ ッ ト の順で転送 ) で 行われます (図 6)。 スレーブ側はマス タ を強制的に待機状態 と する ために ク ロ ッ ク ラ イ ン SCL を LOW に保持する こ と ができ ます。 た と えばスレーブが自身の内部割り 込み処 理など、 他の機能 を実行する間、 次の送信ま たは受信の準備が出来る ま で、 マス タ を待た せる こ と ができ ます. スレーブ内で次のデー タ バ イ ト を処理する準備が整 う と 、 ク ロ ッ ク ラ イ ン SCL を リ リ ース し デー タ 転送を継続し ます。 3.1.6 ア ク ノ リ ッ ジ (ACK) と ノ ッ ト ・ ア ク ノ リ ッ ジ (NACK) ア ク ノ リ ッ ジは、各バ イ ト の後に付け られます。 ア ク ノ リ ッ ジ ビ ッ ト は受信側か ら送信側 に対 し 、 バ イ ト 受信の成功 と、 次のバ イ ト の送信 を し て構わない こ と を通知 し ます。 ア ク ノ リ ッ ジの 9 番目のク ロ ッ クパルスを含め、 すべてのク ロ ッ クパルスはマス タ が出力し ます。 ア ク ノ リ ッ ジ信号は次のよ う に定義 さ れます : ア ク ノ リ ッ ジ ク ロ ッ クパルスの期間、 ト ラ ン ス ミ ッ タ は SDA ラ イ ン を リ リ ース し ます. レ シーバは SDA ラ イ ン を LOW に引っ張 り 、 ク ロ ッ クパルスが HIGH の間は、 LOW の状態を保持し ます (図 4)。 セ ッ ト ア ッ プ時 間 と ホール ド 時間は規定通 り であ る こ と が必要です (図 6参照)。 9 番目の ク ロ ッ ク パルス の間に SDA が HIGH であ る場合 を、 ノ ッ ト ・ ア ク ノ リ ッ ジ (NACK) と 定義し ます。 マス タ はス ト ッ プ コ ンデ ィ シ ョ ン を生成し て転送を中止するか、 リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン を生成 し て新た な転送を開始で き ます。 NACK を発生 さ せる条件は次の通 り 。 1. 転送 さ れたア ド レ スのレ シーバがバスに存在 し ない.つ ま り ア ク ノ リ ッ ジ で応答する デバ イ スがない場合。 2. レ シ ーバが何 ら かの リ アル タ イム機能 を 実行中で マ ス タ と の通信を 行 え る状態で は な く 、 送信 も受信 も でき ない場合。 3. 転送の間、 受信 し たデー タ や コ マ ン ド を レ シーバが理解で き ない場合。 4. 転送の間、 レ シーバがそれ以上デー タ バ イ ト を 受信で き ない場合。 5. マ ス タ レ シーバがス レ ーブ ト ラ ン ス ミ ッ タ に対 し 転送の終了を 伝え る場合。 図 6. I2C バス でのデー タ 転送 S or Sr Sr or P SDA SCL MSB 1 2 7 8 9 1 2 3 to 8 9 ACK ACK 002aac861 START or repeated START condition STOP or repeated START condition acknowledgement

signal from slave

byte complete, interrupt within slave

clock line held LOW while interrupts are serviced

P

Sr acknowledgement signal from receiver

(11)

3.1.7 ク ロ ッ ク 同期 バスが フ リ ー状態の と き 、 2 つのマス タ が同時に転送を開始する と 、 ど ち らのマス タ がバ スの制御権を得、転送を完遂でき る よ う にするのかを決定 し なければな り ません。 こ れを 行 う のが ク ロ ッ ク同期 と 調停です。単一マス タ のシ ステムであれば、 ク ロ ッ ク同期 と 調停 は必要あ り ません。 ク ロ ッ ク同期は、SCL ラ イ ンの I2C イ ン タ ー フ ェ ースのワ イ ヤー ド AND 接続を使っ て実 行 さ れます。SCL ラ イ ンが HIGH から LOW へ変化する と、接続 されているマス タは LOW 期間の カウ ン ト を開始、 一定の時間 SCL ラ イ ン を LOW 状態に保持し た後に HIGH へと 変化 さ せます (図 7)。 し か し 、 も し 別のマス タ がまだ ク ロ ッ クの LOW を保持し ている と 、 SCL は LOW のま ま と な り ます。 このよ う に SCL ラ イ ンは LOW 期間が最も長いマ ス タ に よ っ て LOW 状態が保持さ れる こ と に な り ます。 LOW 期間が短いマス タ は HIGH への変化を待つ状態に置かれます。 接続さ れてい るすべてのマス タ の LOW 期間が完了する と、 ク ロ ッ ク ラ イ ンはリ リ ース さ れ、 HIGH 状態に な り ます。 これでマス タ の内部ク ロ ッ ク と SCL ラ イ ンの状態が同じ と な り 、 すべてのマス タ が HIGH 期間のカウ ン ト を開始し ます。 SCL ラ イ ンは、 HIGH 期間 が最 も早 く 完了 し たマス タ に よ っ て再度 LOW にな り ま す。 こ のよ う に し て SCL ク ロ ッ クの同期が行われま す。 結果 と し て SCL の LOW 期間はク ロ ッ ク LOW の期間が最も長いマス タ に よ っ て、 HIGH 期間はク ロ ッ ク HIGH の期間が最 も短い マス タ に よ っ て決ま り ます。 3.1.8 調停 調停 も、 ク ロ ッ ク同期 と 同様に、 シ ステム内で複数のマス タ を使用 し てい る場合にのみ必 要 と なる プ ロ ト コ ルです。調停処理に スレーブは関与 し ません。 マス タ が転送を開始する のは、 バスが フ リ ーの場合のみです。 2 つのマス タ がス タ ー ト コ ンデ ィ シ ョ ンの最小ホー ル ド 時間 (tHD;STA) 内に ス タ ー ト コ ンデ ィ シ ョ ン を生成 し た場合、 こ れはバス上では有効 なス タ ー ト コ ンデ ィ シ ョ ン と な っ て し まい ます。こ の後ど ち らのマス タ の転送を完遂 さ せ るかを決定する ため、 調停が必要に な り ます。 調停はビ ッ ト 単位で行われ、 SCL が HIGH のと き、 各マス タ は SDA のレベルが自分の送 信 し た内容 と 一致するかど う かを チ ェ ッ ク し ます。こ のプ ロ セスが完了する ま でに た く さ んのビ ッ ト 転送が行われる こ と も考え られます。最終的に ど ち らのマス タ も エ ラー (送信 内容 と と SDA 状態の不一致) を検出 し なかっ た場合には、 ど ち らのマス タ も同一の転送 を行な っ てい た と い う こ と に な り ます。 HIGH の送信を行な っ ているに も関わらず SDA が LOW であ る こ と を検出する と 、 その時点でそのマス タ は調停に失敗し た こ と を認識 し 、 SDA 出力を オ フに し ます。 も う 1 つのマス タ は転送処理を続行し ます。 図 7. 調停中の ク ロ ッ ク同期 CLK 1 CLK 2 SCL counter reset wait state start counting HIGH period mbc632

(12)

調停の プ ロ セ スで情報が失われる こ と はあ り ません。 調停に失敗 (ロ ス ト ) し たマス タ は、 ロ ス ト が発生 し たバ イ ト の最後ま で ク ロ ッ クパルスを出力する こ と ができ ます。調停 に失敗 し たマス タ は、 バスが フ リ ー状態にな っ た後、 転送 ( ト ラ ンザ ク シ ョ ン) を再実行 し な く てはな り ません。 スレーブ機能 も兼ねてい る マス タ が、 ア ド レ ス指定の段階で調停に失敗 し た場合、調停に 成功 し た側のマス タ が、 こ の失敗 し た側のア ド レ ス指定を行 う こ と も可能です。 こ のため 調停に失敗 し た側のマ ス タ は、 ただ ち にス レーブ モ ー ド に切 り 替わ ら な く てはな り ませ ん。 マス タ が 2 つの場合の調停プ ロ セスを下図 (図 8) に示 し ま す。 バスに接続さ れてい る マ ス タ の数に よ っ て、 こ のプ ロ セ スはよ り 多 く のマス タ 間で実行 さ れる こ と も あ り ま す。 DATA1 を出力するマ ス タの、 内部デー タ レ ベル と実際の実際の SDA ラ イ ンのレ ベルが 違 っ た時に、 DATA1 出力はオ フに な り ます. 調停に成功し たマス タ のデー タ 転送は影響 さ れません。 I2C バスの制御権 を得るかど う かは、 それぞれのマ ス タ が送信する ア ド レ ス と デー タ のみ に よ っ て決ま る ため、 セン タ ーマス タ や予め決め られた優先順位などは存在 し ません。 調停プ ロ セスの進行中に、いずれかのマス タ が リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ンやス ト ッ プ コ ンデ ィ シ ョ ンが生 じ た場合、定義 さ れてい ない状態 と な り ます。具体的には次の組合 せの場合に、 未定義の状態が発生 し ます。

マス タ 1 がリ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン を送信、マス タ 2 がデー タ ビ ッ ト を送信

マス タ 1 がス ト ッ プ コ ンデ ィ シ ョ ン を送信、 マス タ 2 がデー タ ビ ッ ト を送信

マス タ 1 がリ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン を送信、 マス タ 2 がス ト ッ プ コ ンデ ィ シ ョ ン を送信 図 8. マス タ が 2 つの場合の調停プ ロ セス msc609 DATA 1 DATA 2 SDA SCL S

master 1 loses arbitration DATA 1 SDA

(13)

3.1.9 ク ロ ッ ク ス ト レ ッ チ ト ラ ンザ ク シ ョ ン を一時停止 さ せる場合、 SCL ラ イ ン を LOW に保持する ク ロ ッ ク ス ト レ ッ チが行われます。 SCL ラ イ ンがリ リ ース さ れる (再度 HIGH に なる) ま で、 ト ラ ン ザ ク シ ョ ン を続行する こ と はでき ません。 ク ロ ッ ク ス ト レ ッ チはオ プ シ ョ ン です。実際の 多 く のスレーブ ・ デバ イ スには SCL ド ラ イバ (訳注 : SCL に対する出力回路) は実装さ れてお らず、 ク ロ ッ ク ス ト レ ッ チを行 う こ と はあ り ません。 デー タ バ イ ト の各ビ ッ ト の受信を高速で実行でき るデバ イ スで も、受信 し たバ イ ト の格納 や送信 さ れる別のバ イ ト の準備には若干の時間が必要に なるか も知れません。 こ のため、 スレーブはバ イ ト 転送 と ア ク ノ リ ッ ジの後に SCL ラ イ ン を LOW に保持する こ と で、 次 のバ イ ト 転送の準備がで き る ま で マス タ を強制的に待機状態に するハン ド シ ェ ー ク処理 が行えます (図 7)。 ビ ッ ト レ ベルでは、 た と えばマ イ ク ロ コ ン ト ロー ラ のよ う な デバ イ スは各 ク ロ ッ ク の LOW 期間 を延ばすこ と でバス ・ ク ロ ッ ク を遅 く する こ と がで き ま す。 こ の結果、 マ ス タ の転送速度は こ の (スレーブ) デバ イ スの内部的な動作速度に合わせて調整 さ れる こ と に なる ます。 Hs モ ー ド の場合、 こ のハン ド シ ェ ー ク 処理はバイ ト レ ベルでのみ使われます (5.3.2 章参 照)。 3.1.10 スレ ーブ ア ド レ ス と R/W ビ ッ ト デー タ 転送の形式を下図 (図 9) に示 し ま す。 ス タ ー ト コ ンデ ィ シ ョ ン (S) の後、 スレー ブ ア ド レ スが送信 さ れます。 こ のア ド レスは 7 ビ ッ ト 長で、 8 ビ ッ ト 目にデー タ 転送の方 向を示すビ ッ ト (R/W) が続き ます。 「0」 は、 送信 (WRITE、 書き込み) を、 「1」 はデー タ の リ ク エ ス ト (READ、 読み出 し) を示し ます (図 10)。 デー タ の転送は必ずマス タ が 生成する ス ト ッ プ コ ンデ ィ シ ョ ン (P) で終了し ますが、 マス タ が続けて通信を行 う 場合 は、 ス ト ッ プ コ ンデ ィ シ ョ ンではな く リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) を生成し て 別のスレーブのア ド レ スを指定 し ます。 次のよ う なデー タ 転送 フ ォーマ ッ ト を使 う こ と ができ ます : 図 9. デー タ 転送。 開始か ら終了ま で S 1 - 7 8 9 1 - 7 8 9 1 - 7 8 9 P STOP condition START condition DATA ACK DATA ACK ADDRESS R/W ACK SDA SCL mbc604 図 10. ス タ ー ト プ ロ セス後の最初のバイ ト mbc608 R/W LSB MSB slave address

(14)

マス タ ト ラ ン ス ミ ッ タ か ら スレーブ レ シーバに送信。 転送方向は不変 (図 11)、 スレーブ レ シーバは各バ イ ト に ア ク ノ リ ッ ジ を返 し ます。

1 バ イ ト 目の後、 ス レ ーブか ら マ ス タへ読み出 し (図 12)。 最初のア ク ノ リ ッ ジ でマ ス タ ト ラ ン ス ミ ッ タ はマス タ レ シーバに、スレーブ レ シーバはスレーブ ト ラ ン ス ミ ッ タ に な り ます。 最初のア ク ノ リ ッ ジはスレーブに よ っ て生成 さ れますが、 その後のア ク ノ リ ッ ジはマス タ に よ っ て生成さ れます。ス ト ッ プ コ ンデ ィ シ ョ ンはマス タ に よ っ て生成さ れ、 その直前には ノ ッ ト ・ ア ク ノ リ ッ ジ (A) が (マス タ か ら ス レー ブへ) 返 さ れます。

組合せ フ ォーマ ッ ト (図 13) 。 転送の方向を変える場合、 改めてス タ ー ト コ ンデ ィ シ ョ ン と R/W ビ ッ ト を反転さ せたスレーブ ア ド レ スが送信さ れます。 マス タ レ シー バが リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン を送信する直前には ノ ッ ト ・ ア ク ノ リ ッ ジ (A) が返 さ れます。 備考 1. 組合せの フ ォ ーマ ッ ト は、 た と えばシ リ アル メ モ リ の コ ン ト ロールに使用で き ます。 最初のデー タ バ イ ト に よ っ て内部 メ モ リ の位置を指定。ス タ ー ト コ ンデ ィ シ ョ ン と ス レーブ ア ド レ スを改めて送出 し た後に、 デー タ の転送を行い ます。 2. (連続 し たア ク セス を 行 う ために) 前回指定 し た メ モ リ 位置を 記憶 し 、 (その後のア ク セス位置情報の) オー ト イ ン ク リ メ ン ト ま たはデ ィ ク リ メ ン ト を行 う かど う かは、 デ バ イ スの設計担当者が判断 し ます。 3. シーケ ン ス内の各バ イ ト には、 A ブ ロ ッ ク ま たは A ブ ロ ッ ク と し て示 さ れる ア ク ノ リ ッ ジ ビ ッ ト が続き ます。 4. I2C バス準拠デバ イ スは、 ス タ ー ト コ ンデ ィ シ ョ ン ま たは リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン を受信する と 、た と え こ れ らのス タ ー ト コ ンデ ィ シ ョ ンが フ ォーマ ッ ト と し て 適切でない場所で発生 し た と し て も、 バス ・ ロ ジ ッ ク を リ セ ッ ト し 、 次に スレーブ ア ド レ スを受け る よ う に し ておかなければな り ません。 5. ス タ ー ト コ ンデ ィ シ ョ ンの直後に ス ト ッ プ コ ンデ ィ シ ョ ンが続 く 空の メ ッ セージ は 不正な フ ォーマ ッ ト です。 し か し 、 多 く のデバ イ スが こ のよ う な状況で も適切に動作 する よ う にデザ イ ン さ れてい ます。 6. バスに接続 さ れてい る各デバ イ スは、 固有のア ド レ スに よ っ て指定で き ます。 通常は 1 対 1 のマ ス タ / ス レ ーブの関係でや り と り が行われますが、 た と えば同 じ ア ド レ ス を持つ複数のスレーブに同時に受信 ・ 応答 さ せるグループ ブ ロー ド キ ャ ス ト を行 う こ と も可能です。 こ の方法は、 PCA9546A のよ う なバススイ ッ チを介し て、 4 つのチ ャ ン ネルに接続さ れた同一ア ド レ ス を持つ複数のデバイ スに対する設定を一度に行 う よ う な場面で役立ち ます。 こ の場合、 各スレーブか らのア ク ノ リ ッ ジ を個別に判断で き ない ため、プ ログ ラ ミ ング結果の確認には個々のチ ャネル 1 つづつ ON に し てデバ イ スの読み出 し を行い ます。詳細はそれぞれのデバ イ スのデー タ シー ト を参照 し て く だ さ い。 図 11. マス タ ト ラ ン ス ミ ッ タ に よ る 7 ビ ッ ト ア ド レ スのスレーブ レ シーバの指定(転送方向は 変化な し ) mbc605 A/A A '0' (write) data transferred (n bytes + acknowledge)

A = acknowledge (SDA LOW) A = not acknowledge (SDA HIGH) S = START condition

P = STOP condition R/W

from master to slave

from slave to master

DATA DATA

A SLAVE ADDRESS

(15)

3.1.11 10 ビ ッ ト ア ド レ ス指定 10 ビ ッ ト ア ド レ ス 指定に よ っ て、 使用可能な ア ド レ スの数 を 増やすこ と がで き ます。 7 ビ ッ ト ア ド レ ス と 10 ビ ッ ト ア ド レ スのデバイ スは同じ I2C バスに接続する こ と がで き 、 バスのすべてのスピー ド モー ド で使用でき ます。 し か し 現在の と こ ろ 10 ビ ッ ト ア ド レ ス を使 う デバ イ スは多 く はあ り ません。 10 ビ ッ ト ス レ ーブ ア ド レ ス は、 ス タ ー ト コ ンデ ィ シ ョ ン (S) ま たは リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) に続 く 最初の 2 バイ ト で構成さ れます。 1 バ イ ト 目の先頭の 7 ビ ッ ト 、 1111 0XX の末尾 2 ビ ッ ト (XX) は 10 ビ ッ ト ア ド レ スの 最上位 2 ビ ッ ト 、 8 ビ ッ ト 目は メ ッ セージの方向を決定する R/W ビ ッ ト です。 こ の予約済ア ド レ スビ ッ ト 1111 XXX の組合せは全部で 8 つあ り ま すが、 10 ビ ッ ト ア ド レ ス指定では 4 つの組合せ 1111 0XX のみが使用さ れます。残 りの 4 つの組合せ 1111 1XX は、 将来のバスの拡張用に予約 さ れてい ます。 先に解説 し た 7 ビ ッ ト ア ド レ ス指定の読み出し / 書き込みフ ォ ーマ ッ ト は、すべて 10 ビ ッ ト ア ド レ ス指定で も使用可能です。 こ の詳細を次の 2 つの例で説明し ます。

マス タ ト ラ ン ス ミ ッ タ がスレーブ レ シーバに 10 ビ ッ ト スレーブ ア ド レ スを送信。 転送方向は不変 (図 14)、 ス タ ー ト コ ンデ ィ シ ョ ンに 10 ビ ッ ト ア ド レ スが続 く 場合、 各スレーブは自身の と ア ド レ スの 1 バイ ト 目の最初の 7 ビ ッ ト (1111 0XX) を比較 し 、 8 番目のビ ッ ト (R/W 方向ビ ッ ト ) が 「0」 であ る こ と を確認し ます。 複数のデ バイ スがこ れに マ ッ チ し 、 ア ク ノ リ ッ ジ (A1) を返す場合も あ り ま す (A1)。 マ ッ チ し た すべ て のス レ ー ブ は、 自身の ア ド レ ス と 2 バ イ ト 目の 8 ビ ッ ト を 比較 し (XXXX XXXX)、 マ ッ チ し た 1 つのス レーブがア ク ノ リ ッ ジ を返 し ま す (A2)。 マ ッ チ し たスレーブは、 ス ト ッ プ コ ンデ ィ シ ョ ン (P) か リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) に続いて異なる スレーブ ア ド レ スを受信する ま で、 ア ド レ ス指定さ れた状態 と な り ます。

マス タ レ シーバが 10 ビ ッ ト ・ スレーブ ア ド レ スのスレーブ ト ラ ン ス ミ ッ タ を読み 出す。 転送方向は 2 回目の R/W ビ ッ ト の後に変化 し ま す (図 15)、 ア ク ノ リ ッ ジ ビ ッ ト A2 ま での手順はマス タ ・ ト ラ ン ス ミ ッ タ に よ る スレーブ レ シーバのア ド レ ス指定 と 同 じ です。 リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) の後で も、 マ ッ チする スレーブは先に 図 12. マス タ は最初のバイ ト の直後に スレーブ を読み出す 図 13. 組合せ フ ォ ーマ ッ ト mbc606 A (read) data transferred (n bytes + acknowledge) R/W A 1 P DATA DATA SLAVE ADDRESS S A mbc607 DATA A R/W read or write A/A DATA A R/W (n bytes + ack.)* direction of transfer may change at this point.

read or write (n bytes

+ ack.)*

Sr = repeated START condition A/A

*not shaded because transfer direction of data and acknowledge bits depends on R/W bits.

SLAVE ADDRESS

(16)

ア ド レ ス指定 さ れた こ と を記憶 し てお り 、 Sr に続 く ス レーブ ア ド レ スの最初のバイ ト の先頭の 7 ビ ッ ト が一致するかを チ ェ ッ ク、 さ ら に 8 ビ ッ ト 目 (R/W ) が 「1」 で あ る こ と を確認し ます。 マ ッ チ し た場合、 スレーブは ト ラ ン ス ミ ッ タ と し てア ド レ ス指定さ れた と 判断し 、 ア ク ノ リ ッ ジ A3 を返 し ます。 ス レーブ ト ラ ン ス ミ ッ タ は、 ス ト ッ プ コ ンデ ィ シ ョ ン (P) を受信するか次の リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) に続けて異なる スレー ブ ア ド レ スを受信する ま で、 ア ド レ ス指定 さ れた状態 と な り ます。 リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) の後は、 他のすべてのスレーブデバイ ス も自 身のア ド レ スに対 し てスレーブ ア ド レ スの最初のバ イ ト を確認 し ます。 し か し た と え 先頭の 7 ビ ッ ト (1111 0XX) がマ ッ チ し た と し て も、 8 ビ ッ ト 目が R/W = 1 と なる ため、 いずれのスレーブ ・ デバ イ ス も ア ド レ ス指定 さ れた状態 と はな り ません。 10 ビ ッ ト ・ ア ド レスのス レーブ ア ド レスは、 7 ビ ッ ト ア ド レ スのス レ ーブデバ イ ス と 同 じ よ う に 「ゼネ ラル コ ール」 に反応 し ます。 ハー ド ウ ェ ア ・ マス タ は、 「ゼネ ラル コ ール」 の後に 10 ビ ッ ト ・ ア ド レ スを送信する こ と ができ ます。 この場合、 「ゼネ ラルコール」 ア ド レ ス ・ バ イ ト に、 マス タ ト ラ ンス ミ ッ タの 10 ビ ッ ト ア ド レ スの 2 つのバイ ト が続き ま す。(図 15) マス タ ア ド レスの下位 8 バイ ト が DATA の先頭に入っ ている様子を示し てい ます。 ス タ ー ト バイ ト 0000 0001 (01h) は、 7 ビ ッ ト ア ド レス指定の場合と 同様に 10 ビ ッ ト ア ド レ ス指定に先行する こ と ができ ます (3.1.15 章参照)。 図 14. マス タ ・ ト ラ ン ス ミ ッ タ に よ る スレーブ レ シーバのア ド レ ス指定 (10 ビ ッ ト ア ド レス) mbc613 R/W A1 (write) A2 A A/A 1 1 1 1 0 X X 0 SLAVE ADDRESS 1st 7 BITS

S SLAVE ADDRESS DATA DATA P 2nd BYTE 図 15. マス タ レ シーバに よ る スレーブ ・ ト ラ ン ス ミ ッ タ のア ド レ ス指定 (10 ビ ッ ト ア ド レス) mbc614 R/W A1 (write) A3 DATA DATA A2 R/W (read) 1 1 1 1 0 X X 0 1 1 1 1 0 X X 1 A A P Sr SLAVE ADDRESS 1st 7 BITS SLAVE ADDRESS 2nd BYTE SLAVE ADDRESS 1st 7 BITS S

(17)

3.1.12 予約済のア ド レ ス 2 つのグループ(0000 XXX と 1111 XXX)に各 8 個のア ド レ スが、表 3の通 り 予約 さ れてい ます。 [1] ゼネ ラ ルコ ールア ド レ スは、 ソ フ ト ウ ェ ア リ セ ッ ト を含む複数の機能に使われます。 [2] ス タ ー ト バイ ト の受信に対 し てデバイ スがア ク ノ リ ッ ジ を返す こ と はでき ません。 [3] CBUS ア ド レ スは、 同 じ シ ス テム内で の CBUS 対応デバ イ ス と I2C バス対応デバイ スの相互利用のために 予約 さ れてい ます。 I2C バス デバ イ スが このア ド レス に応答す る こ と は認められて いません。 [4] 異なるバスフ ォ ー マ ッ ト 用に予約 さ れてい る ア ド レ スは、I2C お よび他のプ ロ ト コ ルを混合 し て利用で き る よ う にす るためのも のです。 こ れら のフ ォ ー マ ッ ト と プ ロ ト コ ルをサポー ト す る I2C バス対応デバイ スの みが、 こ のア ド レ スに応答でき ます。 ロー カルシ ステム内でのア ド レ スの割当ては、 シ ステムアーキテ ク ト が行い ます。 シ ステ ム ・ アーキテ ク ト は、 バスで使用 され るデバ イ スだけでな く 、 他の I2C バスデバ イ ス を 将 来的に使用する可能性 も考慮 し ておかなければな り ません。 し か し た と えば、ユーザー割 当て可能な 7 つのア ド レ スピ ン を有するデバイ スの場合、128 のア ド レ スすべてを割り 当 てる こ と ができ ますが、予約済のア ド レ スを本来の目的に使用 し ない こ と があ らか じ め分 か っ てい るのであれば、 こ れ ら を スレーブ ア ド レ ス と し て使用する こ と も でき ます。 3.1.13 ゼネ ラ ルコ ールア ド レ ス ゼネ ラルコ ールア ド レ スは、 I2C バスに接続 し たすべてのデバ イ ス を 同時に ア ド レ ス指定 する ために用意 さ れてい ます。 ただ し 、ゼネ ラル コ ールに よ るデー タ を用い ないデバ イ ス の場合、 こ のア ド レスにア ク ノ リ ッ ジ返 さ ず、 無視 し ます。 ゼネ ラル コ ールア ド レ スに よ るデー タ を用い るデバ イ スの場合、 こ のア ド レ スに対 し てア ク ノ リ ッ ジ を返 し 、 スレーブ レ シーバ と な り ます。マス タ は何個のデバ イ スが実際に ア ク ノ リ ッ ジ を返 し たかを知る こ と はでき ません。 2 バイ ト 目以降も、 このデー タ を処理でき るすべてのスレーブ レ シーバ からのア ク ノ リ ッ ジを受け取り ます。 スレーブは、 こ れらのバ イ ト の う ち処理でき ない も のに対 し て ノ ッ ト ・ ア ク ノ リ ッ ジ を返 し、 無視 し ます。 こ の場合 も、 他のスレーブがア ク ノ リ ッ ジ を返す と 、 マス タは ノ ッ ト ・ ア ク ノ リ ッ ジ を認識する こ と はで き ません。 ゼネ ラ ル コ ールア ド レ スの内容は、 常に 2 バイ ト 目で指定さ れます (図 16)。 表 3. 予約済のア ド レ ス

X = don’t care; 1 = HIGH; 0 = LOW.

スレーブ ア ド レ ス R/W ビ ッ ト 説明 0000 000 0 ゼネ ラル コ ールア ド レス[1] 0000 000 1 ス タ ー ト バ イ ト[2] 0000 001 X CBUS ア ド レ ス[3] 0000 010 X 異な るバス フ ォ ーマ ッ ト 用に予約[4] 0000 011 X 将来の使用のため予約 0000 1XX X Hs-mod マス タ コ ー ド 1111 1XX X デバ イ ス ID 1111 0XX X 10 ビ ッ ト ス レ ー ブ ア ド レ ス指定 図 16. ゼネ ラ ル コールア ド レ スの形式 mbc623 LSB second byte 0 0 0 0 0 0 0 0 A X X X X X X X B A first byte (general call address)

(18)

次の 2 つのケースを考慮し な く てはな り ません。

最下位ビ ッ ト B が 「0」 の場合。

最下位ビ ッ ト B が 「1」 の場合。 ビ ッ ト B が 「0」 の場合、 2 バイ ト の定義は次の通 り。

0000 0110 (06h): ハー ド ウ ェ ア に よ る リ セ ッ ト 、 ス レ ーブ ア ド レ スのプ ログ ラ ミ ング 可能な部分を書込み。 こ の 2 バイ ト シーケ ンス を受信する と、 ゼネ ラルコールア ド レ スへ応答する よ う にデザ イ ン さ れてい るすべてのデバ イ スは、 リ セ ッ ト し プ ログ ラム 可能な部分を書き 込みます。 電源投入後にデバ イ スが SDA、 SCL ラ イ ン を引っ張ら ないよ う に注意し なければな り ません。 LOW レベルの発生はバス を停止 させて し ま いま す。

0000 0100 (04h):ス レ ーブ ア ド レ スのプ ログ ラ ミ ング可能な部分のハー ド ウ ェ アに よ る書込み。 挙動は上記 と 同 じ ですが、 デバ イ スを リ セ ッ ト し ません。

0000 0000 (00h): 2 バ イ ト 目の と し て こ の コ ー ド を 使用する こ と はで き ません。 プ ログ ラ ミ ングの手順は各デバ イ スのデー タ シー ト を参照 し て く だ さ い。こ れ以外の残 り の コ ー ド は規定 さ れてお らず、 デバ イ スは無視 し なければな り ません。 ビ ッ ト B が 「1」 の場合、 2 バイ ト シーケン スは 「ハー ド ウ ェ ア ・ ゼネ ラルコール」 と な り ます。 こ のシ ーケ ンスは、 た と えばキーボー ド スキ ャ ナなどのハー ド ウ ェ ア ・ マス タ デ バイ スが、 自身のス レー ブ ア ド レ スを通知で き る よ う 設け られた ものです。 このよ う な ハー ド ウ ェ ア マ ス タ は メ ッ セージ の転送先 と な るデバ イ ス を事前に知る こ と はで き ない ので、 シ ステム側で認識 し て も ら える よ う にハー ド ウ ェ ア ・ ゼネ ラル コ ール と 自身のア ド レ スを送信 し ます (図 17)。 2 バ イ ト 目の先頭 7 ビ ッ ト は、 ハー ド ウ ェ ア マ ス タのア ド レ ス で す。 バスに接続 さ れてい る イ ン テ リ ジ ェ ン ト デバ イ ス (マ イ ク ロ コ ン ト ロー ラ など) は こ のア ド レ スを認識 し て、 ハー ド ウ ェ ア マス タ か らの情報を受信 し ます。ハー ド ウ ェ ア マス タ が同時に スレーブ で も あ る場合、 スレーブ ア ド レ ス と マス タ ア ド レ スは同一 と な り ます。 シ ステム リ セ ッ ト の後はハー ド ウ ェ ア マス タ ・ ト ラ ン ス ミ ッ タ がスレーブ レ シーバ ・ モー ド に なる システム も可能です。 こ れ を使えば、 シ ステム設定を行 う マス タ が ( スレーブ レ シーバ ・ モー ド に なっ た ) ハー ド ウ ェ アマス タ ・ ト ラ ン ス ミ ッ タ に、 ア ド レ スデー タ の送 信先を教える こ と ができ ます (図 18)。 こ の処理 を行 っ た後は、 ハー ド ウ ェ ア ・ マス タ は マス タ ト ラ ン ス ミ ッ タ ・ モー ド で動作し ます。 図 17. ハー ド ウ ェ ア ・ ト ラ ン ス ミ ッ タ か らのデー タ 転送 mbc624 general call address (B) A A second byte A A (n bytes + ack.) S 00000000 MASTER ADDRESS 1 DATA DATA P

(19)

3.1.14 ソ フ ト ウ ェ ア リ セ ッ ト ゼネ ラルコ ール (0000 0000) の後、 2 バイ ト 目と し て 0000 0110 (06h) を送信する と 、 ソ フ ト ウ ェ ア リ セ ッ ト が実行 さ れます。 こ の機能はオ プ シ ョ ン で、すべてのデバ イ スが こ の コ マン ド に応答するわけ ではあ り ません。 こ の 2 バイ ト ・ シーケ ン スの受信に よ っ て、 ゼネ ラ ル コ ール ・ ア ド レ スへ応答する よ う にデザ イ ン さ れてい る すべてのデバ イ スは リ セ ッ ト し 、 プ ログ ラム可能な部分を書き 込みます。 電源投入後にデバ イ スが SDA、 SCL ラ イ ン を引っ張ら ない よ う に注意し なければな り ません。 LOW レベルの発生はバスを停 止 さ せて し まい ます。 3.1.15 ス タ ー ト バイ ト マ イ ク ロ コ ン ト ロー ラの I2C バス対応には 2 つの方法があ り ま す。マ イ ク ロ コ ン ト ロー ラ が I2C バス イ ン タ ー フ ェ ース をハー ド ウ ェ ア で持 っ て いる な ら 、バス リ ク エ ス ト に よ る割 り 込みを用い たプ ログ ラムが可能で し ょ う 。こ のよ う な イ ン タ ー フ ェ ースを実装 し てい な いデバ イ スの場合、 ソ フ ト ウ ェ ア よ っ てバスを継続的に監視 し なければな り ません。 マ イ ク ロ コ ン ト ロー ラがバスの監視ややポー リ ング を行 う 時間が増える と 、本来の機能を実行 する時間が削 られて し まい ます。 し たが っ て高速なハー ド ウ ェ ア を持つデバ イ ス と 、ソ フ ト ウ ェ アポー リ ングに依存 し た比 較的遅い マ イ ク ロ コ ン ト ロー ラには、 スピー ド に差が出ます。 こ の遅いデバ イ スに対応する ため、デー タ 転送の前に通常よ り も長い ス タ ー ト 手順を置 く こ と が可能です (図 19)。 こ のス タ ー ト 手順は次の通 り 。

ス タ ー ト コ ンデ ィ シ ョ ン (S)

ス タ ー ト バイ ト (0000 0001)

ア ク ノ リ ッ ジ ク ロ ッ クパルス (ACK)

リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) a. 構成マ ス タ がハー ド ウ ェ ア マ ス タ にダ ン プ ア ド レ ス を送信 b. ハー ド ウ ェ ア マ ス タ が指定のス レ ー ブへデー タ をダ ン プ 図 18. ス レ ーブ デバ イ スへデー タ を 直接ダ ン プ で き るハー ド ウ ェ ア ト ラ ン ス ミ ッ タ に よ る デー タ 転送 002aac885 write A A R/W

S SLAVE ADDR. H/W MASTER DUMP ADDR. FOR H/W MASTER X P

002aac886 R/W write A A (n bytes + ack.) A/A S DUMP ADDR. FROM H/W MASTER DATA DATA P

(20)

バス ・ ア ク セスを開始する マス タ がス タ ー ト コ ンデ ィ シ ョ ン (S) の後に、 ス タ ー ト バイ ト (0000 0001) を送信 し ま す。 これを受ける側のマ イ ク ロ コ ン ト ロー ラはス タ ー ト バイ ト 中の 7 つの 「0」 のいずれかを検出で きれば良いので、 SDA ラ イ ン を低レー ト でサン プ リ ング でき ます。 こ の SDA ラ イ ンの LOW レベルを検出し た後、 マ イ ク ロ コ ン ト ロー ラ はサン プ リ ング を高い レー ト に切 り 替えて リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) を検出 し 、 その後の同期に使用 し ます。 ハー ド ウ ェ ア レ シーバはリ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン (Sr) の受信で リ セ ッ ト さ れる ため、 ス タ ー ト バ イ ト は無視 さ れます。 ス タ ー ト バ イ ト の後、 ア ク ノ リ ッ ジ ク ロ ッ ク パル スが出力 さ れ ま すが、 こ れはバ スの フ ォーマ ッ ト に合わせる ためのもので、 どのデバイ ス も、 ス タ ー ト バイ ト に対し てア ク ノ リ ッ ジ を返す こ と はでき ません。 3.1.16 バス ク リ ア ク ロ ッ ク (SCL) が LOW の状態で動かな く な っ て し ま う 状況の発生はあ ま り 考え られま せんが、 も し こ のよ う な状況が発生 し た場合には、 使用 し てい る I2C デバ イ ス に HW リ セ ッ ト 入力があれば、 それを使用 し て リ セ ッ ト すべき です。HW リ セ ッ ト 入力がない場合 は、 電源の再投入でパワーオ ン リ セ ッ ト (POR) を試みます。 デー タ ラ イ ン (SDA) が LOW の状態で動かな く な っ て し ま っ た場合、 マス タはク ロ ッ ク ・ パルス を 9 回送信 し なければな り ません。 バス を LOW に し ているデバイ スはこの 9 回の ク ロ ッ クの内に SDA を リ リ ースする必要があ り 、 これが う ま く いかなかっ た場合は HW リ セ ッ ト を使用するか、 電源の再投入でバス を ク リ ア し ます。 3.1.17 デバイ ス ID デバ イ ス ID フ ィ ール ド (図 20) はオプ シ ョ ン と し て用意 さ れる読取専用の 3 バイ ト (24 ビ ッ ト ) ワー ド で、 次の情報を提供 し ます。

メ ー カー (製造業者) 固有の 12 ビ ッ ト の (例 : NXP)

9 ビ ッ ト のパーツ ID、 メ ー カーが割当て (例 : PCA9698)

3 ビ ッ ト のダ イ (チ ッ プ) の リ ビ ジ ョ ン、 メ ー カーが割当て (例 : RevX) 図 19. ス タ ー ト バイ ト ・ プ ロ シージ ャ 002aac997 S 9 8 2 1 Sr 7 NACK dummy acknowledge (HIGH) START byte 0000 0001 SDA SCL 図 20. デバイ ス ID フ ィ ール ド 0 002aab942 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 revision 0 0 0 0 0 part identification manufacturer

(21)

デバ イ ス ID は読み出し 専用で、 デバイ ス内でハー ド ワ イヤ さ れた情報です。 ア ク セスの 方法は次の通 り 。 1. ス タ ー ト コ ンデ ィ シ ョ ン 2. マス タ がデバ イ ス ID 用に予約済のア ド レ ス と こ れに続 く R/W 0」、 書 き込み) を 送出 (1111 1000)。 3. マ ス タ が、 識別 し よ う と し てい るデバ イ スのス レ ーブ ア ド レ ス を 送信。 最下位ビ ッ ト の値は 「Don’t care」。 このバイ ト にア ク ノ リ ッ ジ を返すのは 1 デバイ スのみ (指定し たバススレーブ ア ド レ スを有し てい るデバイ ス)。 4. マ ス タ が リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ン を 送出。 注意 : (Sr ではな く ) ス ト ッ プ コ ンデ ィ シ ョ ン と これに続 く ス タ ー ト コ ンデ ィ シ ョ ン を送出する と 、 スレーブのステー ト マシンが リ セ ッ ト さ れて し ま う ため、 デバイ ス ID の読取 り を実行で き ません。 ま たス ト ッ プ コ ンデ ィ シ ョ ン ま たは リ ピー ト ス タ ー ト コ ンデ ィ シ ョ ンの後に別のスレーブ ア ド レ スに ア ク セス し た場合 も、スレーブのス テー ト マシ ンが リ セ ッ ト さ れて し ま う ので、 デバ イ ス ID の読み出し を実行でき ませ ん。 5. マス タ がデバ イ ス ID 用に予約済のア ド レ ス と こ れに続 く R/W 1」、 読み出 し ) を 送出 (1111 1000)。 6. デバ イ ス ID の読み出 し が可能に な り 、 最初に メ ーカ ーを 表す 12 ビ ッ ト (最初のバ イ ト +2 バイ ト 目の上位 4 ビ ッ ト )、 パーツ ID の 9 ビ ッ ト (2 バイ ト 目の下位 4 ビ ッ ト +3 バイ ト 目の上位 5 ビ ッ ト )、 最後にダ イ の リ ビ ジ ョ ン を 表す 3 ビ ッ ト (3 バ イ ト 目 の下位 3 ビ ッ ト ) のビ ッ ト が続き ます。 7. マ ス タ は最後のバ イ ト に NACK を 返 し 読み出 し シーケ ン ス を 終了。 こ れに よ っ て ス レーブデバイ スのステー ト マシンがリ セ ッ ト さ れ、 マス タ は STOP コ マン ド を送出 し ます。 注意 : デバイ ス ID の読み出し は、 マス タが NACK を返す こ と に よ っ ていつで も中止 でき ます。 マス タ が 3 バイ ト 目に対し て も ACK を返す と 、ス レーブは最初のバイ ト に戻っ て、NACK を検出する ま でデバ イ ス ID のシーケ ン スを送信し ます。

(22)

メ ー カー ID の発行を希望さ れる場合は、 NXP ま で メ ールで ([email protected]) お 問合わせ く だ さ い。 表 4. 割当済の メ ー カー ID メ ーカ ービ ッ ト 会社名 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 NXP セ ミ コ ンダ ク タ ーズ 0 0 0 0 0 0 0 0 0 0 0 1 NXP セ ミ コ ンダ ク タ ーズ(予約済) 0 0 0 0 0 0 0 0 0 0 1 0 NXP セ ミ コ ンダ ク タ ーズ(予約済) 0 0 0 0 0 0 0 0 0 0 1 1 NXP セ ミ コ ンダ ク タ ーズ(予約済) 0 0 0 0 0 0 0 0 0 1 0 0 Ramtron International 0 0 0 0 0 0 0 0 0 1 0 1 Analog Devices 0 0 0 0 0 0 0 0 0 1 1 0 STMicroelectronics 0 0 0 0 0 0 0 0 0 1 1 1 ON Semiconductor 0 0 0 0 0 0 0 0 1 0 0 0 Sprintek Corporation 0 0 0 0 0 0 0 0 1 0 0 1 ESPROS Photonics AG 0 0 0 0 0 0 0 0 1 0 1 0 Fujitsu Semiconductor 0 0 0 0 0 0 0 0 1 0 1 1 Flir 0 0 0 0 0 0 0 0 1 1 0 0 O2Micro 0 0 0 0 0 0 0 0 1 1 0 1 Atmel

(23)

3.2 I

2

C バス プ ロ ト コ ル ― Ultra Fast-mode (ウル ト ラ フ ァ ース ト モー ド :

UFm)

UFm I2C バスは 2 線式プ ッ シ ュ プルシ リ アルバス で、DC か ら 5MHz ま での片方向デー タ 転送をサポー ト し ます。 1MHz 以上のス ピー ド で、 LED コ ン ト ロー ラやその他フ ィ ー ド バ ッ ク が不要 なデバ イ ス を動かすのに最適 です。 UFm I2C バス プ ロ ト コ ルは、 START、 スレーブ ア ド レ ス、 コ マン ド ビ ッ ト 、 9 番目のク ロ ッ ク、 STOP ビ ッ ト で構成さ れる標準 の I2C バス プ ロ ト コ ル を ベース に し て います。 コ マ ン ド ビ ッ ト は書き 込みのみで、 9 番目 のク ロ ッ クのデー タ ビ ッ ト は HIGH と な り ま す。 ま た このバスは片方向通信のため ACK サ イ クルは無視 さ れます。 UFm シ リ アルク ロ ッ ク (USCL) と シ リ アルデー タ (USDA) の 2 本のワ イヤはプ ッ シ ュ プル駆動さ れます。 スレーブデバ イ スには固有のア ド レ ス (マ イ ク ロ コ ン ト ロー ラ、 LCD ド ラ イバ、 LED コ ン ト ロー ラ、 GPO 等に関係な く ) が与え られ、 レ シーバと し てのみ機能し ます。 常に レ シーバ と し てだけ動作すればよい、 た と えば LED ド ラ イ バは UFm で対応でき る一方、 デー タ の送受信が必要な メ モ リ などは UFm がサポー ト し ないデバイ ス と な り ます。 UFm I2C バスはプ ッ シ ュ プル駆動 さ れるので、 Sm、 Fm、 Fm+ I2C バスのよ う なワ イヤー ド AND オープ ン ド レ イ ン を使っ たマルチマス タ機能はあ り ません。 UFm においてデー タ 転送を開始 し 、 転送許可の ク ロ ッ ク信号を生成するデバイ スは 1 個のマス タ だけです。 ア ド レ ス指定 さ れる他のすべてのデバ イ スはスレーブ です。 UFm I2C バス に接続 さ れてい る、1 個のマ ス タ と 複数のス レ ーブ間におけ るデー タ 転送例 を説明し ます (図 21)。 表 5. UFm I2C バス - 用語解説 用語 説明 ト ラ ン ス ミ ッ タ バスにデー タ を送信するデバイ ス レ シーバ バスか らのデー タ を受信するデバイ ス マス タ 転送を開始 し 、 ク ロ ッ ク信号を生成 し て転送を終了するデバイ ス スレーブ マス タ に ア ド レ ス指定 さ れるデバイ ス 図 21. UFm I2C バス構成の例 002aag654 USDA USCL

Master ASIC LED

controller 3 LCD DRIVER LED controller 1 LED controller 2 GPO

(24)

次の例で、 UFm I2C バス上のマ ス タ ト ラ ンス ミ ッ タ と ス レ ーブ レ シ ーバの関係 を 示 し ま

す。 デー タの転送は一方向のみなので、 こ れ らの関係は永続的です。 デー タ 転送は次の手 順で行われます。

マス タ ASIC から LED コ ン ト ローラ 2 への情報送信の例

ASIC A (マ ス タ ト ラ ン ス ミ ッ タ ) が USDA でア ド レ ス を、 USCL で ク ロ ッ ク を 送出 し 、 LED コ ン ト ロー ラ 2 (スレーブ レ シーバ) のア ド レ スを指定。

ASIC A (マ ス タ ト ラ ン ス ミ ッ タ ) が LED コ ン ト ローラ 2 (ス レ ーブ レ シーバ) に、 USDA でデー タ を、 USCL で ク ロ ッ ク を 送出。

ASIC A が、 転送 を終了。 プ ッ シ ュ プル出力同士が競合状態 と なる ため、 複数の UFm マス タ を UFm I2C バスに接 続する こ と はでき ません。 バスでは同時にに 1 つのマス タ し か存在でき ないため、 シス テムに マス タ を追加する必要があ る場合は、他のマス タ か ら完全に分離 し なければな り ま せん。 UFm I2C バス での ク ロ ッ ク 信号の出力は、 常に マ ス タ デバ イ ス が行い ま す。 マ ス タ は、 デー タ をバス上に転送する際に ク ロ ッ ク信号 を出力 し ま す。 UFm I2C には ク ロ ッ ク ス ト レ ッ チや調停 プ ロ セスで使われ る ク ロ ッ ク の同期は存在 し ない ためスレ ーブデバ イ スが マス タ からのバス ・ ク ロ ッ ク信号を変更する こ と はでき ません。 バス仕様の必須部分 と オ プ シ ョ ン部分を下表 (表 6) に示 し ます。 表 6. UFm への I2C バス機能の対応 M = 必須、O = オ プ シ ョ ン、n/a = 適用不可能 機能 構成 単一マス タ ス タ ー ト コ ンデ ィ シ ョ ン M ス ト ッ プ コ ンデ ィ シ ョ ン M ア ク ノ リ ッ ジ n/p 同期化 n/p 調停 n/p ク ロ ッ ク ス ト レ ッ チ n/p 7 ビ ッ ト ・ ス レ ーブ ア ド レ ス M 10 ビ ッ ト ・ ス レ ーブ ア ド レ ス O ゼネ ラ ル コールア ド レ ス O ソ フ ト ウ ェ ア リ セ ッ ト O ス タ ー ト バイ ト O デバイ ス ID n/p

表 7. 予約済のア ド レ ス
表 11. SDAH、 SCLH、 SDA、 SCL I/O 段特性 - Hs-mode I 2 C バス ・ デバイ ス
表 12. SDAH、 SCLH、 SDA、 SCL バス ラ イ ンの特性 - Hs-mode I 2 C バス デバ イ ス [1]
表 13. USDA、 USCL I/O 段特性
+4

参照

関連したドキュメント

Please be advised that occasionally menu items may change based on market

This set will be important for the computation of an explicit estimate of the infinitesimal Kazhdan constant of Sp (2, R) in Section 3 and for the determination of an

A similar program for Drinfeld modular curves was started in [10], whose main results were the construction of the Jacobian J of M through non-Archimedean theta functions ( !;;z )

But in fact we can very quickly bound the axial elbows by the simple center-line method and so, in the vanilla algorithm, we will work only with upper bounds on the axial elbows..

Actually it can be seen that all the characterizations of A ≤ ∗ B listed in Theorem 2.1 have singular value analogies in the general case..

「 I certify that the goods described in this document qualify as originating and the information contained in this document is true and accurate. I assume

PLEASE EXAMINE THIS PROOF CAREFULLY FOR COPY, LAYOUT, SIZE COLOR BREAK, FDA, USDA, OR ANY OTHER AGENCY REGULATIONS.. THE INFORMATION ON THIS PROOF APPROVAL, THE

When placing your order, please inform us of any allergies or special dietary requirements that we should be aware of when preparing your