• No : 16252
  • 公開日時 : 2024/08/23 11:19
  • 印刷

【NXP:i.MX】 i.MX8M MiniのI2C通信時間のバラつきについて

i.MX8M MiniのI2C通信について、通信時間にバラツキがありI2C_SCL波形からデータ間にウェイトのような時間が発生しています。
その時、スレーブ側がビジーで、マスターであるIMX8M Miniがウェイトとされている訳ではありません。
対策方法はありますか。
カテゴリー : 

回答

NXP社Communityでは、以下の投稿があります。
Big latency in i2c writes
 
対策として、i.MX8M のI2C SDMA mode時のドライバ (LF6.1のi2c-imx.c リンク)の変更を案内しています。
(抜粋)
 
修正前)
    /* Wait controller to be stable */
    if (atomic)
        udelay(50);
    else
        usleep_range(50, 150);
 
修正後)
    /* Wait controller to be stable */
        usleep_range(50, 150);