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

3.一线通讯协议
   目前芯片支持一线串口通讯协议,采用的也是高低电平时间宽度来确定0或者1 。
3.1 通讯格式
注意:必须高电平在前,低电平在后。
推荐使用 200us:600us。取值范围:窄脉冲=[150us--400us]    宽脉冲[500us--1000us]
注意使用 3:1 和 1:3 电平比例以保障通讯稳定。
注意起始的6ms低电平,初次调试时,尽量用示波器或者逻辑分析仪看一下,误差在10%左右都能接受
1、0x00h到0xdfh为声音地址码或定义功能码。
2、0xfe为语音停止码,发送该命令可以停止播放语音。
3、编码之间的间隔须大于20ms
3.2 通讯指令
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> 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左右
因为芯片内部有一个空闲进入低功耗待机的机制。


超声波雷达在汽车上的应用
我们正处于智能家居时代的前夜
雷军:小米将扩招5000名开发者,加大研发投入
陆芯半导体晶圆划片机行业介绍及切割工艺
软件高可用实践那些事儿
KT148A语音芯片ic的软件参考代码C语言
关于高压环网柜绝缘材料及构造的介绍
利用供电线通讯实施的LED照明控制
ATECLOUD智能云测试平台助力企业创新发展数字化转型
摇摆LED时钟的设计及制作方法
vhdl20秒倒计时源代码介绍
如何用10行bash shell脚本监控Linux
TCL华星首次超越LGD出货排名全球第一
并驾齐驱的创新之举 “一带一路”和互联网发展
Altium Designer 软件使用中的一些技巧分享
整理了所有数据专家都应该会的七款Python工具
14种常用塑料的耐化学性对比
内存条作为电脑数据的中转站,其作用不可忽视
2012年半导体产业发展展望
亚洲电源展 | 国际交流贸易平台