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左右
因为芯片内部有一个空闲进入低功耗待机的机制。
审核编辑:汤梓红

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

    关注

    462

    文章

    53539

    浏览量

    459160
  • 通讯协议
    +关注

    关注

    10

    文章

    294

    浏览量

    21332
  • 串口控制
    +关注

    关注

    0

    文章

    27

    浏览量

    10049
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KT148A语音芯片坏片原因分析 阻抗 供电脚异常及硬件改良方案

    文档围绕6pcs KT148A语音芯片展开: 测试后 1pcs 正常(误判),5pcs 物理损坏,烧写器报 E37(读不到 flash id)。阻抗对比测试显示,异常芯片 8 脚(供
    的头像 发表于 12-01 16:38 289次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>坏片原因分析 阻抗  供电脚异常及硬件改良方案

    充电桩场景下KT148A语音芯片 7、8脚喇叭接口烧坏问题及防护方案

    在充电桩这一存在大电流充电产生浪涌、电磁干扰的复杂应用环境中,KT148A 芯片的7、8 脚(喇叭接口) 因外部浪涌出现明显烧坏的物理损坏问题,解决方案为在设计阶段做好防护:一是给喇叭输出增加 LC
    的头像 发表于 10-09 15:17 644次阅读
    充电桩场景下<b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b> 7、8脚喇叭接口烧坏问题及防护方案

    KT148A语音芯片发码很难播放,将4脚对地一下再发正常,什么原因?

    KT148A 这颗芯片, 我们上电后发码很难触发播放, 但用镊子将4pin PB0对地短接触发一下,再发码就很正常,这是什么原因?
    的头像 发表于 07-02 17:12 601次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>发码很难播放,将4脚对地一下再发正常,什么原因?

    KT148A-SOP8 芯片:从 OTP 痛点到 Flash 革新的语音芯片选型指南

    SOP8 封装的语音芯片作为行业经典形态,长期占据消费电子语音提示场景的主流市场。其技术源头可追溯至台系原厂的早期布局,佑华、九齐、硕呈等厂商凭借 4 位机技术在玩具语音领域奠定基础。
    的头像 发表于 06-29 11:24 657次阅读
    <b class='flag-5'>KT148A</b>-SOP8 <b class='flag-5'>芯片</b>:从 OTP 痛点到 Flash 革新的<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>选型指南

    国产 KT148A 重复擦写语音芯片:420 秒存储 + 串口更换 + 1.5 元高性价比

    文档主要介绍国产可重复擦写语音芯片 KT148A。其为 32 位 DSP 语音芯片,采用 SOP8 封装,内置 420KByte
    的头像 发表于 06-23 14:14 838次阅读
    国产 <b class='flag-5'>KT148A</b> 重复擦写<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>:420 秒存储 + 串口更换 + 1.5 元高性价比

    SC5080B sop8语音芯片替代开发记录_KT148A flash型420秒

    SC5080B 封装是SOP8,客户反馈芯片已经停产,需要我们使用KT148A语音芯片,进行原有的芯片方案替代和升级,毕竟flash型的
    的头像 发表于 04-02 18:28 740次阅读
    SC5080B sop8<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>替代开发记录_<b class='flag-5'>KT148A</b> flash型420秒

    KT148A语音芯片的一线通讯起始信号6ms,一帧数据有几个起始信号

    请问KT148A语音芯片,我的mcu带有串口uart资源,可以用uart吗,还是必须用一线串口,一线串口的起始信号,一帧数据只需要一个起始=6ms,还是多个起始信号? 这里分为两个问题进行详细
    的头像 发表于 04-02 16:16 829次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>的一线通讯起始信号6ms,一帧数据有几个起始信号

    人行通道闸机语音播报flash型KT148A语音芯片效果演示420s空间

    语音芯片
    qyvhome
    发布于 :2025年03月30日 16:57:40

    KT148A语音地址是u8类型,只支持256个语音文件寻址 超了怎么办

    KT148示例给的语音地址是u8的数据,那总共只支持256个语音文件的寻址,假如后期要做多国语言的话,可能会超过256个寻址。。?怎么处理这个问题呢? 这个疑问我们也已经处理过了
    的头像 发表于 03-28 14:14 635次阅读
    <b class='flag-5'>KT148A</b>的<b class='flag-5'>语音</b>地址是u8类型,只支持256个<b class='flag-5'>语音</b>文件寻址 超了怎么办

    KT142C语音芯片支持的语音文件格式什么?Mp3还是wav呢?

    KT142C语音芯片支持音频格式是mp3,不支持wav格式,不支持WMA、flac等等 详细的可以看看KT142C的完整手册,描述如下: 1、为什么不支持wav,是有原因的,不是
    的头像 发表于 02-17 11:07 802次阅读
    <b class='flag-5'>KT142C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>支持的<b class='flag-5'>语音</b>文件格式什么?Mp3还是wav呢?

    KT148A语音芯片一个mp3语音,有办法分成一段一段的吗

    第一步:生成语音素材:到这一步,就实现了语音素材的生成,下载下来就是一整个mp3文件 详见KT148A资料包里面的文档说明 第二步:将需要的语音素材剪裁 使用的是Adobe
    的头像 发表于 01-22 16:11 866次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>一个mp3<b class='flag-5'>语音</b>,有办法分成一段一段的吗

    KT148A语音芯片一线串口和5V单片机MCU相连需要串电阻吗?

    KT148A语音芯片一线串口IO口,和5V的单片机或者MCU系统相连,需要串电阻吗? 串多大的电阻合适呢?
    的头像 发表于 01-20 09:40 1079次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>一线串口和5V单片机MCU相连需要串电阻吗?

    KT148A语音芯片的声音小,如何让喇叭声音变大?声音影响注意点

    声音的大小是一个系统的工作,KT148A本身驱动声音的能力是很大的,达到200mA,通过电流也可以看出来。所以一般8欧姆1w以内的,不需要考虑外挂功放 喇叭的选择原则上越大越好,视结构而定。 尽量选择纸盆类型的喇叭【某宝搜搜】,发声更清晰,更大,也就贵一点点而已
    的头像 发表于 01-10 09:53 1209次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>的声音小,如何让喇叭声音变大?声音影响注意点

    KT148A语音芯片的7脚VDDIO平时是2.8V,响语音时变成3.3V是为什么呢

    KT148A语音芯片的7脚=VDDIO,是KT148A芯片内部的LDO输出引脚,是芯片的电源输出
    的头像 发表于 01-04 11:11 1073次阅读
    <b class='flag-5'>KT148A</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>的7脚VDDIO平时是2.8V,响<b class='flag-5'>语音</b>时变成3.3V是为什么呢

    KT142C语音芯片的10脚VDDIO平时是2.8V 播放语音时变成3.3V的原因

    KT142C-SOP16语音芯片的10脚=VDDIO,是KT142C芯片的LDO输出引脚,是芯片
    的头像 发表于 01-03 11:36 1133次阅读
    <b class='flag-5'>KT142C</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>的10脚VDDIO平时是2.8V  播放<b class='flag-5'>语音</b>时变成3.3V的原因