FPGA SPI Bridge Console

for Avalon Bus

1.0.4 par RapidNack.com
Sep 20, 2017

À propos de 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);

}

}

}

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

Quoi de neuf dans la dernière version 1.0.4

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

Informations Application supplémentaires

Dernière version

1.0.4

Telechargé par

Handri Gojun

Nécessite Android

Android 4.0.3+

Voir plus

Use APKPure App

Get FPGA SPI Bridge Console old version APK for Android

Téléchargement

Use APKPure App

Get FPGA SPI Bridge Console old version APK for Android

Téléchargement

Alternative à FPGA SPI Bridge Console

Obtenir plus de RapidNack.com

Découvrir