0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KT148A语音芯片ic的软件参考代码C语言

清月电子 来源:清月电子 作者:清月电子 2022-07-03 09:11 次阅读

3.一线通讯协议
目前芯片支持一线串口通讯协议,采用的也是高低电平时间宽度来确定0或者1 。
3.1 通讯格式

poYBAGLAB4eAIUdkAACCaTem8Wk361.png


注意:必须高电平在前,低电平在后。
推荐使用 200us:600us。取值范围:窄脉冲=[150us--400us] 宽脉冲[500us--1000us]
注意使用 3:1 和 1:3 电平比例以保障通讯稳定。
注意起始的6ms低电平,初次调试时,尽量用示波器或者逻辑分析仪看一下,误差在10%左右都能接受
1、0x00H到0xDFH为声音地址码或定义功能码。
2、0xFE为语音停止码,发送该命令可以停止播放语音。
3、编码之间的间隔须大于20ms


3.2 通讯指令

pYYBAGLAB5GAUkPkAAB545bCU8c502.png

4.参考例程
/*******************************************************************************
- 函数说明:一线通数据发送【注意调试的时候,用示波器或者逻辑分析仪看一下脉冲宽度】
- 隶属模块:内部
- 参数说明: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指令
同时,在组合播放的过程中,接收到新的组合播放数据,会停止当前的组合播放,转去播放新的指令

4.3 通讯指令F0描述【超低功耗】


1、专用于芯片进入超低功耗,因为芯片在播放结束之后,会自动进入待机状态,功耗维持在25uA 。
2、如果需要芯片的功耗再低,则需要发送F0指令,任何状态下都可以
3、芯片接收到F0指令之后,就会进入关机状态,功耗维持在1.7uA左右
4、如果需要芯片再次接收指令,必须先将dat信号拉低40ms,让芯片被唤醒,再发送数据就可以了
4.4 通讯细节注意事项
1、控制MCU上电之后,第一时间就要将通讯IO,也就是ONELINE脚设置为高电平输出
2、尽量和KT148A芯片的通讯之间,串1K的电阻,来适配不同的电平
3、芯片的2脚PB9,在播放的时候,电压大概是3.1V左右 。一旦进入空闲状态,此IO会变成2.8V左右
因为芯片内部有一个空闲进入低功耗待机的机制。
审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50199

    浏览量

    420723
  • 通讯协议
    +关注

    关注

    10

    文章

    265

    浏览量

    20309
  • 串口控制
    +关注

    关注

    0

    文章

    25

    浏览量

    9847
收藏 人收藏

    评论

    相关推荐

    KT148A-SOP8语音芯片接收到一线串口指令到播放声音大概多长时间

    请问KT148A-SOP8语音芯片接收到一线串口指令,到播放出来声音,大概需要多长时间 我的需求是做按键提示音,初测了一下感觉有延时,这个要如何处理 KT148A从接收到指令,到执
    的头像 发表于 06-21 11:55 458次阅读
    <b class='flag-5'>KT148A</b>-SOP8<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>接收到一线串口指令到播放声音大概多长时间

    KT1025A双模蓝牙芯片设置参数后搜不到蓝牙信号,如何分析呢

    为什么我使用BT201的KT1025A双模蓝牙芯片,设置了参数之后,搜不到蓝牙信号了,是什么问题呢?可能是硬件还是软件的问题?
    的头像 发表于 06-05 11:49 560次阅读
    <b class='flag-5'>KT1025A</b>双模蓝牙<b class='flag-5'>芯片</b>设置参数后搜不到蓝牙信号,如何分析呢

    KT142C语音芯片下载语音过连接电脑PC的usb虚拟成U盘拷贝

    KT142C-sop16语音芯片,下载语音是连接电脑PC的usb虚拟成U盘直接拷贝 内置的是320K的空间,但是实际的大小,在电脑里面显示,应该是315Kbyte。 打开我的电脑,
    的头像 发表于 06-03 10:46 366次阅读
    <b class='flag-5'>KT142C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>下载<b class='flag-5'>语音</b>过连接电脑PC的usb虚拟成U盘拷贝

    KT142C-sop16语音芯片,插上usb,出不来虚拟U盘怎么办

    KT142C-sop16语音芯片芯片,我直接焊到我的板子上面,插上usb,但是出不来虚拟U盘怎么办?
    的头像 发表于 05-23 10:50 397次阅读
    <b class='flag-5'>KT142C</b>-sop16<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>,插上usb,出不来虚拟U盘怎么办

    KT142C语音芯片工作电压多少?电流是多少?串口波特率多少?多大的喇叭?

    KT142C-sop16语音芯片ic工作电压多少?电流是多少?串口波特率是多少?支持多大的喇叭?
    的头像 发表于 05-23 09:45 407次阅读
    <b class='flag-5'>KT142C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>工作电压多少?电流是多少?串口波特率多少?多大的喇叭?

    KT148A语音芯片串口版本播放音乐的时候,直接导致单片机工作异常

    在使用你们KT148A串口版本播放音乐的时候,直接导致单片机工作异常,测了一下供电发现每次播放音乐的时候,供电会有很大波动。看了一下你们的手册,说是带载能力不够,但是我把供电接出来,接到你们的测试板上时,单片机又正常工作了
    的头像 发表于 05-07 10:50 426次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>串口版本播放音乐的时候,直接导致单片机工作异常

    KT148A语音芯在智能锁语音提示的优势在哪里成本还是性能

    智能锁,已经广泛的应用于生活的各个场景,确实是一个好产品,我自己都在用,也很方便 而锁基本上都搭配有语音芯片或者蜂鸣器,低端的产品都是蜂鸣器,中端的产品基本都搭配语音芯片 而智
    的头像 发表于 01-16 17:50 492次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b>芯在智能锁<b class='flag-5'>语音</b>提示的优势在哪里成本还是性能

    KT148A语音芯片智能锁扩展语音地址以及如何支持大量小文件的打包

    ,所以使用KT148A-sop8的flash型语音芯片就是最优的解决方案 解决KT148A语音芯片
    的头像 发表于 01-16 11:52 430次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>智能锁扩展<b class='flag-5'>语音</b>地址以及如何支持大量小文件的打包

    KT1404C语音芯片为什么用着用着,声音就变大了,发指令设置音量?

    有客户反馈,使用KT404C语音芯片,每次主板上电的时候,都会发指令将音量设置为20级,但是实际到使用现场,就会有终端的客人反馈,机器的音量变大了,这个是什么情况呢,该如何分析这个问题呢?
    的头像 发表于 11-29 16:55 344次阅读
    <b class='flag-5'>KT1404C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>为什么用着用着,声音就变大了,发指令设置音量?

    KT1404C语音芯片做的板子连接usb到电脑出来空的盘符 怎么处理?

    KT1404C画的板子,连接usb到电脑,出来空的盘符,可以确定KT404C没问题放别的板子OK,就是这个板子不正常,并且芯片5脚的电压输出是3.5v ,正常的板子是3.3v,什么问题呢?
    的头像 发表于 11-29 15:55 455次阅读
    <b class='flag-5'>KT1404C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>做的板子连接usb到电脑出来空的盘符 怎么处理?

    KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网

    KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网 在线下载的mp3语音芯片ic
    的头像 发表于 11-23 11:22 827次阅读
    <b class='flag-5'>KT404A</b>远程更换<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>方案支持OTA 4G 蓝牙 wifi 物联网

    KT404A语音芯片U盘更新语音方案说明

    KT404A语音芯片用U盘更换语音文件,适用于广告机、提示器等等场景 为了满足客户不方便使用PC电脑端更新,我们在KT404A
    的头像 发表于 11-22 10:57 709次阅读
    <b class='flag-5'>KT404A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>U盘更新<b class='flag-5'>语音</b>方案说明

    KT142C语音芯片拷贝到KT142C内部就乱码的解决方法

    KT142C语音芯片客户反馈电脑端的配置文件,打开都正常,但是拷贝到KT142C内部就乱码 首先解释一下原理,KT142C内置的330
    的头像 发表于 11-21 15:23 480次阅读
    <b class='flag-5'>KT142C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>拷贝到<b class='flag-5'>KT142C</b>内部就乱码的解决方法

    KT148A语音芯片使用串口uart本控制的完整说明_包含硬件和指令举例

    次版本芯片还是KT148A。但是使用上从原来的一线串口控制,更换为串口uart控制 也就是芯片相同,但是出厂烧录的固件不同而已 1、下载语音的方式,还是和以前一模一样,但是不需要短
    的头像 发表于 11-17 09:05 652次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>使用串口uart本控制的完整说明_包含硬件和指令举例

    KT148A语音芯片的下载用的是串口,测试可以直接串口发指令控制吗?

      KT148A语音芯片的下载用的是串口,那我实际测试是不是可以直接串口发指令测试控制?就不用单独写程序去模拟一线串口的时序了
    的头像 发表于 11-14 14:21 652次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>的下载用的是串口,测试可以直接串口发指令控制吗?