跳到主要内容

AVR DuoChord

本页描述 ATmega32U4 + nRF51822 DuoChord 模块(简称 DuoChord)的公共操作与 限制,适用于 G60、Kamilia、Command65、Manta 40s(Hotswap/Solderable/Ortho) 和 Skog Reboot 的 DuoChord 后端。

DuoChord 与 Bluefruit 使用不同的 UART 协议和槽位管理,固件不互通。从 Bluefruit 首次迁移到 DuoChord 必须按固定顺序操作,见 旧版 BLE 固件 → DuoChord 首次迁移

工作原理

  • AVR(ATmega32U4)负责矩阵扫描与键盘状态。
  • nRF51822 模块负责 BLE 无线传输,AVR 通过 UART 以二进制帧协议控制模块。
  • 模块支持五主机槽位(BLE1 ~ BLE5)、配对、状态查询和 OTA。

五槽位

DuoChord 维护 5 个 BLE 槽位:

键名功能
BLE1 ~ BLE5切换到对应槽位;空槽保持静默,不强制广播
PAIR清理当前槽位旧配对后开放配对
CLR清除全部 BLE bonds 和槽位选择
PAR进入配对(与 PAIR 等价的操作入口)
RST重置模块/恢复默认状态
TOG在 USB 与最近无线通道之间切换
USB切换到 USB 模式

配对

  1. 切换到目标槽位(BLE1 ~ BLE5)。
  2. PAIR 进入配对模式(模块会先清理当前槽位旧 peer/orphan)。
  3. 在主机上搜索并连接。
  4. 配对完成后,该槽位绑定当前主机。

CLR 清除全部配对记录与槽位选择,清除后所有槽位都需要重新配对。

OTA 边界

  • DuoChord 支持 nRF application 的 OTA(通过 DfuTarg 模式)。
  • OTA 只更新 application,不更新 SoftDevice、bootloader、UICR 或 settings。
  • 日常更新 nRF application 时使用左右 Shift + F 二次确认入口进入 DfuTarg, 然后执行 OTA。
  • 首次从 Bluefruit 迁移到 DuoChord 时,必须先刷 AVR DuoChord 固件,再进入 DfuTarg,不能跳过迁移流程直接刷 nRF 包。

限制与注意事项

  • 槽位状态与配对信息保存在模块内;恢复 AVR 固件通常不丢失,但升级后可能 需要重新配对个别设备。
  • DuoChord 的 binary 协议不支持 Bluefruit 的 AT 文本命令,反之亦然。
  • 进入 DfuTarg 后 OTA 失败时,先换数据线并确认 OTA 包与 PCB 匹配。

故障排查入口