硬件设计手册(音乐固件)
BP1032A2硬件IO定义设计手册/规范/注意事项
BP1032 VerA固件功能概要
该固件又称为音乐固件,在BP1032中,公版暂时只提供这一种固件
- 3通道(左右+混合)通道输出,可用作1.1/2.0/2.1系统
- 1路MIC输入(支持1路MIC通话)
- 1路AUX立体声有线音频输入
- 1路光纤音频输入*(需定制启用)
- USB/U盘输入
- 红外遥控输入
- 1路编码器输入,可用于控制音乐音量
- 1路POWERKEY通道,支持软开关机和6个按键
- 1路BAT_ADC检测通道,用于检测电池电压
- 1个普通LED信号输出
- 1路WS2812B信号输出,最大支持255个RGB灯,支持自定义灯效
- 1个AUX插入检测,支持插入自动切换模式
- 1个功放静音控制输出
手册更新日志
2025-08-16 BP1032A2硬件设计手册编写
芯片介绍
一共33个引脚(含EPAD),13个GPIO
功能就那么多,都写在文档里了,用到什么功能取决于具体需求
芯片本身的更多介绍请参见BP1032A2数据手册.pdf,里面包含引脚定义和详细参数
原理图概览

提示
原理图中LDOIN电源输入的二极管,是为了在5V供电下降压防止芯片太烫用的,如果直接使用电池直连给1032供电,或者使用3.3V电源供电,请去掉这个二极管
基础公用部分芯片设计
BP1032芯片的基础电源域,模拟音频输出域(DACL、DACR、DACX)、天线、USB设计,无论哪种固件,这些脚的连线均一致,因此请查看基础公用部分硬件设计文档
模拟音频输入(AUX输入)
引脚定义
| 引脚 | 功能 |
|---|---|
| 23(GPIOB0) | 音频 R 右声道输入 |
| 22(GPIOB1) | 音频 L 左声道输入 |
| 16(GPIOA16) | AUX插入检测,拉低代表插入,如果不需要检测直接连接到地 |
参考电路
关于插入检测,请自行研究你购买的耳机头结构,然后看情况调整

麦克风输入
音乐固件只支持一个麦克风1作为蓝牙通话的麦克风输入,如果需要使用蓝牙通话,请连接麦克风并前往蓝牙APP-设备参数配置中开启蓝牙通话
引脚定义
| 引脚 | 功能 |
|---|---|
| 26 | 麦克风1 |
参考电路

控制
一组POWER_KEY(6个),共支持6个按键+1个编码器,按键支持双击 单击 长按 功能
引脚定义
| 引脚 | 功能 | 说明 |
|---|---|---|
| 5 | POWER_KEY | 内部包含上拉电阻,不用的话请悬空,不要连接到GND或电源上 |
| 14(GPIOA6) | 编码器A端 | / |
| 13(GPIOA5) | 编码器B端 | / |
编码器
注意是编码器,不是电位器,可以无极旋转的那种是编码器,拧了几下就到底的是电位器
一些编码器自带按键,可以将这个按键作为K1使用(比如图中E和D脚为按键两端),这样基本上一个编码器能搞定所有常用操作了,参考电路如下


功能定义
音乐音量控制
POWER_KEY通道
参考设计,无需外挂分压电阻,至于K1为什么没了,因为被放到编码器那边当开关去了,需要单独把K1放到这里的话,依样画葫芦电阻换成100Ω的即可
注意
注意:如果不使用POWER_KEY脚的话请悬空,不要连接到地或者LDOIN

功能定义
| 按键 | 短按功能 | 长按功能 | 备注 | 阻值 |
|---|---|---|---|---|
| K1 | 模式切换 | 开关机 | 双击支持TWS配对(蓝牙模式下)/FM搜台(收音机模式下) | 100Ω |
| K2 | 音量减 | 上一首 | 16KΩ | |
| K3 | 音量加 | 下一首 | 27KΩ | |
| K4 | 切换音效配置 | 断开蓝牙连接 | 43KΩ | |
| K5 | 静音 | 断开蓝牙连接 | 82KΩ | |
| K6 | 音乐播放/暂停 | 播报电池电量 | 220KΩ |
警告
注意事项:POWER_KEY的对地100nF电容用于按键消抖,不可省略。此外K1按键串的100Ω电阻正常情况下不可省略
红外遥控
红外接收为NEC固定码,采用淘宝上贼便宜的遥控器作为示例码库,如果需要定制,请联系我,目前适配的遥控器链接如下:
21键 红外遥控器 38khz 蓝牙MP3解码板USB读插卡音响音箱遥控器 非常便宜还包邮带电池
红外接收头可以采用任何三条腿带内置IC的接收头,比如VS/HX1838等,不支持直接使用两条腿的红外二极管
电路很简单,参考如下

