一、功能简介
KT148A肯定是支持串口的,有客户反馈使用一线还是不方便,比如一些大型的系统不适合有延时的操作,所以更加倾向于使用uart控制,这里我们也给出解决方案
延伸出来另外一个版本,KT158A
注意次版本芯片还是KT148A。但是使用上从原来的一线串口控制,更换为串口uart控制
也就是芯片相同,但是出厂烧录的固件不同而已
- 下载语音的方式,还是和以前一模一样,但是不需要短路5脚到地了
- 芯片的功耗,没有低功耗的处理了,默认就是不播放4mA的电流,需要低功耗请使用mos管控制电源的方式 。芯片的脚位定义有变化
联系我们,拿对应的KT158A的样品,备注一下:KT158A_V15_8BE8_串口uart版本
1、KT158A的简单测试,原理图如上所示
2、将芯片的5脚对地,上电,则是全部循环播放KT158A内置的所有语音,这个方便客户测试硬件
然后需要播放,就只能发送对应的串口指令去控制
3、KT158A的busy引脚,也就是IO3=PB0,对应的是busy输出,播放输出低电平,空闲输出高电平
4、其他所有的细节,都和之前的KT148A=一线串口版本一致
- 控制指令说明
2.1 控制指令--波特率是115200
CMD命令 | 对应的功能 | 参数(16位) |
0x01 | 下一曲 | |
0x02 | 上一曲 | |
0x03 | 指定曲目(NUM) | 和一线串口逻辑一致 |
0x04 | 音量+ | |
0x05 | 音量- | |
0x06 | 指定音量 | 音量是不记忆的 |
0x08 | 单曲循环指定曲目播放 | 和一线串口逻辑一致 |
0x0C | 芯片复位 | |
0x0D | 播放 | |
0x0E | 暂停 | |
0x11 | 指定当前的设备全部循环播放 | |
0x16 | 停止 | |
0x21 | 组合播放 |
2.2 通讯指令举例
命令类型 | CMD命令 | 参考指令 | 指令说明 |
控制指令 | 0x01 | 7E 01 00 02 00 00 EF | 下一曲 |
0x02 | 7E 02 00 02 00 00 EF | 上一曲 | |
0x03 | 7E 03 00 02 00 64 EF | 指定曲目(NUM) -- 播放第100段 | |
0x04 | 7E 04 00 02 00 00 EF | 音量+ | |
0x05 | 7E 05 00 02 00 00 EF | 音量- | |
0x06 | 7E 06 00 02 00 0A EF | 指定音量 -- 取值范围[0--30] --指定为10级 | |
0x08 | 7E 08 00 02 00 01 EF | 单曲循环指定曲目播放 -- 循环播放第1段 | |
0x0C | 7E 0C 00 02 00 00 EF | 芯片复位 | |
0x0D | 7E 0D 00 02 00 00 EF | 播放 | |
0x0E | 7E 0E 00 02 00 00 EF | 暂停 | |
0x11 | 7E 11 00 02 00 01 EF | 指定内置音乐全部循环播放 | |
0x16 | 7E 16 00 02 00 00 EF | 停止 | |
0x21 | 7E 21 00 04 01 01 03 02 EF | 组合播放-01号、01号、03号、02号组合播放 | |
0x43 | 7E 43 00 02 00 00 EF | 查询当前音量 | |
0x46 | 7E 46 00 02 00 00 EF | 查询当前的版本 | |
0x4A | 7E 4A 00 02 00 00 EF | 查询内置的spiflash总文件数 | |
0x4E | 7E 4E 00 02 00 00 EF | 查询内置的spiflash当前的文件 | |
0x62 | 7E 62 00 02 00 00 EF | 查询当前设备的总文件数 |
三、使用注意事项
1、下载语音,就不需要芯片的5脚对地上电了,任何时候都可以点击软件进行下载
2、芯片没有低功耗的机制了,永远是正常工作状态,未播放是4mA的电流
3、软件测试举例如下:
4、测试的硬件举例如下: