ApkDownload

GUI Maker for Avalon Bus - FPGA SPI Bridge Panel APK

最新バージョン 1.3.0 for Windows
更新しました 2023年February04日

情報

バージョン 1.3.0 (#17)

更新しました 2023年February04日

APKファイルサイズ 40.3 MB

Android 要件 Android 4.1+ (Jelly Bean)

開発元 RapidNack.com

カテゴリー ツール (アプリケーション)

アプリケーションのID com.rapidnack.SPIBridgePanel

開発者ノート インテルFPGAのAvalonバスをNios II無しで操作するGUIを作成できます。

スクリーンショット画像

画像をクリックするとフルサイズで表示されます

新機能

GUI Maker for Avalon Bus - FPGA SPI Bridge Panel 1.3.0の新機能

パネル"SPI Bridge Scope"を追加

説明

このアプリケーションの目的は?

インテル(旧アルテラ社)のFPGAのAvalonバスを操作するGUIを短時間で作成できます。Nios II CPU無しでAndroidからFPGAを操作できます。
ボタン、タイマー、グラフ等を配置し、処理をPythonで記述することができます。
同様に、3Dオブジェクトの配置、処理をPythonで記述して、簡単なゲームを作ることができます。


ESP8266、ESP32に書き込むべきプログラムは?

Arduinoスケッチ http://rapidnack.com/?p=860
操作説明ー画面 http://rapidnack.com/?p=918
SPI Bridge Scope http://rapidnack.com/?p=1831

上記Arduinoスケッチを、ESPに書き込んでください。
下記のメソッドを使ってFPGA内のAvalonバスをアクセスできます。

byte[] WriteBytePacket(UInt32 addr, byte data, int timeoutInSec = 3)
byte[] WriteUInt16Packet(UInt32 addr, UInt16 data, int timeoutInSec = 3)
byte[] WriteUInt32Packet(UInt32 addr, UInt32 data, int timeoutInSec = 3)
byte[] WriteBytePacket(UInt32 addr, byte[] dataBytes, bool isIncremental = false, int timeoutInSec = 3)
byte[] WriteUInt16Packet(UInt32 addr, UInt16[] dataArray, bool isIncremental = false, int timeoutInSec = 3)
byte[] WriteUInt32Packet(UInt32 addr, UInt32[] dataArray, bool isIncremental = false, int timeoutInSec = 3)
byte ReadBytePacket(UInt32 addr, int timeoutInSec = 3)
UInt16 ReadUInt16Packet(UInt32 addr, int timeoutInSec = 3)
UInt32 ReadUInt32Packet(UInt32 addr, int timeoutInSec = 3)
byte[] ReadBytePacket(UInt16 size, UInt32 addr, bool isIncremental = false, int timeoutInSec = 3)
UInt16[] ReadUInt16Packet(UInt16 size, UInt32 addr, bool isIncremental = false, int timeoutInSec = 3)
UInt32[] ReadUInt32Packet(UInt16 size, UInt32 addr, bool isIncremental = false, int timeoutInSec = 3)


以下は、ESP32用のスケッチです。
----------------------------------- ここから -----------------------------------
#include <SPI.h>
#include <WiFi.h>

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("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);
    }
  }
}
----------------------------------- ここまで -----------------------------------

評価とレビュー

評価: 5.0 / 5 · Less than 100 票

(*) 必要とされている

旧バージョン

GUI Maker for Avalon Bus - FPGA SPI Bridge Panel 1.3.0 APK (#17, 40.3 MB)