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 board photo ## 购买 有兴趣拥有一块 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) Upload 步骤 3:选择颜色、表面处理并下单。 Select settings Save your choice 您可以使用这些联盟链接,以 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 算法, 信号处理, 实验平台, 客户端加密, 嵌入式系统, 开源硬件, 总线接口, 数字信号处理, 无线电通信, 模块化设计, 模拟数字转换, 模数转换器, 混频器, 电子工程, 自动化修复, 计算机历史, 资源约束, 软件定义无线电, 音调检测, 高速数据采集