Use APKPure App
Get FPGA SPI Bridge Console old version APK for Android
インテル(旧アルテラ社)の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);
}
}
}
----------------------------------- ここまで -----------------------------------
Last updated on Dec 28, 2018
簡単にデータを切り替えられるようにWriteボタンを2個追加しました。
BlockWriteボタンのデータに「Cos+Sin」を追加、32ビットの場合、[31:16]にcos、[15:0]にsinを書き込みます。
द्वारा डाली गई
Handri Gojun
Android ज़रूरी है
Android 4.0.3+
श्रेणी
रिपोर्ट
FPGA SPI Bridge Console
for Avalon Bus1.0.4 by RapidNack.com
Dec 28, 2018