2017-10-21 6 views
0

クロックストレッチを使用してI2Cでマスタをスローダウンします。スレーブデバイスがI2Cベースの場合、標準に従って100KHZで動作することができます。I2Cでクロックストレッチが必要な理由

私の混乱は、クロックがマスターとスレーブですでに100KHzになっているときに、クロックストレッチが必要なことです。

このために例を提供してください。..

答えて

3

をクロックの必要性奴隷月マスタまたはスレーブから受信することができませんので、延伸加工のための追加の時間、受信したデータを必要とします。

多くのスレーブデバイスは、優れたバッファシステムを持たない低コストのデバイスであり、低速メモリの読み出し時間を長くし、オーバーフローを防ぐためにクロックストレッチを使用する必要があります。

これは安価な速度制御システムです(より複雑な非同期接続と比較して)、安全で簡単です。

また、ビジーなタスクを処理する場合、CPUがI2Cで作業できない場合があります。例えば、センサが割り込みを要求し、クロックラインを低く保つことができます。通常の速度でデータを送信します。

参考:http://cache.freescale.com/files/sensors/doc/app_note/AN4481.pdf P.12

+0

優れた参考..あなたは、GPIOスレーブに入力されるようスレーブが、低SCLを引っ張ることができる方法の混乱を解決するために私を助けてください... –

+0

接続SCLとしては、プルアップ抵抗付きGPIOにGPIOをHighに設定するとSCLがLになり、マスタがSCLラインをLowに検出してサスペンドして待機します。 – slee

+0

GPIOをローに設定することを意味しますか –

関連する問題