加载中…
个人资料
深圳市清月电子有限公司
深圳市清月电子有限公
新浪机构认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:44,716
  • 关注人气:11
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

KT148A语音芯片使用一线串口的使用方法,分为三步调试

(2022-09-26 14:29:09)
标签:

语音方案

语音芯片

语音ic

分类: KT148A
一、简介
KT148A是受主MCU控制的,使用的是单线通讯的方式,也就是俗称串口通信,注意不是UART通信,通信的协议也是非标准的,详细的可以看看芯片说明书
KT148A语音芯片使用一线串口的使用方法,分为三步调试



二、详细说明
2.1 我们给出的参考代码
#define IO1_HIGH() JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT |=  BIT(6);     //PA6输出高电平
#define IO1_LOW() JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT &= ~BIT(6);     //PA6输出低电平
void oneline_send_one_data(u8 dat) 
{
    u8 i = 0 ;
    IO1_LOW() ;
    udelay(5000) ;
    OS_ENTER_CRITICAL();//关中断--芯片不同,可能接口不同
    for(i=0 ; i<8 ;i++){
        if(dat & 0x01){
            IO1_HIGH() ;
            udelay(500);
            IO1_LOW();
            udelay(170) ;
        }else{
            IO1_HIGH() ;
            udelay(170);
            IO1_LOW();
            udelay(500) ;
        }
        dat = dat >> 1 ;
    }
    IO1_HIGH() ;
    OS_EXIT_CRITICAL();//开中断
   
}
程序调用的接口如下:
oneline_send_one_data(0x05);//对应播放第5段声音 
发不同的命令,就请对照详细的手册,有描述的,耐心看看 ,详细看看手册的章节三和章节四


2.2 参考波形图--逻辑分析仪

KT148A语音芯片使用一线串口的使用方法,分为三步调试

注意点:
1、起始信号一定不能低于6ms ,请严格按照这个去写程序
2、遇到问题,第一时间,请用工具,用工具,不要一开始就问我们怎么发数据了,没反应,很崩溃的
3、另外很多的工程师,可能不习惯于用逻辑分析仪,都喜欢拿示波器去量。真的实在是太痛苦了
只要是数字信号,推荐逻辑分析仪,不仅波形抓起来漂亮直观,抓数据的时间还长,

强烈推荐使用,老手请忽视
2.3 关于芯片待机5秒自动进入待机

1、由于芯片要兼容低功耗的应用,所以不得不设计一个低功耗的机制

2、芯片一旦进入空闲,计时超过5秒之后,自动待机,功耗为25uA左右。进入待机之后芯片所有的外设都是关闭的,包括busy脚也是弱上拉的状态

3、进入待机之后,芯片的data脚,设置的是下降沿唤醒,所以当主MCU发送数据的时候,为什么前面需要6ms的起始信号,很大一部分的原因,是因为芯片唤醒之后到正常读取一线的数据,中间需要大概2-3ms的时间 。所以起始信号一定要给足6ms



2.4 关于芯片低功耗的F0指令说明

1、如果需要芯片的功耗再低,则需要发送F0指令,任何状态下都可以

2、芯片接收到F0指令之后,就会进入关机状态,功耗维持在1.7uA左右
3、如果需要芯片再次接收指令,必须先将dat信号拉低40ms,让芯片被唤醒,再发送数据就可以了
==》这里的主MCU发送40ms的低电平之后,再紧接着将data脚拉高就可以了
==》此时如果需要发指令,就再延时个15ms就可以了,合计也就是65ms左右了




0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有