Community Translation - PSoC 4 I2C Master Always Reports BUS_BUSY - KBA231435

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,               

I would like to translate KBA231435 into Japanese.

Please confirm to my work.

Thanks,

Kenshow

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Kenshow-san

Confirm to work this KBA.

Thanks

Jenna

Jenna Jo
0 Likes
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

Original KBA:

PSoC 4 I2C Master Always Reports BUS_BUSY - KBA231435

Thanks.

Kenshow

==============================

タイトル: PSoC 4 I2Cマスターは常にBUS_BUSYを報告します - KBA231435

バージョン:**

I2Cマスター構成のSCBブロックは、I2C開始条件でビジーフラグを設定し、I2C停止条件でそれをクリアします。

SDAラインを論理LOW0.1VDD)にする可能性のあるI2Cバスのノイズは、誤ったスタート条件でトリガーしてしまいます。次に、ハードウェアはバスが永久にビジーであり、この状態から回復しないと想定します。このエラーは、マスターから完全なバイトが受信される前に、アクティブな転送中にスレーブがSCLラインをLOWにプルした場合にも発生する可能性があります。

この無期限のSCB_I2C_MSTR_BUS_BUSYステータスから回復するには、ステータスがいくつかのサイクルの間継続的にビジーであるときに、SCB_STOP()およびSCB_Start()関数を呼び出してI2Cブロックをリセットする必要があります。

次のコードスニペットは、マスターがスレーブに書き込みを試み、通常はI2CM_I2C_MSTR_NO_ERROR返すこの機能を示しています。ただし、NO_OF_ATTEMPTS 回連続してエラーが発生すると、I2Cブロックがリセットされます。

    /* I2C書き込みを開始し、ステータスをチェックします */

    if (I2CM_I2C_MSTR_NO_ERROR == I2CM_I2CMasterWriteBuf(I2C_SLAVE_ADDR,

buffer, PACKET_SIZE ,

                                    I2CM_I2C_MODE_COMPLETE_XFER ))

    {

busy_cnt = 0;

        /* I2C書き込み成功 */

    }

    /* I2Cデータの送信中にエラーが発生しました*/

    else

    {

        /* ビジーカウンターフラグを更新します */

busy_cnt ++;

      

        /* I2C書き込みで継続的なエラーが発生したかどうかを確認します*/

        if (busy_cnt> NO_OF_ATTEMPTS )

        {

busy_cnt = 0;

          

            /* SCBブロックをリセットします */

I2CM_Stop();

I2CM_Start();

        }

    }

関連ドキュメント:

SCBコンポーネントデータシート:https : //www.cypress.com/documentation/component-datasheets/psoc-4-serial-communication-block-scb

I2Cバス仕様:https : //www.nxp.com/docs/en/user-guide/UM10204.pdf

==============================

24-Sept-2020

  Kenshow

0 Likes