一、KT148A一线串口细节点
KT148A语音芯片支持一线串口控制,单线的时序逻辑,所以就存在两个注意细节
- 起始脉宽的长度要求
- 数据0和数据1的脉宽分配
- 一线通讯的时序要求
详见完整开发资料的“KT148A语音芯片使用手册3_V4.pdf”文档
章节3.1有详细的描述
其实也很简单,先把数据线DATA,也就是ONELINE,拉低 6ms 后,发送 8 位数据,先发送低位,再发送高位。使用高电平和低电平比例来表示每个数据位的值。
注意:必须高电平在前,低电平在后。
推荐使用 200us:600us。取值范围:窄脉冲=[150us--400us] 宽脉冲[500us--1000us]
注意使用 3:1 和 1:3 电平比例以保障通讯稳定。
- 起始信号的注意事项
客户的使用过程中,对于起始信号,还是会有一些疑惑,这里我们做一下详细的说明,起始信号分为两种用途:
- 第一种用途:命令起始数据识别,KT148A芯片内部设置的ONELINE这个IO口弱上拉,并且捕获的功能
当捕获了下降沿之后,认为有数据来了,此时再等待上升沿,满足6ms的长度,才认为后面的数据才是真实的数据,原理就是这样
- 第二种用途:用于KT148A芯片的唤醒,因为芯片有一个5秒空闲则进入待机的机制,所以外面一线串口来了数据,则是先唤醒,后接收数据
测试详情如下:
起始信号长度:6.55ms = 可以触发播放
起始信号长度:6.85ms = 起始信号过长,待机状态下不能播放
起始信号长度:5.66ms = 可以触发播放
总之:起始信号的低电平长度,这里统一规定,必须是5.5ms-----6.5ms之间。推荐6ms ,误差控制在10%都行