离线语音模组VC系列出厂固件使用教程——SDK开源?

描述

安信可VC系列离线语音模组,采用云知声方案,在语音识别技术上不断优化和创新算法,离线识别算法与芯片架构深度融合,为客户提供超低成本的离线语音识别方案,可广泛且快速应用于智能家居,各类智能小家电、86盒、玩具、灯具等需要语音操控的产品。

具体的性能:

· 支持唤醒词自学习(意思是不用编程就可以增加唤醒词)
· 支持中英文(不同固件)
· 1~5m 远场 90%识别率
· 支持RTOS轻量级系统
· 支持GPIO控制,UART、IIC、SPI等通讯协议
· 支持串口升级

VC系列一共有两款模组及其开发板,开发板的出厂固件和模组的出厂固件是不相同的。

开源

一、使用前准备

1. 通讯接口

如果是使用模组进行串口连接的话,建议使用如下接口进行通讯:RX1、TX1。

开源

如果使用开发板,直接用USB 口调试就好了,模组与单片机或者TTL模块连接示意:

开源

UART1默认的串口的配置:

开源

2. 开发板硬件说明

VC-01和VC-02共用一款开发板:

开源

3. 烧录说明

VC系列一共有两种烧录方式:

· JTAG调试器烧录

JTAG调试器烧录方式,是使用专用的JTAG调试器,烧录完整的固件,使用的软件是:UniOneDownloadTool.exe, 一般固件的文件名为:uni_app_release.bin

· 串口烧录

串口烧录的方式使用TTL模块进行固件升级,对模块没有任何要求,使用的软件是:UniOneUpdateTool.exe,一般固件的文件名为:uni_app_release_update.bin

两种烧录方式会在下面进行详细的介绍。

(1)JTAG烧录接线及烧录介绍

JTAG 烧录方式只能使用专用的JTAG调试器,不支持使用J-link等调试器烧录。

开源

JTAG调试器与VC系列的连接如下:

开源

连接好之后,把调试器插入电脑(调试器需要安装驱动,安装教程请看:

Hummingbird-M-Production-Tool/M_Download_Tool_User_Guide.pdf),打开UniOneDownloadTool.exe:

开源

烧录过程:

开源

(2)UART串口升级接线及烧录介绍

串口烧录的接线和通讯方式的接线相同,没有特别要注意的。最重要的是所烧录的固件有些要求:

烧录的固件必须是使用 build.sh update指令生成的uni_app_release_update.bin

烧录工具只能使用:UniOneUpdateTool.exe

下面就开始延时烧录过程:

开源

开源

注意:所有端口号成功打开背景颜色会是黄色的

二、模组出厂固件使用

1. 指令词及指令码

模组出厂固件中,默认写入了一些通用的指令及其对应的指令码。

开源

开源

2. 指令码说明

每个指令码的都代表了VC当前所识别的指令,指令中的含义:以 “0x5a 0x00 0x00 0x00 0x5a” 为例

开源

· 起始位:为固定值:0x5a

· 指令序号:代表唯一的指令:0x00 为唤醒词的序号

· 保留位1:固定值为:0x00

· 保留位2:固定值为:0x00

· 校验位:前四位的异或值,

0x5aXOR0x00XOR0x00XOR0x00=0x5a

三、开发板出厂固件使用

开发板出厂固件的指令词和模组的一样,只是加入了LED控制功能及按键唤醒功能:

开源

四、语音控制流程

开源

五、总结

出厂固件已经具备了很不错的指令,单片机可以根据对应的指令码做相应的处理。指令码最重要的一个字节就是校验位,在C语言中可以这么做:

//假如判断唤醒:0x5a 0x00 0x00 0x00 0x5a

char start_bit=0x5a;

char cmd_num_bit=0x00;

char temp_num1_bit=0x00;

char temp_num2_bit=0x00;

//计算校验位

char check_bit=start_bit^cmd_mun_bit^temp_num1_bit^temp_num2_bit

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分