17
24
20
16
23
18
25
21
19
22
Raspberry Pi 3とMAX 10間のインターフェース方法 459
●はじめに
Raspberry PiとMAX 10(MAX10-FB基板)を組み
合わせることができるMAX10-EB基板のハードウェア
について,前章で解説しました.本章では,Raspberry
PiとMAX 10の間の具体的なインターフェース方法
について説明します.
さらに,Raspberry Pi側のアプリケーション・プ
ログラムの作成方法と,MAX 10側のFPGAハード
ウェア,およびMAX 10内のNios II用プログラムの
構成例についても説明します.本章の技術情報をマス
タすれば,オリジナルのシステムを構築できるように
なるでしょう.
本章で説明するRaspberry Piとしては,Raspberry
Pi 3 Model Bを使用することを前提としています.
その立ち上げと設定方法はAppendix 3を参照してく
ださい.なお,基本的に本章の内容はRaspberry Pi 2
Model Bにも適用可能です.
Raspberry Pi 3とMAX 10間
のインターフェース方法
●Raspberry PiとMAX 10のインターフェー
スはSPI通信
Raspberry PiとMAX 10の間のインターフェース
信号としては,Raspberry Piの拡張基板を組み合わ
せることも考えると,それら拡張基板類があまり使っ
ていない信号を,なるべく少ない本数だけ使うべきと
考えました.
ここではインターフェース信号として,図1に示
す4線式SPI(Serial Peripheral Interface)通信信号だ
けを使うことにします.
Raspberry Pi側をSPIマスタ,MAX 10側をSPI
スレーブとします.
SPI1_CE2_Nはスレーブ選択信号(負論理),SPI1_
SCLKはSPIクロック,SPI1_MOSIはマスタ側送信
データおよびスレーブ側受信データ,SPI1_MISOは
スレーブ側送信データおよびマスタ側受信データで
す.
MAX10-EB基板の上のはんだジャンパを使って,
図1に示す4本の信号が,Raspberry PiとMAX 10
の間で接続されるようにしてください.
●Raspberry Pi上のSPI機能モジュールは
AUX SPI0を使う
図1に示す信号線を使用する場合,Raspberry Pi
側のSPI機能モジュールは,メインのSPI機能モ
ジュールではなく,補助(Auxiliary)周辺機能の中の
SPI機能になります.補助周辺機能の中には1組の
Mini UARTと2組のSPI(AUX SPI0とAUX SPI1)
が入っていますが,ここではAUX SPI0だけを使い
ます.
Raspberry PiのGPIO端子上の名称としては,
AUX SPI0とAUX SPI1は,それぞれSPI1とSPI2
に対応付けられているので混同しないようにしてくだ
さい.ここで使用するRaspberry Pi上のSPIモジュー
ルは,SPI1すなわちAUX SPI0になります.
本書付属DVD-ROM関連データ
DVD-ROM格納場所
内 容
備 考
CQ-MAX10¥Projects¥
PROJ_NIOSII_RASPI
Raspberry Piと通信しながら連携動作するMAX 10のプロジェクトのひ
な形(Quartus Prime用,Nios II EDS用)
MAX 10側
CQ-MAX10¥RaspberryPi¥
CQ-MAX10.tar.gz
① Raspberry Piのホーム・ディレクトリ下に作業用ディレクトリ/home/
pi/tempを作成し,本ファイルをその下に置いて解凍(tar xvfz CQ-
MAX10.tar.gz)する.その後,解凍してできたディレクトリのうち/
home/pi/temp/CQ-MAX10/MAX10を,/home/pi/CQ-MAX10/の下に
コピー
② /home/pi/CQ-MAX10/MAX10が,MAX 10とのSPI通信テスト用GUI
アプリケーションのプロジェクトのひな形(Raspberry Pi上のQt Creator
用)
Raspberry Pi側(本章では,
このプログラムを作成する
具体的な手順を解説する.
本データは参考用の完成版)
第
22
章
高速SPI通信によるインターフェースと,
Qt CreatorによるGUIアプリの作成
MAX10とRaspberryPiの
連携方法