RaspberrypiとDE0を接続し7セグLEDをスマホで操作
RaspberrypiとFPGAボード(DE0)をI2Cで接続し、Raspberrypiに構築したWebアプリを スマホで操作する事でボードの7セグLEDを操作する
目的は、FPGAボード(DE0)をスマホで操作する事。
処理の流れ
- QuartusIIのインストール
- verilogでI2Cインタフェースを設計しFPGAにインプリメント
- PythonでRaspberrypiのI2C制御
- FPGA動作検証にSignalTapを使用しタイミングを検証
- スマフォからRaspberrypiの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を操作
AlteraのサイトからQuartusをダウンロード
DE0はCycloneIIIが搭載されているので、13.1を選択して無償のwebエディションをダウンロード
ModelsimとCycloneIIIのデバイスライブラリも一緒にダウンロード
Windows PC にインストールして、DE0に付属しているDVDから、サンプルプロジェクトをインプリメントして動作を確認。→とりあえず、OK
DE0に付属しているソースからデモ用のソースにI2Cマクロをレジスタマクロを追加してインプリメント
(6年ぶりのverilogで思い出すだけでも大変なんとか7segLEDの制御だけできるようにした。
i2c-tools と python-smbus はデフォルトでインストール済み
smbus を使ったクラスを作成
Flask を使用してWebアプリを作成、ブラウザからI2Cポートの制御できるように
www-dataにi2c制御権限を付与しないとブラウザからI2Cの制御ができない。
(コマンド "sudo adduser www-data i2c")