4 Replies Latest reply on Oct 12, 2020 10:05 PM by TakashiM_61

    MB96F6B6R : I2C Master クロックストレッチ

    MaMi_1205306

      MB96F6B6RのI2C Masterについて確認させて下さい。

       

      ハードウェアマニュアルを参照したところ、

      CLKP16MHz以上の場合はSCLストレッチ非対応と受け取れる文章がありました。

      (MN704-00011-2v0-J P.624) 

      現在の設定はCLKP1=4MHz設定で使用しており、ビットレートは100kbps想定です。

       

       ・CLKMC = 8MHz

       ・CLKPLL = CLKMC 2逓倍

       ・CLKS1 = CLKPLL

       ・CLKP1 = CLKS1 / 4 = 4MHz

       ・ICCR1NSF=1CS4:0=2

       

      その時、 SCL周波数 = 4MHz / 2*12+17 = 97.56kHz

      この場合、SCLストレッチは暗黙的に有効となりますか?

       

      I2C SlaveデバイスはPSoC4Sを使用しているのですが、

      I2CHWコンポーネントではMB96F6B6Rと通信ができなく、

      EZI2Cコンポーネントのクロックストレッチを無効にしても通信が確立しません。

       

      ただ、PSoC1のCY8C22345-24PVXA とMB96F6B6Rであれば通信が確立しています。

        • 1. Re: MB96F6B6R : I2C Master クロックストレッチ
          TakashiM_61

          確認ですが、

          1)MB96F6B6RとPSoC4Sの通信ではクロックストレッチ有効/無効に関わらず、通信ができない。

          2)MB96F6B6RとPSoC1のCY8C22345-24PVXAでは通信ができる。その際にクロックストレッチは無効。

          で、宜しいでしょうか?

          • 2. Re: MB96F6B6R : I2C Master クロックストレッチ
            MaMi_1205306

            1)MB96F6B6RとPSoC4Sの通信ではクロックストレッチ有効/無効に関わらず、通信ができない。

             

            PSoC4SではI2CHWコンポーネント(クロックストレッチ有効のみ)、

            EZI2Cコンポーネント(クロックストレッチ有効/無効のどちらでも)、

            MB96F6B6RとI2C通信する際にI2C Masterのアドレスに対してACKを出力できていません。

             

            ただ、PSoC4SはPCエミュレータ(Bridge Control Panelなど)では

            正常にI2C Masterのアドレスに対してACKを返し、I2C通信が確立しています。

             

            2)MB96F6B6RとPSoC1のCY8C22345-24PVXAでは通信ができる。その際にクロックストレッチは無効。

             

            波形を確認したところ、

            PSoC1とMB96F6B6RとのI2C通信ではクロックストレッチが有効になっているように見受けられ、

            また、PSoC1のアプリケーションノートからも100kHz以上であればクロックストレッチに対応しているとの記載があり、MB96F6B6Rと正常にI2C通信が確立しています。

             

            SlaveのACKが問題となっているので、

            I2C Master側による問題ではないだろうと思っていますが、

            MB96F6B6RとPSoC4Sのどちらに問題があるのか分からなくなり、

            このような質問をさせて頂いております。

            • 3. Re: MB96F6B6R : I2C Master クロックストレッチ
              MaMi_1205306

              実際の動作を確認し、自己解決しました。

              MB96F6B6Rはクロックストレッチに対応していました。

              • 4. Re: MB96F6B6R : I2C Master クロックストレッチ
                TakashiM_61

                ご連絡、ありがとうございました。

                自己解決されたとのこと、安心いたしました。

                マナ何かございましたら、CDCにお問い合わせください。