- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
お手数おかけしますが、ご教示をお願いいたします。
マイコン形式:MB9BF516NPMC-G-JNE2
■質問経緯
現在マイコンのマルチファンクションシリアルインターフェースの端子より
I2Cを使用し、EEPROMと通信を行っております。
ボーレート400kbpsにするためにペリフェラルマニュアル記載の通り、
レジスタの設定を行い、SCLの周波数を確認しましたが、400kbpsとならず、374kbpsとなってしまいます。
■質問事項
1.設定値では400kbpsとなるはずですが、測定の結果、374kbpsとなります。現在、以下の設定で行っております。
以下設定以外にボーレートに影響するレジスタはございますでしょうか。
バスクロック:72MHz、補助ノイズフィルタ:2段使用、リロード値:0xAD
2.ボーレートを測定しながらレジスタを調整した結果、測定値を400kbpsとするためには431kbps相当のリロード値をレジスタに設定する必要がありました。
ペリフェラルマニュアルには400kbpsを超えるボーレートジェネレータの設定は禁止と記載ありますが、400kbps出力するために何か対策はございますでしょうか。
測定した波形を添付させていただきます。お手数おかけしますがご確認お願いいたします。
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご回答、有難うございます。
ボーレートの計算については、頂いたレジスタ情報と認識しております。
またHW的にはSCLの外部キャパシタを考慮する必要があります。(SCLシグナルのなまり等)
以上です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
申し訳ございません。
参照されているドキュメントを教えて頂けないでしょうか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご回答、有難うございます。
ボーレートの計算については、頂いたレジスタ情報と認識しております。
またHW的にはSCLの外部キャパシタを考慮する必要があります。(SCLシグナルのなまり等)
以上です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご回答ありがとうございます。
最適なSCLの外部キャパシタを見つけるのはカットアンドトライでの作業となりますでしょうか。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
お客様から再質問をいただいておりますのでご確認いただけますでしょうか。
ボーレートの計算に問題が無い場合、原因はHWの可能性が高いということでしょうか。
また、理解不足で申し訳ございません。SCLの外部キャパシタとはどこに接続されているキャパシタのことでしょうか。
以下質問2につきましてもご確認いただけますと幸いです。
>> 2.ボーレートを測定しながらレジスタを調整した結果、測定値を400kbpsとするためには431kbps相当のリロード値をレジスタに設定する必要がありました。
>> ペリフェラルマニュアルには400kbpsを超えるボーレートジェネレータの設定は禁止と記載ありますが、400kbps出力するために何か対策はございますでしょうか。
なお、動作確認は複数の基板で実施されておりますが、この現象は全ての基板で発生しているとのことでした。
以上、よろしくお願いいたします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
Post #3にて
"HW的にはSCLの外部キャパシタを考慮する必要があります。(SCLシグナルのなまり等)"
と記載させて頂きましたが、これは対抗デバイス等を含むボードのキャパシタになります。
外部線に接続するコンデンサーではございません。
混乱させて申し訳ございませんでした。
また今回の場合、ボーレートの計算に問題が無いので原因はHWの可能性が高いと考えます。
>> 2.ボーレートを測定しながらレジスタを調整した結果、測定値を400kbpsとするためには431kbps相当のリロード値をレジスタに設定する必要がありました。
に付きましては、再確認させて頂きます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
ご連絡ありがとうございます。
お手数ですが、引き続きよろしくお願いいたします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
400kbps以上のリロード値設定が可能かについてですが、
多少のボーレート設定を早くしても動作すると思いますが、保証はできません。
十分な検証を行い、御社の責任の上でご使用ください。
以上です。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
返信が遅くなりまして申し訳ございません。
お客様の方で以下の確認を進められております。
I2C通信で接続しているデバイスは同一基板上(CPU付近)のEEPROMに接続されており、
フィルタ等のコンデンサ成分は含まず、直接繋がっております(プルアップ抵抗に繋がっているのみです)。
しかし、EEPROMの内部にフィルタが入っている可能性があるため、 一旦部品をはずして、直接I2Cのクロック周波数を確認いたします。
以上、よろしくお願いいたします。