アプリ版:「スタンプのみでお礼する」機能のリリースについて

SPI通信をサポートするデバイス(SPI-Flash、EEPROMやADC・・・など)のデータシートをいくつか見ているのですが、ふと不思議に感じることがあり質問させて頂きました。

私が見た範囲では、各デバイスの通信プロトコル(コマンドフォーマットや、レスポンスフォーマット)にはCRCやCheck Sumなどの、いわゆる"データ誤り検出の仕組み"が無いものばかりでした。

基本的に、各デバイス間の物理的な距離が近いことが想定されているためか、ノイズなどの影響は受けにくいのかもしれないですが、安全を期すには"データ誤り検出の仕組み"が必要だと感じました。
※TCP/IP通信などではCRCがありますし、RS-232Cなどでもパリティがあります。

通信プロトコルはメーカーの設計思想依存なので、「正しい」とか「間違っている」ということは無いと思いますが、皆さんの考えをお聞かせ頂けないでしょうか?

よろしくお願いいたします。

A 回答 (2件)

SPIは元々少ないICピンである程度のデータをやり取りするために、8ビット以上のデータをシフトレジスタを通して2-3本のピンから入出力するために考えられたものです。


オンボード内で、簡単にデータ転送をするために考えられた方式です。
通信プロトコルなんていうほど、大げさなものではありません。

オンボード内ではまずデータエラーなんて考える必要はありません。そこまで必要なら、2~30年前(SSI,MSIの時代)までロジックなんて作ることはできませんでした。
だから、エラーチェックなんて必要有りません。

RS-232で、実際一番多く使われているデータ方式は御存知ですか?
2 stop bits - non parity です。
あの程度のスピードで数m程度の距離なら、エラーなんてありえないと考えての実際の話です。

もちろん、TCP/IP通信など何百m、何百Kmなんていう距離でデータ転送するのなら、パリティなんて初歩的なエラーチェックではなく、CRCやより高度なエラーチェック機能は必要にはなりますが。

オンボードと、何百mどころではない、何百Kmに渡るデータ転送と全く状況は違うということは、コストパーフォマンスからいって認識しなければならないことでしう。
    • good
    • 0
この回答へのお礼

なるほど。大変参考になりました。

基板上の通信レベルでは通信エラーをあまり気にすることもないんですね。
最近のSPIは高速化しているから、案外ノイズに弱いのかと気にしていました。
ありがとうございます。

お礼日時:2012/01/29 00:59

SPI通信は通常オンボードの回路で使用されます。


オンボードのSPIでエラーが起こるようであれば、設計がちゃんとしていない為で、その他の機能でもエラーが発生する恐れが高いでしょう。
エラーが発生するような通信経路で有れば、それなりの対策が必要となるでしょうし、それは設計者が対応するべきです。

私は、EEPROMやFlashにデータを書き込むときはチェックサムやCRCを追加する事が有ります。
それは主に、チップが書き込みをしている間に電源が落ちた時の対策としてです。
(停電時に書き込みをする必要がある為)
    • good
    • 0
この回答へのお礼

コメントありがとうございます。

> 私は、EEPROMやFlashにデータを書き込むときはチェックサムやCRCを追加する事が有ります。
> それは主に、チップが書き込みをしている間に電源が落ちた時の対策としてです。
これは、EEPROMやFlash内のメモリ内にチェックサムを設けている・・・ということですよね?

組み込み機器の開発をしていますが、どこまで信頼性を考慮しておくべきか・・・いつも悩みます。
今、数十MHzのSPI通信を検討しているところで、信頼性が心配でした。

コメントありがとうございました。

お礼日時:2012/01/29 01:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!