Raspberry PiでSPI通信 (4)


前回、掲載したRaspberry PiでSPI通信するためのソースコードを使って動作確認しました。
IMG_20140217_211446
前回のソースコードはこちらです。
・Raspberry PiでSPI通信 (3)

まずRaspberry Pi側はソースコードのbuffという変数に代入されている0x24(0xは16進数という意味です)が送信データとなります。
これは2進数で”00100100″という8bitの値を送信していることになります。

スレーブのFPGA側では上記データをSPIインタフェース回路で受信し、送られてきた8bitのデータの上位4bitと下位4bitの値を乗算器で乗算した結果をSPI通信の送信データとして出力する回路としています。

実際に実機で通信させて動作確認します。
DE0の7SEGのLEDにRaspberry Pi側から受信したデータが表示されます。
IMG_20140217_211304
24と表示されていますので、受信は正しく出来ているようです。

FPGA側からRaspberry Pi側へ送信するデータは0x2×0x4で出力値は0x8となります。
Raspberry Piのターミナルで受信したデータを見てみると”0x8″と表示されているので正しく動作しています。
(1回目はFPGA側にまだデータが送られていないため違う値になっています)
001
これでRaspberry PiとFPGA間でデータをやり取りできるようになりました。

今後は今回作成したRaspberry PiとDE0間のSPIインタフェースを使って、Paspberry PiのGPIO拡張やRaspberry PiのCPUの計算を一部FPGA側に移行して、並列計算での高速化にトライしていきたいと思います。

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です