KT148A语音芯片的软件硬件调试注意事项分享

2025-04-26 14:26:37

1.芯片说明

芯片选用的是SOC方案,集成了一个16位的MCU,以及一个专门针对音频解码的aDSP,采用硬解码的方式,更加保证了系统的稳定性和音质。小巧的封装尺寸更加满足嵌入其它产品的需求

KT148A语音芯片的软件硬件调试注意事项分享

1.1 管脚说明

KT148A语音芯片的软件硬件调试注意事项分享

1、供电的注意事项:

(1)、建议给芯片的供电,做到5V供电,电压越高芯片驱动喇叭的功率也越高,声音也越大

(2)、如果是[3.3--4.2V]锂电池的场景,电源正极直接进芯片的8脚即可

(3)、如果是干电池的供电场景,电源正极也是直接进芯片的8脚

(4)、如果需要超低电压供电,如2V--3V之间的纽扣电池,建议芯片的7脚和8脚直接短路,再连接电源正极

2、快速测试说明:

==》芯片的是第4脚为测试脚,外接一个按键或者镊子对地触发一下,就会播放下一个语音

==》连接好扬声器,然后供电之后,就可以用第4脚对地测试了

1.2 GPIO电气特性

KT148A语音芯片的软件硬件调试注意事项分享

1.3 GPIO的内部特性

KT148A语音芯片的软件硬件调试注意事项分享

1.4 支持的一线指令

KT148A语音芯片的软件硬件调试注意事项分享

1.5 参考的程序-C代码

/*******************************************************************************

- 函数说明:一线通数据发送【注意调试的时候,用示波器或者逻辑分析仪看一下脉冲宽度】

- 隶属模块:内部

- 参数说明:dat = 待发送的数据

- 返回说明:无

********************************************************************************/

#define IO1_HIGH() JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT |= BIT(6);

#define IO1_LOW() JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT &= ~BIT(6);

void oneline_send_one_data(u8 dat)

{

u8 i = 0 ;

IO1_LOW() ;/*现将总线拉低*/

udelay(5000) ;/*延时6MS --- 这里就是发起通讯的起始信号*/

CPU_SR_ALLOC();//关中断--芯片不同,可能接口不同

OS_ENTER_CRITICAL();//关中断

for(i=0 ; i<8 ;i++){

if(dat & 0x01){

IO1_HIGH() ;

udelay(500);/*延时600us*/

IO1_LOW();

udelay(170) ;/*延时200us*/

}else{

IO1_HIGH() ;

udelay(170);/*延时200us*/

IO1_LOW();

udelay(500) ;/*延时600us*/

}

dat = dat >> 1 ;/*发送的时候,先发送最高位,再发送次高位,以此类推*/

}

IO1_HIGH() ;/*空闲时将该脚拉高即可*/

OS_EXIT_CRITICAL();//开中断

/*同时注意,芯片初始化的时候,请将信号脚拉高。*/

}

oneline_send_one_data(0x05);//对应播放第5段声音

4.1通讯举例F2--循环播放

void oneline_test_CMD_F2(void){

oneline_send_one_data(0x01) ;

udelay(20) ;/*延时25ms*/

oneline_send_one_data(0xF2) ;

udelay(20) ;/*延时25ms*/

} 实现的效果,就是第一段声音,循环播放,不停止。如果需要停止,可以发送FE指令

4.2 通讯举例F3--组合播放

void oneline_test_CMD_F3(void){

oneline_send_one_data(0xF3) ;

udelay(20) ;/*延时25ms*/

oneline_send_one_data(0x01) ;

udelay(20) ;/*延时25ms*/

oneline_send_one_data(0x02) ;

udelay(20) ;/*延时25ms*/

oneline_send_one_data(0x03) ;

udelay(20) ;/*延时25ms*/

} 组合播放第1段、第2段、第3段声音,依次按照顺序播放。如果需要停止,可以发送FE指令

同时,在组合播放的过程中,接收到新的组合播放数据,会停止当前组合播放,转去播放新的指令

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