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の制御だけできるようにした。
  I2Cマクロはこちら
  レジスタマクロはこちら

・python でGPIO I2Cを制御
i2c-tools と python-smbus はデフォルトでインストール済み
smbus を使ったクラスを作成
  ソースはこちら 

・python プログラム
  Flask を使用してWebアプリを作成、ブラウザからI2Cポートの制御できるように
  ソースはこちら   
   www-dataにi2c制御権限を付与しないとブラウザからI2Cの制御ができない。
(コマンド sudo adduser www-data i2c)
・SignalTapで動作確認
 signaltap

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

とりあえず成功 ソースはこちら