4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tang Primer 25KのSoMを載せるボードを作る

Last updated at Posted at 2024-04-11

 Tang Primer 25K(Sipeed)はFPGAチップとしてAroraシリーズのGW5A(GOWIN)を搭載しています(1)
FPGAチップと電源IC,Flash ROMはSoMに搭載されています.このSoMを利用するメインボードを自作するための情報を記します.

tang25k.jpg

 具体的には,自作したボードを使ってLEDの点滅を行います.
次にモータを回すためのボードも作ります.

コンフィグレーション -Configuration-

GW5Aで使えるコンフィグレーションの種類

 GW5Aのコンフィグレーション方法として,

  • MSPI(Master SPI)
  • SSPI(Slave SPI)
  • Master Serial
  • Slave Serial
  • Master CPU
  • Slave CPU
  • JTAG
    などが用意されています.

 Tang Primer 25Kに搭載されている GW5A-MG121N は,MSPIとJTAGに対応しています.

<GW5A シリーズ FPGA 製品回路図 ユーザーガイド
UG987-1.1.2J, 2024-03-13, P12>

コンフィグレーションモードはMODEピンで設定する

 どのコンフィグレーション方法を使うかは,MODEピンの設定で切り替えられます.
回路規模が小さめのデバイスは,MODE[1:0] で設定します.(MG121Nはこちら)
回路規模が大きめのデバイスは,MODE[2:0] で設定します.
 JTAGでコンフィグレーションする場合は,MODEの設定は無視されます.

<GW5A シリーズ FPGA 製品回路図 ユーザーガイド
UG987-1.1.2J, 2024-03-13, P12>

Tang Primer 25Kの場合

 Tang Primer 25Kに搭載されている GW5A-LV25MG121 は,JTAGによるコンフィグレーションのみに対応しています.
 下記のドキュメントが間違っておりました.JTAGとMSPIに対応しているようです.
 Tang Primer 25KではSoMにしろDockにしろボード上には,MODEピンは引き出されていません.チップ内部で結線されており,2'b01の固定値になっているので,デフォルトでMSPIモードで起動します.

<GW5A シリーズ FPGA 製品回路図 ユーザーガイド
UG987-1.1.2J, 2024-03-13, P26>

基板製作 -How to make a board-

 SoMには60ピンのコネクタ DF40C-60DP-04V(51) が2つ搭載されています(3).このコネクタと対になるレセプタクルは,DF40C-60DS-0.4V(51) です.
 SoM側がプラグ,Dock側がソケットです.

 筆者は,SoMのほぼ全ピンを引き出す基板を作って,LED点滅で動作を確認しました.
GKvOfSQbYAEa8SJ.jpg

SoMの裏面
tang25k-2.jpg

コンフィグ方法1:MSPI -Master SPI-

配線 -Wiring-

 SoMに搭載されたフラッシュ・メモリからビットストリームを読み込んでコンフィグレーションする方法です.
 Tang Primer 25K(Sipeed)のSchematicsによると,コンフィグレーションに関係するバンク4/5/10は,SoM内でVDD_3V3に接続されており,各バンクへ電源が供給されている.従って,次のピンだけ接続すれば,コンフィグレーションを含め一連の動作を確認できる.

<Tang_Primer_25K_52300_Schematic.pdf(3)

SoM(GW5A) 接続先 説明
D8_RECONFIG 5.1k -> VDD_3V3 PullUP
E8_READY 5.1k -> VDD_3V3 PullUP
D7_DONE 5.1k -> VDD_3V3 PullUP(プルアップしなくてもよいと思われ)
VCCIO0/1 VDD_3V3 バンク0/1の電源
H5_IOT61A LED Anode 動作確認用LEDアノード
GND LED Kathode 動作確認用LEDカソード

<UG987-1.1.2J,P8>

手順 -procedure-

 予めDockなど,SoMとは別なボードを使って,SoMのフラッシュメモリにコンフィグレーションデータを書き込んでおく(もしくは次のJTAG接続による方法を使ってフラッシュに書き込む).
電源を入れると,SoM上のフラッシュのデータでコンフィグレーションされる.
 筆者は, H5 でLEDを点滅させるデザインを書き込んでおいた.
 前述の通り,コンフィグレーション・モードは MODE1 になっているので,電源を入れると自動的にMSPI経由でコンフィグレーションされる(コンフィグレーション・データは,SoM上のフラッシュメモリから読み出される).

コンフィグ方法2:Configuration by using JTAG

 AE-FT2232を使ってJTAG接続する.

配線 -Wiring-

SoM側(Tang Primer 25K) FT2232側
JTAG-TCK AD0(5.1kでプルダウン)
JTAG-TMS AD3
JTAG-TDO AD2
JTAG-TDI AD1

ae.jpg

<UG987-1.1.2J,P16>

手順 -procedure-

 書き込みには openFPGALoader を使う.
Windowsでは,openFPGALoaderを使う場合,ドライバは WinUSB にする.
Zadigでドライバを入れ替える.
(Gowin Programmerを使う場合は,WinUSBでは動かないと思われる)

 次のコマンドで,GW5Aが見えればOK.

$ openFPGALoader --detect

ok.png

SRAMに書き込み -Write to SRAM-

 ビットストリームのファイルが pmod_led.fs であれば,次のようにすると書き込める.

$ openFPGALoader pmod_led.fs

フラッシュに書き込み -Write to flash memory-

openFPGALoaderに -f オプションを付けると,ビットストリームをフラッシュ・メモリに書き込みます.

$ openFPGALoader -f pmod_led.fs

BLDCモータ制御用ボードの製作 -Make board for BLDC-

 LED点滅に成功し,SoMを使えることが分かったので,元々作りたかったボードを作ってみます.
 モータ制御用のゲートドライバICに信号を出すためのボードです.
 ドライバ・ボード(ゲートドライバICが載っている)に重ねて使うボードを作るのですが,元々載っていたSTM32マイコンボードを換装する用途なので,自作するボードにはNUCLEO用のピンヘッダも搭載します.
 他にも,5VのDC-DCコンバータや,A-Dコンバータ,スイッチ,CANトランシーバ・モジュール(WS2812B,RJ45付)を自作基板上に載せます.

1715343482427.jpg

コンフィグ

 コンフィギュレーション動作をディレイできるように, Ready ピンを引き出しておきました.ピンヘッダとジャンパ(黄)でプルアップするか,GND直結するかを選べるようにしておきました.
( GW5Aは, Ready がHiになるまでコンフィグレーションが始まらない)
 やってみた結果,基本的にはプルアップしておけば,特に起動シーケンスを気にしなくても正常にコンフィグレーションされるようです.条件によるかもしれませんが,試した範囲では,Ready ピンをオープンにしておいても,コンフィグレーションされていました.
Windowsの場合,ドライバをFTDIUSBにしておけば,GOWIN EDAに付属するProgrammerからも書き込みできます.その場合はProgrammerの設定で,Through GAOの方を選びます.SRAM,Flashともに書き込みできました.

動作

 そして,モータもバッチリ回りました.

回路図 -Schematics-

tang25.png

参考文献

(1)Sipeed Wiki Tang Primer 25K
https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html
(2)FPGA.tokyo,写真館
https://fpga.tokyo/primer25k/
(3)Tang Primer 25K Schematic
https://dl.sipeed.com/shareURL/TANG/Primer_25K/02_Schematic
(4)物理図面
Tang_Primer_25K_52300_Dimension.pdf
(5)JLCPCB
https://jlcpcb.jp/capabilities/pcb-capabilities
(6)全体の構成
https://fpga.tokyo/bldc2/

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?