• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

C.A.Mのブログ一覧

2019年09月25日 イイね!

SPIにもいろいろある

SPIの送信のところのタイミングを見てみます。


SSPI1BUFというバッファレジスタにデータを書き込んでやれば、
データが送信される仕組みです。

タイミングをログするためバッファへの書き込みの前後にLEDをオンオフして
その様子が見れるようにロジアナへ追加入力しました。

1つ目のデータは
バッファへ書き込む前にハイ、書き込んでからすぐローにしています。
CPUの1サイクルは125nsecなので、
プログラムコードでは3サイクル=375nsecのはずが、
740nsecかかってるみたいです。
約倍の6サイクルなので、
CPUがなんらかの仕事を3コード実行してるみたいです。 ←妄想です。

2つ目のデータのところ拡大。

ちょっと前にスルーレートコントロールとやらで、
マイコンの出力ポートの応答が遅れる?
っていうのがありましたので、
確認のため、LEDハイ即ロー即ハイというのを入れてみました。
スルーレートコントロールの設定をマキシマムにしてあるので、遅れはほとんどなく、
ほぼ1サイクルずつで切り替わっているようです。
なので、出力ポートの遅れはないものとして考えて良いと思います。

バッファレジスタに書き込んでから実際にSPIのバスにデータが出始めるまでにも
結構な ”間“ が有るんですね。500nsec=4サイクルくらいかな?


という実験結果を見てから、そういう目でデータシートを見直してみると

どうやら、SSPI1BUF バッファレジスタに書き込んだあとに、データはSSPI1SRシフトレジスタというところに移されるみたいです。
シフトクロックってのが入っているから、1ビット送信するたびシフトさせて、
送信ビットと受信ビットを入れ替えるための作業用スペースかな?
で、これらの作業はCPUがやってるのかな?

これが今、デバッガモノリスに使ってるPIC16F1系のマイコンです。


対して、次期モーモニに使おうと思っている
上位機種のPIC18F26K83では、

どうやらSPIコントロール専用のハードウエアが内蔵されていて、
CPUはバッファにデータを書き込んだら仕事は終わり。
あとはハードウエアがやってくれる ということのようです。
とすると、やっぱりPIC16F1のはCPUが全部仕事させられているってことかな。
← 妄想です。



マイコン自体は100円とかしか違わないんだから、上位のマイコンを使う方がずっといいですねぇ。
シロートDIYでは下位のものを使う意味は無いのではないかと思います。
←妄想です。

と言っても
買ってしまったものは なんとか有効に消化しなければ。。。 ←貧乏性です。
Posted at 2019/09/27 13:45:50 | コメント(0) | トラックバック(0) | PICマイコン | 日記

プロフィール

なんか作ってれば満足
みんカラ新規会員登録

ユーザー内検索

<< 2019/9 >>

1234567
891011121314
15161718192021
22232425262728
2930     

リンク・クリップ

むかしむかし 
カテゴリ:その他(カテゴリ未設定)
2019/04/30 23:17:16
 
らくがき帳 カメラ用 
カテゴリ:写真 カメラ
2016/09/19 21:52:18
 

愛車一覧

ホンダ ビート 赤ビート ターボ (ホンダ ビート)
ぜんぜんジムカーナ練習会に行けてない車
スズキ ジムニー 紺ジムニー ターボ (スズキ ジムニー)
昔乗ってたのと同じ模様をいれました。 大事な乗用車なので、イジらない。
ヘルプ利用規約サイトマップ
©2019 Carview Corporation All Rights Reserved.