1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【和訳】RUNBER Development Board / Hardware Instructions

Last updated at Posted at 2022-01-07

#【本稿の目的】
Interface 2021年12月号の付録として「USB接続でサッ!GOWIN FPGA登場 5000円ボードで始めるFPGA開発」という別冊付録がついており、FPGAを「Gowin RUNBER Development Board」という評価ボードを使ってFPGAを体験してみるといった内容になっています。

Interface 2021年12月号
https://interface.cqpub.co.jp/magazine/202112/

ただ、上述評価ボードを使ったサンプルコードは載っていますが、詳しくハードウェアについては記載がなく、応用的なチャレンジをするためには自分でUMを読む必要があります。もちろんのこと中華製のため和訳版がない状態でしたので、可能な範囲で和訳した内容を本稿で共有したいと思います。
ただ英語が得意だから和訳しているという訳では全然ないので、参照される際は自己責任でお願いします。変なところあればご指摘頂けると幸いです。意訳多いので意図からズレてなければ、良いかなという温度感で書いています。

なお、ハードウェア編を今回和訳していますが、ソフトウェア編や回路図は以下ページにて別紙で公開されていましたので、必要に応じて参照ください。
https://www.seeedstudio.com/Gowin-RUNBER-Development-Board-p-4779.html

【UM原文】
https://files.seeedstudio.com/products/114992325/RUNBER_Development_Board_Hardware_Instructions_en.pdf

対象Version
image.png
#【訳文】

1. 本評価ボードについて

1.1 概要

RUNBER評価ボードはMYMINIEYEが開発した新しいFPGA開発スイートであり、GOWIN GW1N-UV4LQ144が評価可能です。
GW1N-4BはGOWIN LittleBeeファミリのFPGA製品です。

本開発システムは回路図のオープンソースやプロジェクトで直接使用できる大量のソースコードを提供します。
ソースコードについてはコースリストを参照ください。

image.png

1.2 開発システムについて

1.2.1 システムリソース

本評価ボードはGowin GW1N-4 拡張可能プラットフォームをベースに開発されています。
以下機能を提供します。

  • Gowin® GW1N-UV4LQ144C6/15

    • デフォルト起動モード:内蔵flash
    デバイス GW1N-4/GW1N-4B
    LogicUnit(LUT4) 4,608
    レジスタ(FF) 3,456
    S-SRAM(bits) 0
    B-SRAM(bits) 180K
    B-SRAM 数 10
    ユーザフラッシュメモリ(bits) 256K
    18*18乗算器 16個
    PLLs+DLLs 2+2
    IOバンクの合計 4
    ユーザIOの最大 207
    コア電圧(UVバージョン) 1.8V/2.5V/3.3V
    • ペリフェラル/ポート
      • MicroUSBポート(onboard USB JTAGポート)
      • 共通カスケード 8セグメント, 4桁数字ディスプレイ
      • DIPスイッチ × 8
      • LED × 8
      • 入力キー × 8
      • RGB-LED(共通アノード) × 4
      • 拡張IOポート(2.54mmピンヘッダ) × 36
    • オンボード発振器
      • 12MHz

2.ポート

2.1 USB-to-JTAGポート

USB-to-JTAGモジュールはRunberboard上に実装されています。
コネクタとしてFTDIのFT232HQを用いることで、USB microケーブルをon board J14を経由しon board JTAGモジュールに接続できます(microUSBソケットに対応するポートはボードポート?を参照ください)。本機は接続時に以下のドライバ名で認識します。
image.png
RUNBER FPGAモデル:GW1N-UV4LQ144C6/I5 について
もし以下のような警告がfsファイルコンパイル後に表示された場合、デバイスが一致していません。
image.png
プロジェクト設定にて選択したデバイスのモデルがボードに対応している場合、デバイス選択の一覧にて必ず問題になります(?)。
リセットするために下図に示した赤枠のデバイスをダブルクリックして下さい。デバイスのモデルがボードに対応していなかった場合は、ダブルクリックにより変更が可能です。
image.png
どのシリーズのデバイスか不明な時は以下の方法によりJTAGを介してスキャンすることでどのモデルなのかを確認できます(デバイスセレクタからデバイスのシリーズを選びます、末尾の数字がRのものは内蔵SDRAMのFPGAで、Runber boardによって選択されたデバイスには内蔵SDRAMが実装されていません)。
※うまく和訳できませんでしたが、本ボードで実装しているGW1Nはデバイス選択を間違えやすいことに対する注記です。スキャンするとわかるようにデバイスの候補が複数あります。実際には内蔵SDRAMの有無が異なりますが、選び間違いのないようにと言っている?
image.png

