面板功能说明.md 6.3 KB

音箱控制面板功能说明

LED 功能分配

索引 引脚 类型 功能 说明
0 PA1 反并联 低音音量段1(SW1) LED1
1 PB7 反并联 低音音量段2(SW1) LED2
2 PB6 反并联 低音音量段3(SW1) LED3
3 PB5 反并联 低音音量段4(SW1) LED4
4 PA0 反并联 低音音量段5(SW1) LED5
5 PB2 反并联 主音量段6(SW2) LED6
6 PB4 反并联 主音量段7(SW2) LED7
7 PB3 反并联 主音量段8(SW2) LED8
8 PA12 反并联 主音量段9(SW2) LED9
9 PB1 反并联 主音量段10(SW2) LED10
10 PA4 高电平点亮 输入源指示灯 LED11 (AUX=常亮, BT=灭, BT断开=1s闪)
11 PA8 反并联 电量灯1(正向)/灯2(反向) LED12
12 PA11 反并联 电量灯3(正向)/灯4(反向) LED13

电池电量 LED 状态表

控制原理

每个物理引脚控制两颗反并联LED,通过时间槽(1ms周期)分时复用实现独立控制:

  • 槽A(前0.5ms): ODR=1 → 正向灯亮/反向灯灭
  • 槽B(后0.5ms): 由 g_batSlotState 控制,要亮则 ODR=0,不亮则浮空输入(高阻态)

命名规则

代码/文档名 硬件 说明
灯1 LED12正向(PA8=高) 第1颗电量灯
灯2 LED12反向(PA8=低) 第2颗电量灯
灯3 LED13正向(PA11=高) 第3颗电量灯
灯4 LED13反向(PA11=低) 第4颗电量灯

g_batSlotState[0]=灯1, [1]=灯2, [2]=灯3, [3]=灯4

段位划分

电量范围 level 亮的灯
0% 0 全灭
1~24% 1 灯1
25~49% 2 灯1+灯2
50~74% 3 灯1+灯2+灯3
75~100% 4 全亮

状态表

状态 灯1(LED12正) 灯2(LED12反) 灯3(LED13正) 灯4(LED13反)
0% ·灭 ·灭 ·灭 ·灭
1~24% 不充电 ★常亮 ·灭 ·灭 ·灭
1~24% 充电 ✦1s闪 ·灭 ·灭 ·灭
25~49% 不充电 ★常亮 ★常亮 ·灭 ·灭
25~49% 充电 ★常亮 ✦1s闪 ·灭 ·灭
50~74% 不充电 ★常亮 ★常亮 ★常亮 ·灭
50~74% 充电 ★常亮 ★常亮 ✦1s闪 ·灭
≥75% 不充电 ★常亮 ★常亮 ★常亮 ★常亮
≥75% 充电未满 ★常亮 ★常亮 ★常亮 ✦1s闪
充满(100%) ★常亮 ★常亮 ★常亮 ★常亮
充电异常 ✦1s闪 ·灭 ·灭 ·灭

: 充满标志(g_chgFull==1)时不论是否在充电,4颗灯全亮常亮。

闪烁周期

  • 充电闪烁: 1s (500个1ms周期亮 + 500个1ms周期灭)
  • 充电异常闪烁: 1s

编码器功能

控件 引脚 功能 说明
SW_KEY PF3 音源切换 BT↔AUX循环,按下触发,松开生效
SW1编码器A PA5 低音音量- ITEM 0x0D
SW1编码器B PA6 低音音量+ 旋转方向
SW2编码器A PB0 主音量LR- ITEM 0x0C
SW2编码器B PA7 主音量LR+ 旋转方向
SW1_KEY PB8 清除回连 长按5s触发,ITEM 0x05
SW2_KEY PA15 快速静音 PGA_MUTE,旋转编码器恢复

变速调节

编码器根据旋转速度自动调整步进值:

速度 触发间隔 脉冲阈值 每次调节 适用场景
>800ms 4脉冲 1% 精细调节
300~800ms 2脉冲 2% 正常调节
<300ms 1脉冲 3% 快速跨越

音量LED显示

音量范围 0~100% 映射为 10 段 LED 显示(每段10%):

  • LED1~LED5: 低音音量(倒序从LED5→LED1逐级点亮)
  • LED6~LED10: 主音量LR(倒序从LED10→LED6逐级点亮)
  • 每颗灯两级(正向+反向),10段=5颗反并联LED

通讯协议 (UART2, 115200 8N1)

帧格式

AA CMD ITEM VALUE CRC    (5字节固定长度)
CRC = CMD ^ ITEM ^ VALUE

命令类型

CMD 方向 说明
0x01 面板→主板 读查询
0x02 面板→主板 写设置
0x81 主板→面板 上报
AA 主板→面板 写成功ACK(单字节)

写操作

用途 发送 成功回复
主音量 AA 02 0C PCT CRC AA
低音音量 AA 02 0D PCT CRC AA
切换蓝牙 AA 02 01 01 02 AA
切换AUX AA 02 01 02 01 AA
PGA解除静音 AA 02 07 01 04 AA
PGA静音 AA 02 07 02 07 AA
清除回连 AA 02 05 XX CRC AA

变化上报 (5字节简写)

触发
输入源/蓝牙/音频变化 AA 81 ITEM VALUE CRC
电量变化 AA 81 09 PCT CRC
充电状态变化 AA 81 0B STATUS CRC
主音量变化 AA 81 0C PCT CRC
低音变化 AA 81 0D PCT CRC

开机/查询全部上报 (24字节)

AA 81 0B
    01 [source]     — 输入源
    02 [bt_conn]    — 蓝牙连接
    03 [bt_audio]   — 蓝牙音频
    04 [dac_mute]   — DAC静音
    05 [reconn]     — 回连状态
    0C [vol_lr]     — 主音量%
    0D [vol_bass]   — 低音音量%
    07 [mute_sw]    — 静音开关
    09 [battery]    — 电量%
    0A [chg_full]   — 充满状态
    0B [chg_ing]    — 充电中
[CRC]

数据项定义

ITEM 名称 权限 值范围
0x00 查询全部 只读
0x01 输入源选择 读写 01=BT, 02=AUX
0x02 蓝牙连接状态 只读 01=已连接, 02=已断开
0x03 蓝牙音频状态 只读 01=播放中, 02=已停止
0x04 DAC静音 读写 01=解除, 02=静音
0x05 清除回连 只写 任意值
0x07 PGA静音开关 读写 01=解除, 02=静音
0x09 电池电量 只读 0~100
0x0A 充电充满 只读 0=未充满, 1=已充满
0x0B 充电中 只读 0=未充电, 1=充电中, 0xFE=异常
0x0C 主音量LR 读写 0~100
0x0D 低音音量 读写 0~100

上电流程

  1. 全亮(3秒): 所有LED全亮,同时每秒发一次查询全部
  2. 等待数据: 收到主板上报后立即更新各LED显示
  3. 进入主循环: 正常处理编码器/按键/协议通信
  4. 空闲查询: 30秒无操作自动查询一次保持同步