引脚定义
| 引脚 | 功能 | 说明 |
|---|---|---|
| 24(GPIOB6) | 红外遥控输入信号 | / |
功能定义
| 遥控器按键 | 短按功能 | 长按功能 | 红外码(NEC4bit前两位) |
|---|---|---|---|
| 电源 | 电源关机(不支持开) | 电源关机(不支持开) | 0xBA |
| MODE | 模式切换 | / | 0xB9 |
| 静音 | 静音/取消静音 | / | 0xB8 |
| 播放/暂停 | 播放/暂停 | 播报电池电量 | 0xBB |
| 上一首 | 上一首 | 上一首 | 0xBF |
| 下一首 | 下一首 | 下一首 | 0xBC |
| EQ | 音效模式 | / | 0xF8 |
| VOL- | 音量减 | 音量减 | 0xEA |
| VOL+ | 音量加 | 音量加 | 0xF6 |
| 0 | 音乐高音加 | 音乐高音加 | 0xE9 |
| RPT | REPEAT | / | 0xE6 |
| CLOCK | / | 蓝牙连接控制(一般用于主动断开蓝牙) | 0xF2 |
| 1 | 音乐高音减 | 音乐高音减 | 0xF3 |
| 4 | 音乐低音加 | 音乐低音加 | 0xF7 |
| 7 | 音乐低音减 | 音乐低音减 | 0xBD |
虽然定义看起来有点乱,但是我也没钱去定制遥控器,不会有比两块钱一个更便宜的遥控器了,所以只能拿数字键凑合功能,主打一个有总比没有好,其实看图就会发现规律,一般用几次就能记住了

提示
关于调节高音低音:
这里面所说的高音低音都是默认定义,实际上是映射到EQ上的,观察下默认EQ就可以发现有两个点分别对应高音和低音,假如你改了自定义EQ,那么那两个点将会被映射到你自定义EQ上的点,也可以利用这个特性来利用这个功能来操作EQ
电池电压监测
芯片内置12bit ADC(0-4096),普普通通,需要外挂分压电阻
仅支持标准3.7V的锂电池测量,不支持磷酸铁锂/铅酸电池,不过虽然说不支持,但是仍然可以使用电量播报功能直接播报电压,只不过无法计算出百分比罢了
需要分压电阻规格如下(量程0-26V最大6串锂电池),精度必须要小于等于1%,否则因为电阻带来的误差自己负责:
R1(连接到电池端):47KΩ
R2(连接到地):6.8KΩ
串数出厂时默认配置为1-4串电池自动检测,假如超过4串或者不需要检测,需要在蓝牙APP-设备参数配置中手动配置
| 引脚 | 功能 |
|---|---|
| 28(GPIOA20) | 电池电压检测 |
参考电路
电路很简单,上面直接连接VBAT即可,注意R36两端电压不要超过3.3V,超过可能会烧芯片

注意事项
- 预定义的分压电阻阻值较大,ADC本身测量时就会有±3mv的波动,在测量单节锂电池时1mv的波动可能会造成0.0几伏的检测波动,因此这是正常的误差,如果介意的,需要修改更小的分压电阻以降低量程来换取更高的精度,联系我定制固件
- 开机瞬间ADC的测量值会偏低,我在软件中已经增加了补偿,尽管如此还是有很小的概率会造成开机时测量不准确,开机之后就会恢复正常
- 电量百分比是通过电压值计算而来,没有库仑计也没办法精确计算,目前的电量曲线是根据力神动力电池的放电特性来的,其他动力电池的曲线大差不差,因此稍微有点误差属于正常,如果需要定制曲线可以联系我
- 如果测量线与功放供电共用的话,功放大功率瞬间把电池电压拉低引起检测值偏低的情况也属于正常,主控检测的速度非常快,这种压降拿普通电压表测不出来的,我已经在软件中做了60个窗口取平均值以尽可能获得准确的电量,所以尽量采用内阻低的电池和降低线阻,在PCB布线时可以直接从电源输入处引一条线到测量电路
- 测量电路本身会耗电,毕竟两个电阻,所以在设计软开关时需要把这一点考虑到,不要不经过开关直接连接到测量电路了
- 山景蓝牙底层不支持精确到百分比1,因此返回的电量为十的倍数,四舍五入后的电压,范围为10%-100%
关于误差
简单测试了一下误差,非专业仪器,仅供参考

