文章摘要
作者和朋友为游戏厅的CRT显示器自制了一个24位显示适配器,通过USB连接普通电脑,解决了非标准信号输入的问题。
文章总结
从零打造24位街机CRT显示适配器
项目背景
2026年2月,作者Stephen为Recurse Center的街机"RCade"开发了一款定制显示适配器。这台街机保留了原装CRT显示器,但需要将驱动设备从树莓派升级为性能更强的电脑,因此需要解决非标准分辨率(336x262)和色彩深度(24位)的显示适配问题。
技术挑战
- 非标信号处理:CRT通过JAMMA接口接收信号,需转换VGA协议。市售VGA适配器无法支持低于640x480的分辨率。
- 色彩提升:原树莓派方案仅支持18位色深,存在明显色带问题。
- 接口限制:需通过USB连接笔记本电脑而非PCI-e接口。
开发历程
第一阶段:RP2040微控制器实验 - 利用RP2040的PIO(可编程IO)模块编写精确时序的VGA信号生成程序 - 成功实现基础显示功能,但受限于USB全速(11Mbps)带宽,帧率不足10FPS
第二阶段:STM32方案重构 - 改用支持USB高速(480Mbps)和LTDC(LCD控制器)的STM32H723芯片 - 设计定制电路板包含: - 8位DAC电阻网络(精确匹配0.7V VGA标准) - HyperRAM帧缓存 - 长度匹配的存储器走线(38条同步信号) - 遭遇设计失误:未发现芯片需外接USB PHY才能支持高速模式
第三阶段:最终方案实现 - 改用STM32H750IBT芯片(176引脚LQFP封装) - 解决晶体振荡器不稳定问题(临时用人体电阻替代缺失的1MΩ电阻) - 成功实现: - 60Hz刷新率 - 24位真彩色显示 - 通过Linux内核原生支持的GUD协议传输视频
成果展示
在RCade实机测试中,新适配器显著改善了画面质量: - 完全消除色彩断层 - 保持原始CRT的扫描线效果 - 用户反馈游戏画面"好得暴露了原图形的取巧设计"
现存问题与改进方向
- USB接口偶发故障(疑似ESD问题)
- 计划增加音频支持(可能采用电子管放大器)
- 软件端实现多缓冲机制
- 为GUD协议编写正式文档
技术细节亮点
- DAC设计:通过SAT求解器计算电阻网络,实现精确的电压分压和阻抗匹配(75Ω)
- 时序控制:LTDC外设直接生成CRT所需的RGB+同步信号
- 成本控制:最终单板成本约100美元(含关税和运费)
项目代码已开源,包含硬件设计、固件实现及辅助工具。作者特别指出这个项目虽然耗时远超预期,但极大地提升了其工程能力。
注:文中Mini-USB接口的选择引发作者激烈辩护,称其"可爱且符合直觉",并嘲讽USB-C标准混乱——这成为技术文档中罕见的情绪化段落。
评论总结
以下是评论内容的总结:
对Raspberry Pi RP2040的正面评价
- 认为RP2040价格便宜(约1美元),内置264KB RAM和可编程IO(PIO)功能。
- 引用:"I like the Raspberry Pi RP2040 a lot...has tons of on-board RAM"
- 引用:"The new RP 2350 has an enhanced PIO...relaxes some constraints"
对硬件项目的兴趣与开源分享
- 有评论者表达对硬件项目的怀念和兴趣。
- 开源分享的复杂性可能导致他人难以复现,但仍有启发意义。
- 引用:"I miss messing around with hardware."
- 引用:"people don't reproduce them...but yeah ultimately gotta do it for yourself."
技术改进建议
- 对PCB设计提出详细建议,包括ESD保护、缓冲器使用、R-2R DAC替代方案等。
- 引用:"Add ESD protection to all pins...a simple TVS will work."
- 引用:"Consider a buffer between your resistor DAC and the output."
对CRT技术的讨论
- 认为CRT技术很有趣,尤其是扁平型号。
- 对消隐(blanking)的示例图像提出质疑,认为其未准确反映实际效果。
- 引用:"CRT tech is neat, the flat ones are cooler."
- 引用:"The blanking was on all sides...not just two sides."
对现代技术与CRT结合的诗意表达
- 认为用现代工程知识复兴CRT的模拟效果具有诗意。
- 引用:"There's something deeply poetic...warm, fuzzy glow of an analog CRT."
对其他项目的兴趣
- 对RP2350的新功能(如HSTX单元)表示关注,并分享相关项目链接。
- 引用:"The new HSTX unit is really well suited for rapid line coding."
总结保持了对不同观点的平衡,涵盖了技术细节、个人感受和项目改进建议。