JAJZ035C July 2025 – October 2025 MSPM0C1105 , MSPM0C1106
I2C モジュール
機能
SMBus の High タイムアウト機能は、I2C クロックが 24KHz 未満になると動作しません。
SMBus の High タイムアウト機能は、I2C クロックレートが 24 kHz 未満(20 kHz、10 kHz など)では正常に動作しません。SMBus仕様から、アクティブトランザクション中のSCL High時間の上限は50µsです。I2C START ビットの書き込みから SCL Low までに要する合計時間は 60µs で、50µs 以上です。これにより、タイムアウト イベントをトリガし、転送開始時にトランザクションを完了することなく I2C コントローラを IDLE に移行できます。以下は詳細な説明です。
SCL が 20 kHz に構成されている場合、SCL の Low 期間と High 期間はそれぞれ 30 µs および 20 µs です。まず、High タイムアウト カウンタでデクリメントが開始し、同時に I2C START ビットの書き込みが開始します。その後、START ビットの書き込みから SDA が Low (スタート条件) になるまでに、1 SCL Low 期間 (30µs) かかります。次に、SDAがLow(スタート条件)になってからSCLがLowになる(データ転送が開始)までにさらに別のSCL Low期間(30µs)がかかり、この時点でHighタイムアウトカウンタが停止します。合計で、カウンターの開始から終了まで60µsかかります。ただし、高タイムアウトカウンタには上限(50µs)により、I2Cトランザクションは問題なく正常に動作しますが、タイムアウトイベントがトリガされます。
I2C クロックが 24KHz 未満の場合は、SMBus High タイムアウト機能を使用しないでください。