ここから本文です

ArduinoのSPI通信について。

アバター

ID非公開さん

2018/10/410:03:10

ArduinoのSPI通信について。

ArduinoのSPIライブラリでのクロックの動作について質問です。

・SPIで送信する時は、「データを確定→クロックを変化させる」の順。

・SPIで受信する時は、「クロックを変化させる→データを読む」の順。


と、「送受信で順番が逆になる」と認識しているのですが正しいでしょうか?

そうすると、実際の送受信の順番は

①送信ピンの電圧を確定
②クロックを変化させる
③受信ピンの電圧を読む

の順、で合っていますか??

クロック,Arduino,送受信,SPIライブラリ,電圧,エッジ,クロック信号

閲覧数:
79
回答数:
4
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

ken********さん

2018/10/410:42:23

信号がL→Hに変化している部分を立ち上がりエッジ、H→Lに変化しているところを立ち下がりエッジと言いますが、クロック信号は、このエッジの部分が意味を持ちます。

データを確定してからクロックを変化させると言う言い方は間違いです。
例えば、クロック信号の立ち上がりエッジでデータを読み込むモードの場合、送信側は、クロック信号の立ち下がりエッジに同期して、データ信号を出力します。続いて、クロック信号の立ち上がりエッジに同期して、受信側がデータ信号を読み込みます。
データを出力したからクロックを変化させるのでは無く、出力されたクロック信号の変化に合わせて、データの出力や入力を実行しているのです。
上の例の場合、送信側はクロックの立ち下がりでデータを送信し、受信側は、クロックの立ち上がりでデータを取り込むので、クロック半周期分の時間の余裕が生まれます。この間に、データ信号が安定した状態になっていれば、正常に通信が行える事になります。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

tom********さん

2018/10/412:48:48

以下のマスター/スレーブ双方の解説図が参考になるかも。

データを送出するクロック・タイミング(エッジ)には、クロックの立ち上がりエッジ、立ち下がりエッジ双方のデバイスあることに注意。

https://www.microchip.jp/docs/DS39699A_JP.pdf#search='%E3%82%B7%E3%...


でもね、
回答者の回答内容が少しズレていたからって、失礼な返事をしちゃ駄目だよ。
質問の仕方に問題があったと感じ改めるのが「お・と・な」の対応。

dai********さん

2018/10/410:52:02

あなたのSPIインターフェースにはCS信号が示されていません。

SPI通信はCS信号がきっかけで始まります。

またSPI通信ではシフトレジスターに送受同時に行われることも資料で確認してください。つまり送受のクロックは同じクロックで行われるのです。

もう一度SPIのマスターとデバイス側の通信手順を照合して考えてください。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

nas********さん

2018/10/410:10:01

マスター側であれば、その順序で合っています。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる