IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> KT148A语音芯片ic的软件参考代码C语言一线串口 -> 正文阅读

[C++知识库]KT148A语音芯片ic的软件参考代码C语言一线串口

目录

3.1?通讯格式

3.2?通讯指令

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

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

4.4?通讯细节注意事项


一线通讯协议

????目前芯片支持一线串口通讯协议,采用的也是高低电平时间宽度来确定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?通讯指令

NO.序号

Data编码

Voice语音表

0

0x00

保留

1

0x01

声音1

2

0x02

声音2

3

0x03

声音3

……

224

0xE0~0xEF

15级音量,0xE0H为最小音量0,0xEFH最大音量?(上电默认)。

(若需要调节音量,则先发音量码,隔20ms再发声音码)

225

0xF0

关机。进入超低功耗状态=1.7uA,详见4.3章节

进入此状态之后,还需要控制芯片,则需要先拉低DATA脚40ms

目的是唤醒芯片,就可以正常发指令控制了,

242

0xF2

循环码?-- 详见4.1章节

若需要循环某个声音,则先发声音码,隔20ms再发循环码)

243

0xF3

连码播放?-- 详见4.2章节

F3H+语音地址 A,语音地址 B,语音地址 C,… ?在播放地址 A

的时候,收到后面的码不打断,播放完 A,就播放 B,然后播放 C…。F3

与地址之间需要加 20ms 的延时。而一组连码地址与下一组地址最大需要

40ms 延时(“F3+语音地址”为一组连码地址)

254

0xFE

停止码

/*******************************************************************************
 - 函数说明:一线通数据发送【注意调试的时候,用示波器或者逻辑分析仪看一下脉冲宽度】
 - 隶属模块:内部
 - 参数说明: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段声音 

    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左右

因为芯片内部有一个空闲进入低功耗待机的机制。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:37:15  更:2022-07-04 22:37:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:22:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码