当前位置: 首页 > news >正文

CH347使用笔记:CH347作为FPGA下载器的几种方式

CH347简介

CH347是一款高速USB总线转接芯片,通过USB总线提供异步串口、I2C同步串行接口、SPI同步串行接口和JTAG接口等。JTAG接口最高支持60Mhz。
详细介绍:

CH347-高速USB转串口、JTAG/SWD、SPI、I2C芯片介绍

CH347下载FPGA程序的三种方式

  1. 使用OpenOCD
    OpenOCD(Open On-Chip Debugger)作为开源的硬件调试器,除了可以对嵌入式芯片进行下载和调试,其实还支持一些型号的FPGA下载。
    在OpenOCD目录中的share\openocd\scrips目录中可以看到支持的FPGA型号。
    在这里插入图片描述
    具体使用可参考

CH347应用–USB TO JTAG进行FPGA调试下载

  1. 使用OpenFPGALoader
    类似于成熟的openOCD项目,openFPGALoader主要专注于对FPGA的固件下载,支持Xilinx, Altera/Intel, Lattice, Gowin等常见FPGA。
    项目链接:https://github.com/ZhiyuanYuanNJ/openFPGALoader/tree/master
    目前支持的FPGA型号如下:
    https://trabucayre.github.io/openFPGALoader/compatibility/fpga.html
    具体使用可参考:

CH347应用 USB转JTAG功能:开源项目openFPGALoader实现对FPGA高速下载

  1. 使用VIVADO xvcd
    Xilinx Virtual Cable Daemon(xvcd)是Xilinx推出的基于 TCP/IP协议 的虚拟调试工具,主要用于替代传统的平台电缆 (如 Impact 工具)实现FPGA的远程调试和程序加载。
    具体使用流程如下:

1、下载编译xvcd-ch347。

https://github.com/AIOT-CAT/xvcd-ch347

2、运行程序
首先使用-h,查看使用说明

ch347_xvcd.exe -hUsage:-h, --help                     display this message-a, --address <host add xxx>   specify host address, default is 127.0.0.1-p, --port <port num>          specify socket port, default is 2542-i, --index <index num>        specify CH347 index, default is 0-s, --speed <ch347 speed>      specify CH347 JTAG speed, default is 30MHz

一般使用时需要关注JTAG速率,一般单纯下载程序速率可以设置的稍高,程序固化时速率不宜过高

设置JTAG速率3.75Mhz:

xvcd_ch347.exe -s 3750000
Open CH347 Succes.
CH347:[0] init done.

可以看到CH347成功打开,程序不要关闭,随后打开vivado。

3、vivado连接CH347
初始界面打开硬件管理。
在这里插入图片描述
点击New Target
在这里插入图片描述
点Next
在这里插入图片描述
添加XVC虚拟线缆,并确认Host name:127.0.0.1 port:2542
在这里插入图片描述
此时应能够看到FPGA的型号已经被扫描到。
在这里插入图片描述
点击Next、Finish。

4、程序下载
右键FPGA并选择Program Device。
在这里插入图片描述
在弹出的界面选择bit文件,点击Program并等待下载完成。

5、FPGA程序固化
为FPGA选择自己的flash型号。
在这里插入图片描述
在这里插入图片描述
选择MCS文件并下载。
在这里插入图片描述
在这里插入图片描述
等待固化完成,并重启FPGA即可。

http://www.dtcms.com/a/307049.html

相关文章:

  • Maven 配置阿里云镜像加速
  • huggingface是什么?2025-07-30
  • Mac 上配置jdk 环境变量
  • 2. Agent与 React流程
  • 【LY88】双系统指南及避坑
  • Python 的 match-case
  • 从映射到共生:元宇宙、物联网与AI的智能融合生态图谱
  • (LeetCode 面试经典 150 题) 141. 环形链表(快慢指针)
  • HPCtoolkit的下载使用
  • Oracle11g数据库迁移达梦8数据库方案
  • Python序列化和反序列化
  • 如何用Docker部署ROS2
  • (C++)C++类和类的方法(基础教程)(与Python类的区别)
  • c++之基础B之sort排序(第三个参数没有)(第二课)
  • Fiddler中文教程 从入门到进阶的网络抓包与接口调试实战指南
  • Python Pandas.merge_asof函数解析与实战教程
  • VUE前端
  • [Agent开发平台] API网关 | 业务领域 | DTO格式 | 分页令牌
  • React 服务端渲染(SSR)详解
  • 使用 cron 配合 Docker 实现定时任务
  • 神经网络的并行计算与加速技术
  • 模型相关类代码回顾理解 | BatchNorm2d\fc.in_features\nn.Linear\torchsummary
  • Haproxy 七层代理深度解析
  • Ubuntu 本地部署和使用 n8n 指南and ai almost anything
  • REST、GraphQL、gRPC、tRPC深度对比
  • Python Day19 时间模块 和 json模块 及例题分析
  • Dify案例2:基于Workflow的小红书笔记AI智能体以及AI绘图过程中遇到的问题
  • USRP捕获手机/路由器数据传输信号波形(上)
  • Vue面试
  • HTML基础P2 | JS基础讲解