AndersBNielsen/PhaseLatch
GitHub: AndersBNielsen/PhaseLatch
PhaseLatch 是一个用于 6502 CPU 的 20MHz 带宽 SDR IQ ADC 开源硬件项目,旨在探索老旧微处理器在信号处理中的极限。
Stars: 36 | Forks: 2
# PhaseLatch
PhaseLatch – 用于实验性 SDR 的 6502 接口高速 ADC
博文与视频:https://www.imania.dk/index.php?cPath=204&sort=5a&language=en
PhaseLatch 是一个开源硬件项目,旨在探索经典 MOS 6502 级 CPU 在现代信号处理领域能达到的极限。该板卡实现了一个双通道、10 位、20 MSPS 的模数转换器,采用直接二进制并行输出,使得 ADC 可以直接内存映射到 6502(8 位)数据总线上。
与依赖高性能微控制器或 FPGA 的典型 SDR 设计不同,PhaseLatch 刻意将高速转换硬件与资源严重受限的 8 位 CPU 相连接。这使其成为一个实验平台,可用于探索时序限制、总线争用、内存扩展以及完全在 6502 上执行的 Goertzel 音调检测等极简 DSP 技术。
该板卡设计为模块化 Arduino 盾板样式尺寸,旨在与 PhaseLoom IQ 混频器和 65uino 6502 系统进行堆叠。直接访问 CPU 地址、数据和控制信号,可实现单指令 ADC 读取和在软件控制下的确定性采样。
PhaseLatch 的目标并非在 6502 上实现 ADC 的全部理论带宽。相反,它是一个实际的探索工具,用于研究真实世界的限制、架构权衡以及在 vintage 计算硬件上创造性信号处理的方法。
## 购买
有兴趣拥有一块 PhaseLatch 吗?
[点击此处购买](https://www.imania.dk/index.php?cPath=204&sort=5a&language=en)。
## 使用方法
[6502 源代码仍位于 65uino 项目中](https://github.com/AndersBNielsen/65uino/)
当前主要的 65uino 固件已内置对 PhaseLatch 的支持。撰写本文时,请使用 SDR 分支。
要充分利用 PhaseLatch 的带宽,也可以将其与 **FX2LP** USB 流式传输板(而非 **65uino**)配合使用。
## 软件
`software/` 文件夹包含 USB 流式传输固件以及将 PhaseLatch 数据输入 SDR 软件所需的主机端工具。
- [software/README.md](software/README.md):概述、构建说明和演示速查表。
- [software/firmware/](software/firmware/):FX2/FX2LP 固件(USB 流式传输)。
- [software/host/](software/host/):主机实用程序(USB 读取器、格式转换、DC/IQ 校正)。
- [software/examples/](software/examples/):示例管道(包括流式传输到 `/tmp/iq.fifo` 供 Gqrx 使用)。
- [software/doc/](software/doc/):接线和速率规划说明。
## 与 FX2LP(USB 流式传输)配合使用
PhaseLatch 包含用于连接 **FX2LP** 开发板的接头焊盘。FX2LP 提供 USB 2.0 高速批量流式传输,并充当从 ADC 到主机 PC 的“桥梁”。
从高层次看,流程如下:
- FX2LP 固件通过 USB 流式传输原始样本
- 主机通过 libusb 读取并转换为 CF32 格式
- 数据流写入 `/tmp/iq.fifo`,以便 **Gqrx** 可以打开它
请先查阅 `software/README.md` 中的指南,然后使用 `software/examples/pipeline.sh` 通过单个命令将数据流传输到 `/tmp/iq.fifo`。
## 获取 PCB
## 生产与制造
- `jlcpcb/gerber/` 文件夹包含 PCB 制造所需的所有文件。
- `production_files/` 文件夹包括:
- `BOM-PhaseLatch.csv`:物料清单
- `CPL-PhaseLatch.csv`:元件放置列表
- `GERBER-PhaseLatch.zip`:便于上传的压缩 Gerber 文件包
本项目由 JLCPCB 鼎力赞助。他们提供价格低廉、外观专业的 PCB 和超快的交付速度。
步骤 1:从 /hardware 文件夹获取 Gerber 文件压缩包
步骤 2:上传至 JLCPCB [https://jlcpcb.com/?from=Anders_N](https://jlcpcb.com/?from=Anders_N)
步骤 3:选择颜色、表面处理并下单。
您可以使用这些联盟链接,以 2 美元获得一块板子,并获取价值 54 美元的新用户优惠券:https://jlcpcb.com/?from=Anders_N
如果您还想订购 3D 打印外壳,可以使用此链接。
如何获取 7 美元 3D 打印优惠券:[https://3d.jlcpcb.com/?from=Anders3DP](https://jlc3dp.com/?from=Anders_N)
欲了解更多详情、技术说明以及 PhaseLoom 背后的完整故事,请查看项目视频和文档。特别感谢 JLCPCB 和 Fnirsi 对本项目开发的支持!
## 购买
有兴趣拥有一块 PhaseLatch 吗?
[点击此处购买](https://www.imania.dk/index.php?cPath=204&sort=5a&language=en)。
## 使用方法
[6502 源代码仍位于 65uino 项目中](https://github.com/AndersBNielsen/65uino/)
当前主要的 65uino 固件已内置对 PhaseLatch 的支持。撰写本文时,请使用 SDR 分支。
要充分利用 PhaseLatch 的带宽,也可以将其与 **FX2LP** USB 流式传输板(而非 **65uino**)配合使用。
## 软件
`software/` 文件夹包含 USB 流式传输固件以及将 PhaseLatch 数据输入 SDR 软件所需的主机端工具。
- [software/README.md](software/README.md):概述、构建说明和演示速查表。
- [software/firmware/](software/firmware/):FX2/FX2LP 固件(USB 流式传输)。
- [software/host/](software/host/):主机实用程序(USB 读取器、格式转换、DC/IQ 校正)。
- [software/examples/](software/examples/):示例管道(包括流式传输到 `/tmp/iq.fifo` 供 Gqrx 使用)。
- [software/doc/](software/doc/):接线和速率规划说明。
## 与 FX2LP(USB 流式传输)配合使用
PhaseLatch 包含用于连接 **FX2LP** 开发板的接头焊盘。FX2LP 提供 USB 2.0 高速批量流式传输,并充当从 ADC 到主机 PC 的“桥梁”。
从高层次看,流程如下:
- FX2LP 固件通过 USB 流式传输原始样本
- 主机通过 libusb 读取并转换为 CF32 格式
- 数据流写入 `/tmp/iq.fifo`,以便 **Gqrx** 可以打开它
请先查阅 `software/README.md` 中的指南,然后使用 `software/examples/pipeline.sh` 通过单个命令将数据流传输到 `/tmp/iq.fifo`。
## 获取 PCB
## 生产与制造
- `jlcpcb/gerber/` 文件夹包含 PCB 制造所需的所有文件。
- `production_files/` 文件夹包括:
- `BOM-PhaseLatch.csv`:物料清单
- `CPL-PhaseLatch.csv`:元件放置列表
- `GERBER-PhaseLatch.zip`:便于上传的压缩 Gerber 文件包
本项目由 JLCPCB 鼎力赞助。他们提供价格低廉、外观专业的 PCB 和超快的交付速度。
步骤 1:从 /hardware 文件夹获取 Gerber 文件压缩包
步骤 2:上传至 JLCPCB [https://jlcpcb.com/?from=Anders_N](https://jlcpcb.com/?from=Anders_N)
步骤 3:选择颜色、表面处理并下单。
您可以使用这些联盟链接,以 2 美元获得一块板子,并获取价值 54 美元的新用户优惠券:https://jlcpcb.com/?from=Anders_N
如果您还想订购 3D 打印外壳,可以使用此链接。
如何获取 7 美元 3D 打印优惠券:[https://3d.jlcpcb.com/?from=Anders3DP](https://jlc3dp.com/?from=Anders_N)
欲了解更多详情、技术说明以及 PhaseLoom 背后的完整故事,请查看项目视频和文档。特别感谢 JLCPCB 和 Fnirsi 对本项目开发的支持!标签:6502 CPU, Arduino 兼容, Goertzel 算法, 信号处理, 实验平台, 客户端加密, 嵌入式系统, 开源硬件, 总线接口, 数字信号处理, 无线电通信, 模块化设计, 模拟数字转换, 模数转换器, 混频器, 电子工程, 自动化修复, 计算机历史, 资源约束, 软件定义无线电, 音调检测, 高速数据采集