- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
MB96F6B6RのI2C Masterについて確認させて下さい。
ハードウェアマニュアルを参照したところ、
CLKP1が6MHz以上の場合はSCLストレッチ非対応と受け取れる文章がありました。
(MN704-00011-2v0-J P.624)
現在の設定はCLKP1=4MHz設定で使用しており、ビットレートは100kbps想定です。
・CLKMC = 8MHz
・CLKPLL = CLKMC 2逓倍
・CLKS1 = CLKPLL
・CLKP1 = CLKS1 / 4 = 4MHz
・ICCR1のNSF=1、CS4:0=2
その時、 SCL周波数 = 4MHz / 2*12+17 = 97.56kHz
この場合、SCLストレッチは暗黙的に有効となりますか?
I2C SlaveデバイスはPSoC4Sを使用しているのですが、
I2CHWコンポーネントではMB96F6B6Rと通信ができなく、
EZI2Cコンポーネントのクロックストレッチを無効にしても通信が確立しません。
ただ、PSoC1のCY8C22345-24PVXA とMB96F6B6Rであれば通信が確立しています。
解決済! 解決策の投稿を見る。
- ラベル:
-
Other Legacy MCU
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
確認ですが、
1)MB96F6B6RとPSoC4Sの通信ではクロックストレッチ有効/無効に関わらず、通信ができない。
2)MB96F6B6RとPSoC1のCY8C22345-24PVXAでは通信ができる。その際にクロックストレッチは無効。
で、宜しいでしょうか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
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のどちらに問題があるのか分からなくなり、
このような質問をさせて頂いております。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
実際の動作を確認し、自己解決しました。
MB96F6B6Rはクロックストレッチに対応していました。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご連絡、ありがとうございました。
自己解決されたとのこと、安心いたしました。
マナ何かございましたら、CDCにお問い合わせください。