2.2 電源

本ボードはUSBからのVBUS、もしくは拡張ポートからの5VかLDOからの3.3Vのいずれかにより電源供給できます。
UVシリーズのデバイスの場合、最大3.3Vのコア電圧がサポートされているため、ボードの電源システムが簡素化されています。

2.3 クロック

Runber boardの発振器はFT232HQとGW1N-4に同期した12MHzを提供しています。
GW1N-4のピン設定はは下表のとおりです。

信号 説明 FPGAピン番号(Location)
FPGA_CLK_12M クロック入力12Mhz 4

2.4 共通カソード数字ディスプレイ(7セグメントLED)

数字ディスプレイのピンとセグメント選択間の対応を数に示します。応答時間は約0.1usです。
各セグメントに平均順方向電流20mAが必要となります。
image.png

信号 説明 FPGAピン番号(Location)
SEG_DIG1 左端から1つ目の数字表示 137
SEG_DIG2 左端から2つ目の数字表示 140
SEG_DIG3 左端から3つ目の数字表示 141
SEG_DIG4 左端から4つ目の数字表示 7
SEG_A 数字表示のセグメントA 138
SEG_B 数字表示のセグメントB 142
SEG_C 数字表示のセグメントC 9
SEG_D 数字表示のセグメントD 11
SEG_E 数字表示のセグメントE 12
SEG_F 数字表示のセグメントF 139
SEG_G 数字表示のセグメントG 8
SEG_DP 数字表示のセグメントDP 10

2.5 単色LED

Runber boardはIO制御できる8つのLEDだけでなく、microUSBソケット("POWER"印字)の側面にある電源インジケータ、および水晶発振器("U27"印字)("DONE"印字)の下にある負荷インジケータを備えています。
操作可能な8つのLEDはHIGHレベルで点灯します。回路図とピン配置は以下の通りです。
image.png

信号 説明 FPGAピン番号(Location)
LED1 LED1の制御信号 23
LED2 LED2の制御信号 24
LED3 LED3の制御信号 25
LED4 LED4の制御信号 26
LED5 LED5の制御信号 27
LED6 LED6の制御信号 28
LED7 LED7の制御信号 29
LED8 LED8の制御信号 30

2.6 RGB-LED

Runber boardのコモンアノードRGB LEDについて。
制御信号がLOWレベルのとき対応するLEDの色が発光します。
image.png

信号 説明 FPGAピン番号(Location)
G_LED1 G_LED1の制御信号 114
B_LED1 B_LED1の制御信号 113
R_LED1 R_LED1の制御信号 112
G_LED2 G_LED2の制御信号 111
B_LED2 B_LED2の制御信号 110
R_LED2 R_LED2の制御信号 106
G_LED3 G_LED3の制御信号 104
B_LED3 B_LED3の制御信号 102
R_LED3 R_LED3の制御信号 101
G_LED4 G_LED4の制御信号 100
B_LED4 B_LED4の制御信号 99
R_LED4 R_LED4の制御信号 98

2.7 DIPスイッチ

Rnber boradの8桁DIPスイッチについて。
デフォルトLOWレベルで認識されるよう回路設計されており、導通時HIGHレベルでの入力です。
回路図は以下の通りです。
image.png

信号 説明 FPGAピン番号(Location)
SW1 SW1の制御信号 75
SW2 SW2の制御信号 76
SW3 SW3の制御信号 78
SW4 SW4の制御信号 79
SW5 SW5の制御信号 80
SW6 SW6の制御信号 81
SW7 SW7の制御信号 82
SW8 SW8の制御信号 83

2.8 入力キー

Runber boardはソフトタッチキー×8つを実装しています。
デフォルトHIGHレベルで認識し、キー押下時はLOWレベルでInputされる回路設計となっています。
回路図は以下の通りです。
image.png

