RaspberrypiとDE0を接続し7セグLEDをスマホで操作

RaspberrypiとFPGAボード(DE0)をI2Cで接続し、Raspberrypiに構築したWebアプリを スマホで操作する事でボードの7セグLEDを操作する

目的は、FPGAボード(DE0)をスマホで操作する事。

処理の流れ

ポイントはRaspberrypiのGPIO制御をWebアプリで行う事でスマフォからFPGAを操作する事

・QuartusIIのインストール

AlteraのサイトからQuartusをダウンロード

DE0はCycloneIIIが搭載されているので、13.1を選択して無償のwebエディションをダウンロード

ModelsimとCycloneIIIのデバイスライブラリも一緒にダウンロード

Windows PC にインストールして、DE0に付属しているDVDから、サンプルプロジェクトをインプリメントして動作を確認。→とりあえず、OK

・I2Cインタフェースの設計

DE0に付属しているソースからデモ用のソースにI2Cマクロをレジスタマクロを追加してインプリメント

(6年ぶりのverilogで思い出すだけでも大変なんとか7segLEDの制御だけできるようにした。

・python でGPIO I2Cを制御

i2c-tools と python-smbus はデフォルトでインストール済み

smbus を使ったクラスを作成

・python プログラム

Flask を使用してWebアプリを作成、ブラウザからI2Cポートの制御できるように

www-dataにi2c制御権限を付与しないとブラウザからI2Cの制御ができない。

(コマンド "sudo adduser www-data i2c")

・SignalTapで動作確認

・スマフォから7segLEDを操作
スマフォ01

とりあえず成功