功放静音脚
支持控制功放关断/开启,无声音时自动关闭功放以达到省电和降低底噪的目的,开机时用于消除POP音,一般连接到功放的MUTE脚
软件逻辑为:静音时关断(低电平),播放时开启(高电平),支持定制反转,不过正常情况下你加个三极管反转下就可以了
引脚定义
| 引脚 | 功能 |
|---|---|
| 17(GPIOA17) | 功放静音控制 |
提示
就算不使用这个静音脚功能,芯片在启动和关闭时也仅有很小的POP音(升级固件和硬断电时除外),因此如果你的设计中存在非常大的开机POP音,请检查别的电路和元件,这种情况下和芯片没有关系
LED
软件定义了一个万能LED作为指示灯输出,支持显示蓝牙状态,播放状态,按键反馈等
引脚定义
| 引脚 | 功能 |
|---|---|
| 21(GPIOA31) | 万能LED+ |
IO输出方式为高电平亮 低电平灭 参考电路如下,电阻决定亮度,IO驱动能力为6MA

RGB
本设计使用WS2812作为RGB灯输出,最大支持串255个灯珠并可以独立控制,刷新率25fps左右
使用这个首先建议了解WS2812B的工作方式,简单看一下,了解为什么一条线就能支持那么多LED即可
https://blog.csdn.net/Xhw3f586/article/details/132295552
虽然输出就一个引脚,但是区分了两种LED:主LED(支持状态显示/电量等)和拓展LED(能量灯/电量/百分比等)
软件中定义第一个LED永远都是主LED,剩下的LED作为拓展LED使用
目前软件中定义为8个(1+7)灯珠,如果需要修改的话请使用蓝牙APP-RGB配置自行配置
如果只需要主LED,连接一个即可,主灯的功能可以完全代替普通LED
如果只需要拓展LED,必须经过一个主LED后才能得到拓展LED所需的信号,一般很少用这种场景,真要这样的话就板载一个WS2812作为信号处理吧
注
不同型号灯珠数据手册上的时序其实并不一样,但是B站有博主测过,其实支持的范围很广,所以按理只要是个WS2812B就能正常工作,不排除极小概率下有些神奇的厂家搞出来的阴间灯珠不能用或者显示异常,软件中定义的0码高电平为300ns,1码高电平为900ns,参考下即可 一般都能用
引脚定义
| 引脚 | 功能 |
|---|---|
| 6(GPIOA0) | WS2812B RGB数据 |
参考电路

默认颜色/模式说明
主指示灯
支持在蓝牙APP-RGB配置中自定义每种模式的颜色
| 颜色/模式 | 含义 |
|---|---|
| 任意颜色呼吸灯 | 当然正在播放音乐/麦克风声音 |
| 蓝灯常亮 | 蓝牙模式且蓝牙已连接并没有播放音乐 |
| 蓝灯闪烁 | 蓝牙模式且蓝牙未连接处于等待配对状态 |
| 紫色 | U盘播放/USB播放 |
| 粉色 | 同轴/光纤/I2S播放 |
| 橙色 | AUX线路输入播放 |
| 白色/灭 | 开机或空闲 |
| 青色(浅蓝色) | TWS从机模式 |
| 电量播报 | 绿=>红渐变,代表电量100%=>10% |
拓展指示灯
支持在蓝牙APP-RGB配置中自定义灯效和颜色
| 颜色/模式 | 含义 |
|---|---|
| 能量灯(默认) | 当前播放的音乐/麦克风声音能量 |
| 白色百分比 | 音乐当前音量,仅在触发音乐音量调节时显示 |
| 电量播报 | 百分比+颜色形式展示 |
POWER_ON电源开信号(必读)
芯片会在正常上电之后将这个脚拉高,可以用来用作电源指示灯或者软开关的MOS/三极管控制脚
默认情况下,芯片上电不会自动启动,而是需要长按POWER_KEY之后才会开机
注意
如果需要来电自启,请将这个引脚直接连接到地,芯片会在上电时自动启动,当然手动关机,开机功能仍然可以使用
引脚定义
| 引脚 | 功能 |
|---|---|
| 15(GPIOA15) | POWER_ON信号输出 |
警告
如果连接到外部MOS/灯等使用的话,必须在输出串一个100Ω以上的电阻,要不然上电的一瞬间把这个引脚拉低的话会被认为是来电自启模式而造成不符合预期的现象