備忘録

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

RaspberryPiでSPI通信

Raspberry PiでのSPI通信を動作確認します。
今までの流れは↓です

Raspberry PiでSPI通信
http://nanicananica.blog.fc2.com/blog-entry-19.html
Raspberry PiでSPI通信(とりあえず実動作)
http://nanicananica.blog.fc2.com/blog-entry-23.html
RaspberryPi SPI通信(シェルから動作確認?)
http://nanicananica.blog.fc2.com/blog-entry-24.html


1.回路図
 とりあえずデバイスを変更しました。
 3軸ジャイロの代わりは、SRAMメモリです
 www.microfan.jp/shop/77_104.html

 回路図は以下
 raspi_spi_memory.png

 メモリの動作ですが、決まったフォーマットのコマンドを送って読み書きをします。
 
 [CMD] + [Address_Hibyte] + [Address_LoByte] + [data]
     ※ [  ] で1Byteづつです
 CMDは 0x02で書込み、0x03で読み込みです
 "0x02 0x00 0x00 0x01" は、アドレス0x0000に 0x01を書き込むという意味で、
 "0x03 0x00 0x03 0x00" は、アドレス0x0003を読み込むという意味です。

2.動作確認
 起動しましたら、spinclを使って動作確認をします。
 spinclのインストールと使い方は、↓でした
 RaspberryPi SPI通信(シェルから動作確認?)
 http://nanicananica.blog.fc2.com/blog-entry-24.html

 まずは、gpioにspiをロードします
  $ sudo gpio load spi

  実際にspiを使って、SRAMメモリに値を書き込んでいきます。
 コマンドを順に打ち込んでいきます。

- - - - - - -  - - - - SRAMへ書込み - - - - - - - - - - - - - - - - - -
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x02 0x00 0x00 0x01 
>0xfe 0xff 0xff 0xff
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x02 0x00 0x01 0x23
>0x00 0x00 0x00 0x00
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x02 0x00 0x02 0x45
>0x00 0x00 0x00 0x00
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x02 0x00 0x03 0x67
>0x02 0x00 0x03 0x67


- - - - - - -  - - - - SRAMへ読み込み - - - - - - - - - - - - - - - - - -
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x03 0x00 0x00 0x00
>0x00 0x00 0x00 0x01
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x03 0x00 0x01 0x00
>0x00 0x00 0x00 0x23
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x03 0x00 0x02 0x00
>0x00 0x00 0x00 0x45
$ sudo ./spincl -m2 -c4 -s0 -p0 4 0x03 0x00 0x03 0x00
>0xff 0xff 0xff 0x67

それぞれ書き込んだ値が、読み出せているのが確認できました。
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2013/05/23(木) 00:00:01|
  2. Raspberry Pi
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。