信号 説明 FPGAピン番号(Location)
KEY1 KEY1の制御信号 58
KEY2 KEY2の制御信号 59
KEY3 KEY3の制御信号 60
KEY4 KEY4の制御信号 61
KEY5 KEY5の制御信号 62
KEY6 KEY6の制御信号 63
KEY7 KEY7の制御信号 64
KEY8 KEY8の制御信号 65

2.9 拡張IO

Runber boardは2.54mmピンヘッダ(20ピン)を2列実装しており、ユーザーにて拡張利用できます。
回路上の結線は以下の通りです。
image.png

【 J1 】

J1は数字ディスプレイに対して左側に配置されています。MSPI_CLK, MSPI_CS, MSPI_MOSI, MSPI_MISOの4つはJ1の特殊ピンとして接続されており、外部のFLAHとの接続に使用できます。なお、汎用IOとしても利用できます。
プロジェクトにおけるセットアップは以下の手順をご確認ください。

(1)プロジェクト設定を開く
image.png

(2)Place&Ruote > Dual-Purpose Pin > Use MSPI as regularIOにチェックを入れる
※ポップアップを読むとわかるように本チェックを入れることでMSPI以外も関連ピンとして一緒に汎用IOとして使えるようです。
image.png

J1ピンのIO
1番ピンが数字でディスプレイ側の端になり、キー入力側の端が20番ピンになります。

信号 説明 FPGAピン番号(Location) ボード上のピン番号
A3V3_1A ピンへの3.3V供給(数字ディスプレイ側の端) 1
GPIO38 拡張IO 38 2
GPIO39 拡張IO 39 3
GPIO40 拡張IO 40 4
GPIO41 拡張IO 41 5
GPIO42 拡張IO 42 6
GPIO43 拡張IO 43 7
GPIO44 拡張IO 44 8
GPIO66 拡張IO 66 9
GPIO67 拡張IO 67 10
GPIO68 拡張IO 68 11
GPIO69 拡張IO 69 12
GPIO70 拡張IO 70 13
GPIO71 拡張IO 71 14
GPIO72 拡張IO 72 15
MSPI_CLK MSPIコネクタとして使用する場合のSPIクロックポート 96 16
MSPI_CS MSPIコネクタとして使用する場合のSPI許可ポート 95 17
MSPI_MOSI MSPIコネクタとして使用する場合のSPI信号出力ポート 94 18
MSPI_MISO MSPIコネクタとして使用する場合のSPI信号入力ポート 93 19
GND グランド 20

【 J2 】

J2は数字ディスプレイに対して右側に配置されています(LED側)。1番ピンが数字でディスプレイ側の端になり、キー入力側の端が20番ピンになります。gowinに接続されたピンと信号は同じ番号が採番されています。なお、VBUSへの入力信号は5Vです。

J2ピンのIO

信号 説明 GOWINチップのピン番号(Location) ボード上のピン番号
VBUS ピンへの5V供給(数字ディスプレイ側の端) 1
GPIO136 拡張IO 136 2
GPIO135 拡張IO 135 3
GPIO134 拡張IO 134 4
GPIO133 拡張IO 133 5
GPIO132 拡張IO 132 6
GPIO131 拡張IO 131 7
GPIO130 拡張IO 130 8
GPIO129 拡張IO 129 9
GPIO128 拡張IO 128 10
GPIO123 拡張IO 123 11
GPIO122 拡張IO 122 12
GPIO121 拡張IO 121 13
GPIO120 拡張IO 120 14
GPIO119 拡張IO 119 15
GPIO118 拡張IO 118 16
GPIO117 拡張IO 117 17
GPIO116 拡張IO 116 18
GPIO115 拡張IO 115 19
GND グランド 20

2.10 外部電源との接続

本ボードをモジュールとして使う場合、電源共有は以下の2つの方法があります。
(1)5V電源をJ2の1番ピンに入力
(2)3.3V電源をJ1の1番ピンに入力

Note
Runberは上記のどちらでも機能します。


参考:

  • Gowin RUNBER Development Board

秋月商店
https://akizukidenshi.com/catalog/g/gM-16723/

  • FT232HQ

マルツ
https://www.marutsu.co.jp/pc/i/27811842/

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?