LTC4331にクロックを送っていないのにスレーブ側に勝手にクロックが出ます。
2023-01-28更新
<<前のFAQ
| 次のFAQ>>
|
LTC4331はR/Wビット見てWriteなのかReadなのかを考えて先読みするように設計されています。
▼I2C Writeの場合
・マスターが7ビットのスレーブアドレス、R/Wビットの送出直後、R/Wが0、つまりWriteであるとLTC4331が認識して、マスターのクロックが来る前に�”�分、勝手にスレーブのLTC4331がクロックを出しています。これはスレーブ側のACKを先読みしています。先読みしたACK/NACKの信号を�△妊泪好拭実Δ鉾娠任靴討い泙后�

▼I2C Readの場合
・リードの場合はマスターのクロックよりも先にLTC4331自身のクロックで8ビットのデータを先読み込みして蓄積します。�”�分 ※この時9ビット目にACKを返すかNACKを返すか分からないので送りません。
あとからマスターのクロックに合わせてデータを放出します(正確にはスレーブ側が最初の1ビットを受信した時点からマスターへ反映を開始します) ��部分
9ビット目、マスターからACKorNACKの信号を受け取り、遅れてスレーブに反映します。�I�分
次のバイトも同じように繰り返します。青い枠が1ブロックになります。先読みするクロック周波数はSPEED1, SPEED2の設定に準じます。

▼I2C Readの場合(別波形)
★スレーブ側であるピンクのSCLと緑のSDAをご覧ください。
・�,魯好譟璽屮▲疋譽垢虜撚式魅咼奪�(例では緑波形=0), �△�R/Wビットの送信(この場合はREADなので緑波形=1)、��はデバイスからのACK(例では緑波形=0)になります。青のラインで1つの通信フェーズが終わりです。
LTC4331はデバイスからREADであることを認識しているので、間髪を入れず�ぁ銑イ韮献咼奪畔�を先読みしています。�ぁ銑イ覇世織如璽�0x70を上のマスターに遅れて反映しているのが分かります。

★結構ややこしいですが、ACK/NACKの信号は逆方向に伝達される仕組みをLTC4331はうまくこなしています。バッファのようなふるまいではなく結構高度なことを内部でやっています。
|
●データシート・ファイル (うまく表示されない場合は、右クリックしてファイルに保存してから開いてください)
|
|
LTC4331モジュール説明書
(773kバイト) 2021年 02月 26日
LTC4331 Datasheet
(238kバイト) 2019年 06月 06日
LTC4331データシート
(2,167kバイト) 2019年 03月 10日
インターフェース・セレクションガイド
(3,573kバイト) 2023年 06月 10日
| ●その他の質問一覧(この商品について)
|
LTC4331にクロックを送っていないのにスレーブ側に勝手にクロックが出ます。 2023-01-28更新 |
|