FPGA SPI Bridge Console

for Avalon Bus

1.0.4 by RapidNack.com
Sep 20, 2017

About FPGA SPI Bridge Console

インテル(旧アルテラ社)のFPGAのAvalonバスをアンドロイド端末から読み書きできます。Nios II CPUを組み込まなくてもFPGAを操作できます。

類似アプリ「FPGA SPI Bridge Panel - GUI maker for Avalon Bus」も公開しました。

Avalonバスを操作するGUIを短時間で作成できます。お試しください。

Qsysのオンライン・マニュアル「Embedded Peripheral IP User Guide」の「SPI Slave/JTAG to Avalon Master Bridge Cores」に書かれているように、JTAG以外にSPIでも外部からFPGA内部を操作できます。

Arduino、Raspberry PiなどからSPI経由でFPGAに実装した回路をアクセスできるのです。Nios II CPUを組み込まなくてもいいんです。

例えば、ESP-WROOM-32をWifiーSPI変換器として使えばアンドロイド端末からWifi経由でFPGAを操作できてしまいます。こんな感じです。

  アンドロイド端末 →(Wifi)→ ESP-WROOM-32 →(SPI)→ FPGA

詳細は、

  http://rapidnack.com/

をみていただきたいのですが、こちらにもESP-WROOM-32用のArduinoスケッチを載せておきます。

----------------------------------- ここから -----------------------------------

#include <SPI.h>

#include <WiFi.h>

/* Set these to your desired credentials. */

//const char *ssid = "ESPap";

//const char *password = "thereisnospoon";

const char* ssid = "your-ssid";

const char* password = "your-password";

WiFiServer server(2002);

WiFiClient client;

#define SPI_BUF_LEN 1024

byte spiBuf[SPI_BUF_LEN];

byte spiReadBuf[SPI_BUF_LEN];

void setup() {

Serial.begin(57600);

SPI.begin();

SPI.setFrequency(24000000);

SPI.setDataMode(SPI_MODE1);

SPI.setBitOrder(MSBFIRST);

pinMode(SS, OUTPUT);

digitalWrite(SS, HIGH);

// Serial.println();

// Serial.print("Configuring access point...");

// /* You can remove the password parameter if you want the AP to be open. */

// WiFi.mode(WIFI_AP);

// WiFi.softAP(ssid, password);

// IPAddress myIP = WiFi.softAPIP();

// Serial.print("AP IP address: ");

// Serial.println(myIP);

Serial.println();

Serial.print("Connecting to ");

Serial.println(ssid);

//WiFi.mode(WIFI_STA); // Disable Access Point

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP());

server.begin();

Serial.println("Server started");

}

void loop() {

if (!client.connected()) {

// try to connect to a new client

client = server.available();

} else {

// read data from the connected client

int n = client.available();

if (n > 0) {

//Serial.print("available: ");

//Serial.println(n);

if (n > SPI_BUF_LEN) {

n = SPI_BUF_LEN;

}

// transfer data to/from SPI

client.readBytes(spiBuf, n);

digitalWrite(SS, LOW);

SPI.transferBytes(spiBuf, spiReadBuf, n);

digitalWrite(SS, HIGH);

// return data to client

client.write(spiReadBuf, n);

}

}

}

----------------------------------- ここまで -----------------------------------

What's New in the Latest Version 1.0.4

Last updated on Dec 28, 2018
簡単にデータを切り替えられるようにWriteボタンを2個追加しました。
BlockWriteボタンのデータに「Cos+Sin」を追加、32ビットの場合、[31:16]にcos、[15:0]にsinを書き込みます。

Additional APP Information

Latest Version

1.0.4

Uploaded by

Handri Gojun

Requires Android

Android 4.0.3+

Show More

Use APKPure App

Get FPGA SPI Bridge Console old version APK for Android

Download

Use APKPure App

Get FPGA SPI Bridge Console old version APK for Android

Download

FPGA SPI Bridge Console Alternative

Get more from RapidNack.com

Discover