专注语音芯片研发

您的位置: 首页  > 芯片视界 > 聚焦语音IC >  

WTK6900语音识别芯片UART通信协议怎么用?从帧格式到指令交互一篇讲透

2026-10-08 09:18:55

广州唯创电子的WTK6900系列离线语音识别芯片,在智能家电、照明控制和玩具类产品中应用非常广泛。很多工程师第一次拿到这颗芯片时,最大的困惑不是语音识别本身,而是识别结果怎么传给主控MCU、主控又怎么反过来控制芯片——也就是UART通信协议到底怎么用。这篇文章把WTK6900的UART协议从帧结构到实战指令完整拆解一遍。

WTK6900语音识别芯片UART通信协议怎么用.jpg

WTK6900的UART硬件怎么接?

WTK6900系列芯片内置全双工UART接口,属于标准异步串口,电平为3.3V TTL。默认通信参数为波特率9600bps、数据位8位、停止位1位、无校验位(8N1格式)。

硬件连接只需三根线:WTK6900的TX接MCU的RX,RX接MCU的TX,GND共地。这里有一个容易踩坑的地方:WTK6900的UART_RX引脚耐压只有3.3V,如果主控MCU用5V供电,其TX输出为5V电平,必须在MCU TX和芯片RX之间加电平转换电路,否则会永久损坏芯片。简单做法是在TX、RX线路中串入220Ω至470Ω的电阻,也可以用三极管电路做电平转换。

WTK6900 UART协议的帧格式长什么样?

WTK6900系列(以WTK6900P、WTK6900HA、WTK6900HC等型号为例)的UART命令帧采用固定的7段式结构,帧头和帧尾是识别一帧数据的关键标志:

字段

字节数

说明

起始码

1字节

固定为0x7E

长度

1字节

长度+扩展码+命令码+词条ID+校验和的长度

扩展码

2字节

固定为0xFF 0x06

命令码

1字节

定义芯片接收或发送的命令类型

词条ID/参数

1~N字节

命令具体携带的数据

累加和校验

1字节

长度+扩展码+命令码+词条ID的累加和低字节

结束码

1字节

固定为0xEF

这套帧格式是理解整个协议的基础。

校验和到底怎么算?

校验和的计算规则很明确:把“长度”字节开始,到“词条ID/参数”最后一个字节为止的所有字节逐字节累加,取和的低8位作为校验字节。

举个例子,WTK6900HA识别到“打开灯光”后输出的完整帧为:

7E 06 FF 06 01 02 0E EF

拆开来看:7E是帧头,06是长度,FF 06是扩展码,01是命令码(表示芯片上报识别结果),02是词条ID(对应“打开灯光”),0E是校验和,EF是帧尾。

校验和的验证:长度(0x06) + 扩展码(0xFF + 0x06) + 命令码(0x01) + 词条ID(0x02) = 0x06 + 0xFF + 0x06 + 0x01 + 0x02 = 0x10E,取低字节即0x0E。与帧中的校验字节完全一致。

WTK6900有哪些常用通信指令?

WTK6900系列支持多种命令码,涵盖了语音识别结果上报、音量控制、休眠唤醒等操作。以下是实际开发中最常用的几条指令:

芯片主动上报识别结果(命令码0xA0)

当WTK6900识别到命令词时,会自动通过TX引脚向MCU发送数据帧。帧中的词条ID就是唯创在线平台为每条命令词分配的唯一编号。MCU只需要解析出词条ID,就能知道用户说了什么,进而执行对应的控制逻辑。

音量控制(命令码0xA1)

音量支持1~5级可调,最小非静音,带掉电记忆功能。发送指令格式为7E 07 FF 06 A1 00 XX [校验] EF,其中XX为音量等级。例如设置音量等级为1级,发送7E 07 FF 06 A1 00 01 AE EF,芯片收到后回复7E 06 FF 06 A1 05 B1 EF表示设置成功。

发码控制唤醒(命令码0xA7)

当芯片处于低功耗休眠状态时,MCU可以通过发送7E 06 FF 06 A7 00 B2 EF来主动唤醒芯片,唤醒成功后芯片会回复7E 06 FF 06 A7 05 B7 EF。

进入低功耗模式(命令码0x02)

电池供电的产品在不需要语音交互时,可以发送休眠指令让芯片进入低功耗状态,休眠电流仅约5μA,对电池寿命影响可以忽略不计。使用时再通过A7指令唤醒即可。

查询软件版本(命令码0xC0)

发送7E 03 C0 C3 EF,芯片会返回包含版本信息的字符串,可以用来追溯固件版本、排查兼容性问题。

实际开发中需要注意哪些坑?

除了电平转换问题,还有几个实践中容易被忽视的细节:

波特率以工程配置为准。 虽然默认波特率是9600bps,但不同型号和不同固件工程的实际波特率可能不同,务必以唯创在线平台生成工程时设置的参数为准。

接收中断里做帧解析更可靠。 建议在UART接收中断中逐字节接收,先判断帧头0x7E,再根据长度字段接收完整帧,最后验证校验和和帧尾0xEF,三步都通过才认定为有效帧。

麦克风要远离电机和电源。 在油烟机等有电机的应用中,麦克风走线应尽量远离电机区域,否则电机噪声会严重影响语音识别率。

不同子型号的命令码可能有差异。 WTK6900系列包含P、HA、HC、FC等多个子型号,部分命令码和帧格式细节可能不同(例如早期WTK6900C-48L使用的是AA开头、两字节的简短协议),开发前应以对应型号的官方数据手册为准。

总结

WTK6900的UART协议并不复杂,核心就是掌握7E...EF的帧格式和累加和校验规则。实际使用中,MCU只需要做好三件事:正确接线(注意3.3V电平匹配)、按帧解析识别结果(提取词条ID)、按需发送控制指令(音量/休眠/唤醒)。把这套协议吃透之后,WTK6900与主控MCU的配合开发会非常顺畅。

  • 联系方式

    308040936@qq.com

    138-0273-1296

  • 公司地址

    广州市花都区新华街天贵大厦A座704-708室

  • 138-0273-1296

  • 扫一扫加微信
    版权所有©2026 广州唯创电子有限公司
    网站地图     唯创电子:英文网

    扫码添加微信

    返回顶部小火箭