PERSONAL PROJECT / 个人项目
CH32 Project
用一颗小型 RISC-V MCU 探索声音与状态表达:从音乐事件引擎,走向尚在起步的工作状态指示。
- 作者
- Aquifers
- 当前范围
- Waves 音高实测 · Master 工程基线
- 技术
- C · CH32V003 · RISC-V · MounRiver Studio · PWM · USART
小型 MCU,声音与状态的两种表达
CH32 Project 把两段相近的探索放在一起:Waves, Modulation & Chant 希望用 CH32V003 做具有 8-bit / chiptune 性格的音乐硬件;Master, Cast Thy Gaze 希望把 Codex 的工作状态变成可以感知的硬件提示。
两者共享 CH32V003F4P6、RISC-V C 工具链、MounRiver Studio 与 WCH-LinkE 开发方式,分别探索定时输出和主机通信。它们目前是独立工程,完成度并不对称,也还没有合并成一个运行系统。
Waves, Modulation & Chant
从固定波形到音乐事件
Waves 已实现一个最小、自动循环的单声部 musical event engine。TIM1_CH1 在 PD2 输出 hardware PWM,音高通过整数频率换算得到;TIM2 提供 100 Hz / 10 ms 的 music tick,音符切换在前台处理,不依赖累计 blocking delay。
当前音域为 C2–B6,采用 A4 = 440 Hz 的十二平均律。pitch 与 duration 的事件表示包含明确的 rest,工程测试乐句由音符与休止组成。rest 在实现上保持定时器运行、将 CCR1 置零;如果预期系统时钟不成立,固件不启用输出。
这是可检查的数字波形与音乐调度基础,还不是一台已经验证可听输出的播放器。
两个音高的硬件观察
| 音高 | 理论频率 | 硬件观察 |
|---|---|---|
| C4 | 约 261.643 Hz | 与理论值基本一致 |
| C5 | 约 523.286 Hz | 与理论值基本一致 |
此前固定 1 kHz PWM 基线也已有物理验证。C4/C5 是当前事件引擎的另外两点证据,不能把旧基线或这两个音高外推成完整音乐行为已经通过。
没有记录误差或占空比的具体实测读数,因此这里不宣称 ppm 级精度。E4/G4、rest 电平、事件时长、3.600 秒乐句循环、长时调度和转音波形仍待测量;功放、扬声器和可听音乐尚未验证。
Modulation 仍是开放方向
pulse-width、envelope、多声部、固定高频 PWM 合成与 DMA 都还处于候选或目标阶段,没有写成现有能力。当前最重要的是从确定的音高继续建立可量测的时间与音色行为;最终 synthesis、storage、模拟输出和物理形态仍未冻结。
Master, Cast Thy Gaze
Master 希望把主机上不容易持续盯住的工作状态带到桌面硬件上。它与 Waves 的音乐表达方向可以在未来相遇,但状态集合、通信方向、提示方式和集成协议尚未确定。
目前保留的是 WCH/MounRiver Studio 的 USART polling template:配置 USART1,启动时输出系统时钟与 chip ID,收到一个 byte 后回送取反值。这里的模板是开发起点,不是我的原创状态指示功能。
工程已有命令行构建记录;尚无板上下载、串口行为或状态指示的实机证据。Codex status protocol、RGB/effects 和 PC-side integration 都未实现,不能把模板能编译等同于 Master 已经工作。
共同的计划与目标
Waves 先建立可量测的声音表达,Master 从主机状态与硬件提示的边界起步。它们适合放在同一个 CH32 Project 中,作为小型 MCU 输出、调度与交互的两个 chapter。
未来可以探索把工作状态与声音/指示组合进同一系统,但这是尚未实现的汇聚方向,不是既定架构或承诺的时间表。当前应先分别补齐音乐链路的测量与状态协议的真实需求,再判断怎样连接两者。
目前没有可公开的自有实物或示波器图片;以上测量以文字汇总呈现,不用理论波形图冒充实测,也不以厂商资料作为作品素材。
Aquifers 的个人项目;WCH 示例与工具链属于开发基础,不作为个人成果展示。源码、仓库链接和厂商原始资料不在本页提供。