Glasgow 数字接口探索工具(Rev C)

Glasgow 是一款用于探索数字接口的工具,面向嵌入式开发人员、逆向工程师、数字档案管理员、电子爱好者,以及所有希望以高可靠性和最少麻烦与多种数字设备进行通信的人。

Glasgow 数字接口探索工具(Rev C)封面
jf_269329432026-01-30 18:12:37Apache-2.0
646
Star2

PCBA

设计文件

KiCad图标885903e3-8e61-4a11-b5ac-986ce1f13fe0.zip1.44MB(0次下载)

EDA查看器

复制嵌入代码

详细介绍

概述

Glasgow Interface Explorer 是一款用于探索数字接口的工具,主要面向嵌入式开发人员、逆向工程师、数字存档人员、电子爱好者以及其他希望以高可靠性和最少麻烦与各种数字设备进行通信的人。它无需额外的有源或无源元件,即可与大多数数字接口连接,并具有广泛的保护功能,可防止意外情况和操作错误。

Glasgow 硬件可支持多种数字接口,因为它采用了可重构逻辑。它不是只提供一小部分标准硬件支持的接口,而是使用 FPGA 在不影响性能或可靠性的情况下快速适应手头的任务,甚至是不寻常、定制或过时的接口。

Glasgow 软件是一套构件,旨在消除附带的复杂性。每个界面都打包成一个独立的小程序,可直接从命令行使用,或作为更复杂系统的一部分重复使用。使用 Glasgow 不需要任何编程知识,但如果你会一点 Python,它就会变得更加强大。

功能

  • 通过 UART 进行通信

  • 自动确定并跟踪被测设备的波特率

  • SPI 或 I²C 

  • 读写 24 系列 EEPROM

  • 读写 25 系列闪存

  • 通过 SFDP 确定存储器参数

  • 读写兼容 ONFI 的闪存、

  • 通过 ONFI 参数页面确定存储器参数

  • 使用 SPI 接口对 AVR 微控制器进行编程和验证

  • 自动确定未知的 JTAG 引脚布局

  • 回放 JTAG SVF 文件

  • 通过 JTAG 调试 ARC 处理器

  • 通过 EJTAG 调试某些 MIPS 处理器

  • 通过 JTAG 对 XC9500XL CPLD 进行编程和验证

  • 使用 Yamaha OPL 芯片合成声音,并在网页上实时播放

  • 从 5.25"/3.5" 软驱读取原始调制数据

Glasgow 使用什么软件?

Glasgow 完全使用 Python 3 编写。在 FPGA 上运行的接口逻辑使用 Amaranth 进行描述,Amaranth 是一种基于 Python 的特定领域语言。在主机 PC 上运行的支持代码是用 Python 和 asyncio 编写的。这样,FPGA 上的逻辑就可以根据任何要求的配置按需组装,尽可能保持快速和紧凑,代码可以在 gateware 和软件之间共享。

Glasgow 基于开源的 iCE40 FPGA 工具链(https://github.com/YosysHQ/icestorm),不仅非常可靠,而且速度极快。它的速度非常快,通常只需要几秒钟就能从头开始构建一个 bitstream,比如 UART。在开发新的小程序时,很少需要等待工具链完成。

实现可靠、高性能的 USB 通信并非易事,数据包化、缓冲都会增加成本。Glasgow 对 USB 进行了抽象:在 FPGA 上,小程序 Gateware 向 FIFO 写入或从 FIFO 读取,而在主机上,小程序软件向类似 socket 的接口写入或从 socket 接口读取。普通的 Python 代码可以在 PC 上以最大 USB 2 批量带宽进行通信,而无需额外的工作。此外,当未来的 Glasgow 版本在 USB 接口之外增加以太网接口时,也无需修改小程序代码。

调试小程序可能很困难,尤其是涉及到同一条线路上的双向通信时。Glasgow 提供内置的周期精确逻辑分析仪,可将 I/O 引脚电平和方向变化与小程序接收和发送的命令和响应联系起来。逻辑分析仪可压缩波形,并在缓冲区即将溢出时暂停小程序。

原理图 & PCB

License

0-clause BSD & Apache 2.0

仓库 & 下载

可以在Github中获取开源仓库:

https://github.com/GlasgowEmbedded/glasgow