FPGA远程更新/远程调试的一种简单方法

文章介绍了通过树莓派和JtagPi实现FPGA的远程无线更新方法,作为XVC方案的一种变种。此方法解决了传统无线更新速度慢和成本增加的问题,适用于设备调试和实际应用。用户需要制作扩展板进行电平兼容,然后运行特定软件进行编程。文章提供了详细步骤及测试过程,并提到了相关项目源码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

d5216f80cea5010c04d5683d67041e64.png

之前介绍过一种远程(无线)更新的方式,详见《起飞!通过无线WIFI下载调试FPGA》,这种方式缺点有两个:一是速度较慢;二是我们的设备中需要增加一个无线设备,增加成本的同时增加了暴露的风险。这两点即无法在调试的时候使用也没办法在实际设备中使用。今天我们再介绍另一种简单方式。

下面是目前我们很多设备常用的硬件架构,这种架构中,我们可以很方便使用嵌入式设备作为“桥梁”用来调试FPGA,其实这也是XVC方案的“变种”。

467ec2392620b4763b325761efe81b84.png

为了演示上面的方案,使用树莓派+FPGA进行方案验证。

9b26938ae2fa00210750c8bb0a544790.png 77a0200fd8bc44491d2e36fcfe0f8c49.pngXilinx 的 Platform Cable USB II

Jtag Pi

我们知道正常的调试器/下载区的JTAG接口可以兼容很多芯片,所以首先需要制作一个扩展板进行IO口电平兼容设计,硬件如下:

1d2d5ad8b1712af4e756cb61ee6d574f.png

将Jtag Pi 连接到 raspberry Pi 和在其上运行的软件应用程序,我们就有了一个便宜的远程编程器。

如何使用

将 Jtag Pi 连接到 Raspberry Pi 之上后,我们需要将 Xilinx Virtual Cable for Raspberry Pi 应用程序复制到板上。我通过 SSH 将它复制到我的主目录中。然后只需进入该目录并运行:

make

就会看到编译输出:

cc -std=gnu99 -O3   -c -o xvcpi.o xvcpi.c
cc -o xvcpi xvc

之后我们有一个编译的应用程序。运行它:

sudo ./xvcpi

完毕!

现在我们可以试一试了。

测试

我们需要将 Jtag Pi 和 FPGA 连接。

82fd80f452b0f29f166a25a5ad5f98c4.png

引脚 Vcc 连接到 FPGA 板的 Vref。它用于对信号进行电压转换(电压取决于电路板)。

首先我们运行 Xilinx Vivado。然后从主菜单中选择Open Hardware Manager 。

06b28f91bb7367d611c9abcc1be7a3f1.png

在硬件管理器中,我们将看到硬件选项卡,我们可以在其中使用连接器图标打开目标。

1d3d5e9e762d144b6f92f2d18b78fc3a.png

之后我们将连接到本地主机 hw_server。

bb7639c9ce19b1151d6896d7ebeea20d.png

现在右键单击 localhost 并选择Add Xilinx Virtual Cable (XVC)。现在在弹出窗口中输入 Raspberry Pi IP(WiFi 或以太网 - 取决于使用的网络)。

850b5d14c0fa5cbf6d96dd2cb8add87d.png

连接后将看到一些已识别的设备——在我们的例子中我们看到 xc7z007s。

97db2f3c92dbfd24d7a55e6ca4dcbb89.png

现在我们可以为 FPGA 选择 bit 文件并对其进行远程编程。

16b25f332ae5280ce66e114341b01956.png

测试如下,对 FPGA 进行下载需要 5 秒(Zynq 7z007s 的比特流大小约为 17Mb)。如果比特流中有调试内核,还可以读取 XADC 值或ila进行调试。

3c001c7e189ac702b1d78887d79fdb0d.png

项目地址

https://github.com/kholia/xvcpi

https://bitbucket.org/Mylium/xvcpi/src/master/

总结

树莓派板载了wifi和1G 网口,所以可以使用无线或者有线进行调试。对应于实际设备中,上面的代码很容易移植到新的嵌入式设备,也无需浪费时间和精力在FPGA上做远程更新的手段。

PS:Jtag Pi不是必须得,只要树莓派的IO电平和FPGA电平标准兼容即可。

35ca0176367c1ffaac821907745091f8.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值