KT148A语音芯片一线串口的控制时序起始脉宽的长度说明

一、KT148A一线串口细节点

KT148A语音芯片支持一线串口控制,单线的时序逻辑,所以就存在两个注意细节

  1. 起始脉宽的长度要求
  2. 数据0和数据1的脉宽分配
  • 一线通讯的时序要求

详见完整开发资料的“KT148A语音芯片使用手册3_V4.pdf”文档

章节3.1有详细的描述

其实也很简单,先把数据线DATA,也就是ONELINE,拉低 6ms 后,发送 8 位数据,先发送低位,再发送高位。使用高电平和低电平比例来表示每个数据位的值。

注意:必须高电平在前,低电平在后。

推荐使用 200us:600us。取值范围:窄脉冲=[150us--400us]    宽脉冲[500us--1000us]

注意使用 3:1 和 1:3 电平比例以保障通讯稳定。


  • 起始信号的注意事项

客户的使用过程中,对于起始信号,还是会有一些疑惑,这里我们做一下详细的说明,起始信号分为两种用途:

  1. 第一种用途:命令起始数据识别,KT148A芯片内部设置的ONELINE这个IO口弱上拉,并且捕获的功能

当捕获了下降沿之后,认为有数据来了,此时再等待上升沿,满足6ms的长度,才认为后面的数据才是真实的数据,原理就是这样

  1. 第二种用途:用于KT148A芯片的唤醒,因为芯片有一个5秒空闲则进入待机的机制,所以外面一线串口来了数据,则是先唤醒,后接收数据

测试详情如下:

起始信号长度:6.55ms = 可以触发播放

起始信号长度:6.85ms = 起始信号过长,待机状态下不能播放

起始信号长度:5.66ms = 可以触发播放

总之:起始信号的低电平长度,这里统一规定,必须是5.5ms-----6.5ms之间。推荐6ms ,误差控制在10%都行

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-15 02:20:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-15 02:20:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-15 02:20:01       82 阅读
  4. Python语言-面向对象

    2023-12-15 02:20:01       91 阅读

热门阅读

  1. Windows10下MySQL5.7.31解压版安装与卸载

    2023-12-15 02:20:01       66 阅读
  2. not exists用法

    2023-12-15 02:20:01       58 阅读
  3. vue表单输入绑定

    2023-12-15 02:20:01       58 阅读
  4. Scala学习二:访问修饰符/运算符

    2023-12-15 02:20:01       50 阅读
  5. 什么是PHPUnit?如何进行单元测试?

    2023-12-15 02:20:01       61 阅读
  6. Threejs之相机基础

    2023-12-15 02:20:01       73 阅读
  7. sql事务

    sql事务

    2023-12-15 02:20:01      56 阅读
  8. GitHub入门介绍

    2023-12-15 02:20:01       53 阅读
  9. 定时器Timer、多线程下的单例模式

    2023-12-15 02:20:01       58 阅读
  10. k8s-1.24.0版本部署

    2023-12-15 02:20:01       52 阅读
  11. Spring实战第6版第8章 OAuth2 客户端跑不起来

    2023-12-15 02:20:01       66 阅读
  12. spring boot 中动态注册mybatis mapper

    2023-12-15 02:20:01       56 阅读
  13. C# 获取windows 系统开关机时间

    2023-12-15 02:20:01       61 阅读