找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1545

积分

0

好友

233

主题
发表于 5 天前 | 查看: 20| 回复: 0

图片

传统的基于无线的FPGA远程更新方案存在速度较慢、需额外硬件且可能增加安全风险的缺点,使其难以同时满足高效调试与生产部署的需求。本文将介绍一种基于树莓派(Raspberry Pi)与XVC(Xilinx Virtual Cable)方案的替代方法,该方法更简单、高效且成本低廉。

在许多嵌入式设备的硬件架构中,利用现有嵌入式处理器作为“桥梁”来调试FPGA是一种常见且高效的思路。下图展示了这种架构,它本质上是XVC方案的一种灵活“变种”。

图片

为了演示此方案,我们采用树莓派结合FPGA开发板进行验证。

图片
图片
Xilinx Platform Cable USB II(传统调试器)

硬件准备:Jtag Pi扩展板

标准调试器的JTAG接口通常兼容多种芯片电平,因此我们需要一个扩展板来完成树莓派GPIO与FPGA JTAG接口的电平匹配与连接。硬件设计如下图所示:

图片

将制作好的Jtag Pi板连接到树莓派,并配合运行在树莓派上的软件,我们就构建了一个低成本的远程编程器。

软件部署与使用

将Jtag Pi连接至树莓派后,我们需要在树莓派上部署并运行XVC服务端程序。首先,通过SSH将xvcpi应用程序源码复制到树莓派的主目录中,这是一种常见的远程运维与开发操作

进入源码目录,执行编译命令:

make

编译成功后,将输出类似信息:

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

接着,以管理员权限运行编译生成的可执行文件:

sudo ./xvcpi

至此,树莓派端的XVC服务器已启动就绪。

连接与测试

接下来,需要将Jtag Pi的JTAG接口与FPGA开发板的对应引脚相连。

图片

注意:扩展板的Vcc引脚需连接到FPGA板的Vref引脚,以确保正确的电平转换(电压值取决于具体FPGA板卡)。

在PC端,打开Xilinx Vivado设计套件。从主菜单中选择 Open Hardware Manager

图片

在硬件管理器界面,点击“连接”图标以打开目标。

图片

选择连接到本地硬件服务器(localhost hw_server)。

图片

在“Hardware”面板中右键点击 localhost,选择 Add Xilinx Virtual Cable (XVC)。在弹出的对话框中,输入树莓派的IP地址(根据实际网络连接,填写其Wi-Fi或以太网IP)。

图片

成功连接后,硬件管理器将识别出FPGA设备。本例中识别到的设备为 xc7z007s

图片

现在,即可选择比特流(bit)文件对FPGA进行远程编程。

图片

测试表明,对于一个约17Mb的Zynq 7z007s比特流文件,下载时间约为5秒。如果比特流中包含了调试内核(如ILA、VIO等),还可以通过Vivado进行远程在线调试,例如读取XADC数值或触发捕获ILA波形。

图片

项目资源

方案总结

树莓派本身集成了Wi-Fi和千兆以太网口,因此可通过有线或无线网络进行远程调试,提供了极大的灵活性。对于实际产品设备,此方案中的XVC服务端代码可以轻松移植到新的嵌入式平台上,从而无需在FPGA逻辑内部单独实现复杂的远程更新机制,节省了开发时间与资源。

补充说明:专用的Jtag Pi扩展板并非绝对必需,只要确保树莓派的GPIO引脚电平与FPGA的JTAG接口电平兼容,即可直接连接。




上一篇:PE文件数据目录保留字段详解:规范要求、设计用途与实践代码示例
下一篇:Python提取HTML文本方法对比:BeautifulSoup、Selectolax、PyQuery与正则表达式实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 18:57 , Processed in 0.331621 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表