开源项目openFPGALoader搭配CH347实现对FPGA高速下载

CH347介绍

CH347是一款高速USB总线转接芯片,通过USB总线提供异步串口、I2C同步串行接口、SPI同步串行接口和JTAG接口等。芯片资源如下:

  1. 2个高速串口,最高波特率达9Mbps
  2. 1个2线I2C接口
  3. 1个4线SPI接口,最高速率60MHz
  4. 1个JTAG接口,最高速率60MHz
  5. 1个SWD接口

芯片封装分为T/F两种,CH347F可多功能同时使用,CH347T则需要进行相应模式切换。

openFPGALoader简介

类似于成熟的openOCD项目,openFPGALoader主要专注于对FPGA的固件下载,支持Xilinx, Altera/Intel, Lattice, Gowin等常见FPGA。
项目链接:https://github.com/ZhiyuanYuanNJ/openFPGALoader/tree/master

openFPGALoader安装

Windows、Linux、mac均可参照官方链接,按步骤执行:
安装

openFPGALoader使用

CH347F对XILINX SPARTAN-6系列XC6SLX9做下载

Linux系统:

  1. 使用lsusb查看硬件是否连接:
home:~/develop_pro/openFPGALoader_github/openFPGALoader/build$ lsusb
Bus 003 Device 007: ID 1a86:55de QinHeng Electronics UART+SPI+I2C+JTAG
  1. 使用detect指令查看是否识别此FPGA:
home:~/develop_pro/openFPGALoader_github/openFPGALoader/build$ sudo ./openFPGALoader -c ch347_jtag --pid 0x55de --detect
empty
Cable PID overridden
JTAG TCK frequency set to 7.500 MHz


index 0:
	idcode 0x4001093
	manufacturer xilinx
	family spartan6
	model  xc6slx9
	irlength 6

注:默认PID为CH347T模式3:0x55DD,此处需指定PID。

  1. 下载固件:
home:~/develop_pro/openFPGALoader_github/openFPGALoader/build$ sudo ./openFPGALoader -c ch347_jtag --pid 0x55de --freq 30000000 -B spiOverJtag_xc6slx9csg324.bit.gz -f led_test.bit
empty
write to flash
Cable PID overridden
JTAG TCK frequency set to 30.000 MHz


Open file DONE
Parse file DONE
use: spiOverJtag_xc6slx9csg324.bit.gz
load program
Load SRAM: [==================================================] 100.00%
Done
Detected: ST M25P16 32 sectors size: 16Mb
00000000 00000000 00000000 00
Erasing: [==================================================] 100.00%
Done
Writing: [==================================================] 100.00%
Done

重写上电,检查固件下载情况。

注:此处spiOverJtag_xc6slx9csg324.bit.gz文件为该FPGA的JTAG/SPI的桥接文件,位于源码中spiOverJtag目录下。

Windows系统:
Windows系统指令与Linux类似,需安装MSYS2编译,需提前安装CH347的Windows JTAG驱动
编译方法:

mkdir build;cd build;cmake ..;cmake --build .
...
...
[49/49] Linking CXX executable openFPGALoader.exe

detect FPGA:

lzy@DESKTOP-NM6R9PE MINGW64 /c/Users/lzy/Desktop/openFPGALoader/build
$ openFPGALoader.exe -c ch347_jtag --detect
CH347 Open Success.
JTAG TCK frequency set to 7.500 MHz


index 0:
        idcode 0x4001093
        manufacturer xilinx
        family spartan6
        model  xc6slx9
        irlength 6
Close the CH347.

下载:

lzy@DESKTOP-NM6R9PE MINGW64 /c/Users/lzy/Desktop/openFPGALoader/build
$ ./openFPGALoader -c ch347_jtag --freq 30000000 -B ../spiOverJtag/spiOverJtag_xc6slx9csg324.bit.gz -f led_test.bit
empty
write to flash
CH347 Open Success.
JTAG TCK frequency set to 30.000 MHz


Open file DONE
Parse file DONE
use: C:/Users/lzy/Desktop/openFPGALoader/spiOverJtag/spiOverJtag_xc6slx9csg324.bit.gz
load program
Load SRAM: [==================================================] 100.00%
Done
Shift IR b5
ir: 1 isc_done 1 isc_ena 0 init 1 done 1
Detected: ST M25P16 32 sectors size: 16Mb
00000000 00000000 00000000 00
Erasing: [==================================================] 100.00%
Done
Writing: [==================================================] 100.00%
Done
Close the CH347.

关于openFPGALoader的更多功能信息可查阅官方文档。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值