akreager/cd_changer_emulator
GitHub: akreager/cd_changer_emulator
基于 Raspberry Pi 的 90 年代建伍汽车音响 CD 换碟机模拟器,通过逆向工程 13 针 DIN 串行协议实现数字音乐播放。
Stars: 0 | Forks: 0
# CD 换碟机模拟器
**基于 Raspberry Pi 的复古建伍 (Kenwood) 汽车音响 CD 换碟机模拟器**
对 20 世纪 90 年代建伍主机与其 CD 换碟机通信时使用的专有串行协议进行逆向工程,并构建一个开源模拟器,用 Raspberry Pi 替代换碟机——从而通过原装音响的主机利用其出厂控件实现无限音乐播放。
## 项目状态
🔬 **阶段:协议逆向工程** — 正在捕获并解码建伍 KRC-3006 磁带接收器与 KDC-CX85 十碟 CD 换碟机之间的同步串行协议。
## 项目功能
本项目在 20 世纪 90 年代中期建伍主机使用的 13 针圆形 DIN 接口上模拟一台建伍 CD 换碟机。该模拟器响应所有主机命令(播放、停止、上一曲/下一曲、选碟、重复、随机播放),并通过立体声系统的内置放大器从 Raspberry Pi 传输音频。
### 功能特性(计划中)
- **完整的协议模拟** — 主机显示碟片编号、音轨编号和已播放时间。
- **10 个虚拟碟片槽位** — 将文件夹或播放列表映射到 CD1–CD10,就像真正的碟盒一样。
- **基于 Web 的控制界面** — 通过 WiFi 在手机上管理您的音乐库。
- **汽车电源管理** — 由超级电容支持的优雅关机、抗启动电压跌落、电池监控。
- **WiFi 待机模式** — 当停在家里时,Pi 保持开机并连接到家庭网络,方便传输音乐和系统更新。
- **定制的 Raspberry Pi HAT** — 单块 PCB,集成了 ATtiny1616 协议控制器、PCM5102A I2S DAC、汽车电源模块,专为 JLCPCB 或类似的组装服务设计。
## 目标硬件
| 组件 | 作用 |
|-----------|------|
| Kenwood KRC-3006 (或类似的中期 90 年代建伍主机) | 立体声系统 — 被测设备 |
| Raspberry Pi 4 | 媒体服务器、Web 界面、音频播放 |
| ATtiny1616 | 实时 Kenwood 协议处理器(位于定制 HAT 上) |
| PCM5102A I2S DAC | 数字模拟音频转换 |
| USB SSD | 音乐存储(避免 SD 卡损坏) |
| SparkFun USB Logic Analyzer | 协议捕获与分析 |
## 目标车辆
任何仍在使用带有 CD 换碟机控制功能的建伍主机的复古汽车。我正在围绕 KRC-3006 主机构建并进行测试,因为它是唯一带有 CD 换碟机控制接口的轴式(Shaft style)磁带卡座。本项目的载体是一辆 1985 年款 Chevrolet C10 Silverado。电源设计考虑到了缺乏现代滤波设备的老旧车辆中存在的电气噪声环境。
## 仓库结构
```
cd_changer_emulator/
├── docs/ # Project documentation
│ ├── TP-KRC3006-001.odt # Test procedure (IEEE 829 structure)
│ ├── TL-KRC3006-001.ods # Test log workbook
│ ├── DR-KRC3006-002.md # HAT design research
│ ├── SA-KRC3006-001.md # Schematic analysis (head unit + changer)
│ └── protocol/ # Protocol captures and decoded data
├── firmware/ # ATtiny1616 firmware (Arduino/megaTinyCore)
│ └── src/
├── software/ # Raspberry Pi software
│ ├── flask-app/ # Web interface
│ ├── mpd-config/ # Music player daemon configuration
│ ├── power-mgmt/ # ATtiny UART bridge and power state management
│ └── wifi-manager/ # AP/client mode switching
├── hardware/ # KiCad PCB design files
│ ├── kicad/ # Schematic and layout
│ ├── gerbers/ # Manufacturing files
│ └── bom/ # Bill of materials with JLCPCB part numbers
├── captures/ # Logic analyzer captures (.sr files)
├── diagrams/ # WaveDrom timing, Mermaid state machines, draw.io blocks
└── reference/ # Datasheets, protocol documentation, forum archives
```
## Kenwood 兼容性
本项目面向带有圆形 13 针 DIN CD 换碟机接口的建伍主机所使用的 **“O 协议”**(旧协议),时间跨度大致为 1990–1998 年。已知兼容的主机包括该时期的 KRC 系列(磁带接收器)和部分 KDC 系列(CD 接收器)机型。
后期带有矩形换碟机接口的建伍主机使用的是 “C 协议”(新协议),其命令编码不同。本项目目前不针对 C 协议,但硬件和架构可以进行适配。
## 文档
本项目采用基于 IEEE 829 标准的“文档优先”方法。所有文档均位于 `docs/` 目录中:
- **TP-KRC3006-001** — 从实验台设置到完整音频集成的五阶段测试程序
- **TL-KRC3006-001** — 配套的测试日志工作手册,包含每个阶段的表格
- **DR-KRC3006-002** — HAT 设计研究,涵盖 ATtiny1616 选型、PCM5102A DAC 电路、带超级电容的汽车电源、WiFi 架构以及 JLCPCB 组装
- **SA-KRC3006-001** — KRC-3006 主机和 KDC-CX85 换碟机的详细原理图分析,包括信号路由、串联电阻值和协议变体识别
## 构建 / 贡献
本项目处于早期开发阶段。如果您有兼容的建伍主机,并希望协助进行协议捕获、测试或固件开发,欢迎贡献。
### 前置条件
- 安装了 [megaTinyCore](https://github.com/SpenceKonde/megaTinyCore) 的 [Arduino IDE](https://www.arduino.cc/en/software)
- 用于逻辑分析仪捕获的 [PulseView](https://sigrok.org/wiki/PulseView)
- 用于 PCB 设计的 [KiCad](https://www.kicad.org/)
- Python 3 和 Flask(用于 Web 界面)
- 用于 ATtiny1616 的 UPDI 编程器([Adafruit UPDI Friend](https://www.adafruit.com/product/5879) 或使用串口适配器和电阻自制)
## 参考资料
- [Mictronics CDC 协议文档](https://www.mictronics.de/) (Kenwood 命令表)
- [Elektroda.pl Kenwood Slim CD 换碟机模拟器](https://www.elektroda.pl/rtvforum/topic536235.html) (szymtro 的 8051 实现)
- [AVRFreaks: Kenwood CD Changer → Serial Strings](https://www.avrfreaks.net/forum/kenwood-cd-changer-serial-strings)
- [Pinouts.ru: Kenwood 13 针 DIN 接口](https://old.pinouts.ru/CarAudio/kenwood_cd_changer_pinout.shtml)
- [SpenceKonde/megaTinyCore](https://github.com/SpenceKonde/megaTinyCore) (ATtiny1616 Arduino 支持)
- [pyupdi / pymcuprog](https://github.com/mraardvark/pyupdi) (通过 Raspberry Pi 进行 UPDI 编程)
## 许可证
本项目采用 [MIT 许可证](LICENSE) 授权 — 您可以出于任何目的(包括商业用途)自由使用、修改和分发本项目。
标签:ATtiny1616, CD换碟机, DAC, DIN接口, DIY项目, HAT扩展板, I2S, Kenwood, PCM5102A, Raspberry Pi, 串口通信, 云资产清单, 内存执行, 协议分析, 复古科技, 嵌入式系统, 建伍, 开源硬件, 微控制器, 权限提升, 汽车电子, 电源管理, 硬件黑客, 老旧设备智能化, 车载改装, 逆向工具, 逆向工程, 音响系统, 音频流媒体