• ベストアンサー

cpuとeeprom間のi2cバス通信の信頼性について教えてください

I2Cバス通信の信頼性について教えてください。 cpuとeeprom間をI2Cバス通信で制御したく考えています。 その際、送受信のアドレスやデータのbitがこけたりして、データが書き換わってしまうことはありますか? 通常制御、あるいはノイズ環境での信頼性について分かる方がいましたら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

私がEEPROMを使用してシステム設計する場合は、EEPROMの全容量を 2つに分割しミラーリング制御させています。 もしREAD時にサムチェックエラーが出た場合、バックアップ領域から リカバリーさせて使用するという方法を用いています。 I2Cは外来ノイズやクロストークに非常に弱いです。 その割にはシステムのConfigration等、重要な用途に多用される事が 多いですね。ソフト的に何らか冗長性を持たせる事が必須に思います。  

k-design
質問者

お礼

回答ありがとうございます。 回答いただいた制御は知らなかったので、参考になりました。

その他の回答 (1)

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

>その際、送受信のアドレスやデータのbitがこけたりして、データが書き換わってしまうことはありますか? どんな通信システムでもデータの書き変わりの可能性はあります。 そのため、「チェックサム」等を使用しデータの整合性を確認する必要があります。 >通常制御、あるいはノイズ環境での信頼性について分かる方がいましたら教えてください。 「通常制御」とはどのような制御のことですか? 「ノイズ環境の信頼性」とは、ぞのようなノイズが発生し、デバイス間のラインはどのような状態ですか? 少なくとも、I2Cはノイズ耐性は非常に脆弱です。

k-design
質問者

補足

回答どうもありあがとうございます。 > そのため、「チェックサム」等を使用しデータの整合性を確認する必要があります。 チェックサムをデータにつけて送信するという認識でよいでしょうか? それにより異常検出できるから保障できるということですね。 通常制御とはEEPROMへのリード・ライト処理です。 EEPROM自身にハード的なエラー検出の機能などはあるのでしょうか? またチェックサム以外に整合性を取る方法を教えてください。 いろいろ質問してすみませんが、よろしくお願いしまうす。

関連するQ&A