市中心道格·布朗 ➡ 修复一个从未正常工作的山寨阿尔特拉 USB Blaster

作者讲述了修复两个有缺陷的 Altera USB Blaster 克隆设备的经历。

  • Time Sleuth 项目及编程需求:作者构建了 Time Sleuth 用于 HDMI 输入延迟测试,需向 Altera FPGA 烧录比特流,而官方 Altera/Intel USB Blaster 电缆价格 300 美元,作者选择购买便宜克隆设备。
  • Waveshare USB Blaster V2 的问题:购买的 Waveshare USB Blaster V2 在 Linux 系统下无法正确编程 FPGA,偶尔擦除操作能成功,但长时间操作易失败,而在 Windows 系统下编程一次成功。作者通过 OpenOCD 和 UrJTAG 回放 SVF 文件使其工作,但速度慢且笨拙,询问 Waveshare 后被告知其在 Linux 系统下可能存在兼容性问题,建议在 Windows 系统下使用。作者拆开设备发现其使用 FTDI FT245RL、Altera EPM3064A CPLD 和 Nexperia 74LVC244A 缓冲器,推测其用作电平转换器以支持 1.2V 至 5V 编程电压。通过研究 USB 流量和 JTAG 操作,发现 Windows 和 Linux 下的 USB 流量不同,导致设备在 Windows 下能正常工作而在 Linux 下不行,最终通过调整 RP2040 的输出频率使 Waveshare USB Blaster 在 Linux 系统下以 15.625MHz 频率稳定工作。
  • 另一个便宜的 Amazon 克隆设备:购买的 9 美元的 Amazon 克隆设备在 Linux 和 Windows 系统下均无法正常工作,Linux 系统下无数据响应,Windows 系统下导致蓝屏(PFN_LIST_CORRUPT)。拆开后发现其内部是 WCH CH552G 微控制器,作者尝试使用其开源固件,经过一系列操作(确定引脚映射、修改 Makefile 中的 FREQ_SYS、调整引脚映射、修改发送数据包的前缀、处理 SOF 中断等),最终使该克隆设备在 Linux 系统下正常工作,但在 Windows 系统下仍会蓝屏,作者推测是设备伪装为 FTDI 芯片但未完美模拟导致的。
  • 总结与感慨:作者对修复两个克隆设备的经历感到满意,认为这些垃圾设备出售时应经过测试,同时对开源项目能解决此类问题表示赞赏。

主要观点:展示了不同品牌和价格的 USB Blaster 克隆设备在 Windows 和 Linux 系统下的兼容性问题及修复过程,强调了开源项目的作用。
关键信息:Time Sleuth 项目、各种 USB Blaster 克隆设备的购买及使用情况、设备内部结构及相关芯片、USB 和 JTAG 流量分析、修复过程及遇到的问题。
重要细节:如不同设备在不同系统下的具体表现、各种芯片的功能及特点、修复过程中的代码修改和调试等。

阅读 13
0 条评论