FPGA MAX10(20)-Nios II SPI通信

前回は、Nios Ⅱを使用して、UART機能(RS232シリアルポート通信機能)を構築しました。具体的には、受信したデータをそのまま返信するエコーバック機能を構築しました。前回の内容は下記のサイトを参考にしてください。

FPGA MAX10(19)-Nios2 UART(RS232)

今回も以前のお話ですが、SPI通信機能を構築しました。その時には、Nios Ⅱを使用せずに動作させました。以前の内容は下記のサイトを参考にしてください。

FPGA MAX10(8)-SPI通信

今回は、Nios Ⅱを使用して、SPI通信機能を構築したいと思います。具体的には、プッシュスイッチを押すと、トグルスイッチで指定した数値をSPI通信で送信します。受信したら、その数値を7セグメントで表示する機能を構築したいと思います。2つの評価ボードがあれば、通信している感じがあり、よりよいのですが、今回は1つの評価ボード上で、自ら送信を行い、自ら受信する機能を構築します。機能をリスト化すると下記のようになります。

  • トグルスイッチを4つ使用して、0~9を指定できるようする。10~16の時は、0として扱います。
  • プッシュスイッチを押すと、トグルスイッチで指定した数値をSPI通信で送信する。
  • SPI通信で送信されたデータを受信する。
  • 受信した数値をを7セグメントに表示する。

それでは、Nios Ⅱを使用して、SPI通信機能を構築したいと思います。まずは新規プロジェクトを作成します。新規プロジェクトの作成方法、下記のリンクを参照してください。

FPGA MAX10(4)-LEDシフト点灯回路

まずは、Platform Designerを使用して、各コンポーネント(CPUや周辺機器など)を配置、接続します。メニューより「Tools」→「Platform Designer」を選択します。Platform Designerの画面が表示されます。Platform Designerの設定内容方法は、下記のサイトを参考にしてください。

FPGA MAX10(15)-AD変換

System Contentsに下記のように追加されたコンポーネントが表示されています。