Skip to main content

CSK UART标准串口通信协议

Version最后更新时间适用固件版本
1.32020.03.154002-3.1.4及以上
1.42021.09.304002-4.3.0及以上

变更记录#

版本变更内容变更人审核人日期
1.0首版发布朱昊黄凯仪2020-01-08
1.1更改系统配置描述朱昊黄凯仪2020-02-21
1.21. 固定标记修改:命令帧为0xFF 0x00,响应帧(from CSK)为0xF0 0x00。
2. 弃用原有0x03版本查询命令帧,新增0x19查询所有版本号命令帧。
3. 新增0x05系统休眠命令帧。
4. 新增0x16设置ADC增益命令帧。
5. 新增0x17设置命令词识别启停命令帧。
6. 新增0x18设置UAC通道命令帧。
7. 新增0xFF心跳命令帧。
8. 弃用原有0x02固件版本反馈响应帧,新增0x04版本查询反馈响应帧。
9. 优化0x10识别结果反馈命令数据参数。
刘钟蔚朱元恒2020-12-20
1.31. 修复0x10 命令帧的数据帧校验
2. 修改0x11命令帧的描述
3. 修改0x17 命令帧的参数描述
朱元恒郝飞虎2021-03-15
1.41. 增加0x40命令帧(自定义命令词)
2. 增加0x40响应桢(自定义命令词结果反馈)
朱元恒郝飞虎2021-09-30

1 概述#

CSK作为协处理器时,通过串口通信,为外围模块提供封装的AI能力。此处串口协议我们通过两层协议,来提供完整可靠的CSK API。这两层协议分别为:传输协议、业务协议。传输协议主要负责UART底层的数据进行可靠性保障,而业务协议主要是对CSK能力进行定义,提供可扩展的API。

2 传输协议#

传输协议,是以接收到的UART原始数据为基础,定义CSK数据帧格式,对流式的二进制数据,进行分帧工作,解析出对应的帧信息,向上传递到业务协议层。传输协议的数据帧格式如下:

帧头帧数据
固定标记帧长度帧编号帧头校验类型地址命令字命令数据帧数据校验
FTAGLFTAGHFLENLFLENHFUIDLCHKTYPEREGCMDDATADCHK

2.1 帧头说明#

名称长度(byte)说明
固定标记2固定为FTAGL = 0x58,FTAGH = 0x46。
帧长度2由两个字节组成,低字节在前,高字节在后;表示整个命令帧的长度。
帧序号1表示命令帧的序号,确保短时唯一。
帧头校验1采用按字节累加和校验;
即: (FTAGL + FTAGH + FLENL + FLENH + FUID + LCHK)% 256 = 0

2.2 帧数据说明#

名称长度(byte)说明
类型1命令帧为0xF0,响应帧(from CSK)为0xFF。
地址1预留,固定为0x00。
命令字1表示命令帧/响应帧的命令字。
命令数据X不同命令类型,有不同的命令数据结构,具体见:业务协议。
帧数据校验1采用按字节累加和校验;即:(TYPE + REG + CMD + DATA + DCHK)% 256 = 0

3 业务协议#

数据帧,对于CSK而言,分为命令帧、响应帧,通过帧数据的固定标记,进行区分。

3.1 CSK命令帧#

外围芯片,可通过“命令帧”来操作CSK,帧数据标记为:0xF0 0x00

0x01系统设置#

名称发送数据字节数量说明
命令类型0x011字节系统设置。
包括:系统音量设置、就绪信号电平设置、系统闲置休眠时间、识别命令词上传格式等设置。
命令数据VOL1字节设置系统音量,仅需开机初始化一次:
【0x00~0x0A】有效值;
【0xFE】默认值:0x08;
【0xFF】历史值;
【其它】无效值,系统将反馈参数错误信息
READY1字节设置 RDY 电平触发方式,仅需开机初始化一次:
【0x00】低电平;
【0xAA】高电平;
【0xFE】默认值:低电平;
【0xFF】历史值;
【其它】无效值,系统将反馈参数错误信息
SLEEP_TIME1字节遵循默认值即可。
【0x00】默认值:0x00;
【0x01~0xF0】有效值;
【0xFE】默认值:0x06;
【0xFF】历史值;
【其它】无效值,系统将反馈参数错误信息
OUT_FORMAT1字节设置识别结果上传内容。启动识别模式,根据输入音频有识别结果后,会根据此参数的不同,上报给上位机不同的格式的识别结果:
【0x00】上报命令词KEYID及唤醒得分和命令词文本,默认值;
【0x01】仅上报命令词KEYID;
【0x02】仅上报命令词文本;
【其它】无效值,系统将反馈参数错误信息
使用示例

命令帧:设置播音音量为 7 级,RDY 高电平:

58 46 0E 00 00 54 F0 00 01 07 AA 0A 00 54

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x02串口设置#

设置串口波特率。串口波特率设置完成后,当前帧的状态反馈,如收到正确命令帧等仍是使用之前的波特率发送的(用户可以在接收到正确命令帧之后,更换所需波特率)。

名称发送数据字节数量说明
命令类型0x021字节
命令数据RATE1字节配置波特率(单位:bps):
【0x00】9600;
【0x01】19200;
【0x02】57600;
【0x03】115200默认值;
【0x04】345600;
【其它】无效值,系统将反馈参数错误信息;
需要注意的是,不同版本的默认通信波特率值不一样,详见版本查询命令中相关说明,但打印功能串口的波特率固定为115200。
使用示例

命令帧:设置波特率为 115200

58 46 0B 00 00 57 F0 00 02 03 0B

响应帧:命令帧正确反馈

58 46 0B 00 02 55 FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x03版本查询(已弃用)#

已弃用。

0x04状态查询#

查询当前系统工作运行状态。模块在收到该命令后,将反馈系统状态数据包,详见响应帧部分说明。

名称发送数据字节数量说明
命令类型0x041字节
使用示例

命令帧: 状态查询 58 46 0A 00 00 58 F0 00 04 0C

响应帧:

命令帧正确反馈:

58 46 0B 00 04 53 FF 00 01 10 F0

运行状态反馈:

58 46 0B 00 05 52 FF 00 03 10 EE

查看响应帧:0x01 命令帧反馈

查看响应帧:0x03运行状态反馈

0x05系统休眠(已弃用)#

已弃用。

0x10停止所有模块#

停止当前正在工作的功能模块。包括:语音播放、语音识别、语音唤醒等,停止后进入空闲状态。需要注意的是,通过该指令强制系统结束当前运行的功能模块后,是不会收到当前模块运行结束状态反馈的,例如当前正在播音,发送该命令后,模块不会再发送播音停止状态反馈(正常播音结束后会有该状态反馈)。

名称发送数据字节数量说明
命令类型0x101字节
使用示例

命令帧: 停止所有模块

58 46 0A 00 00 58 F0 00 10 00

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x11启动识别模式#

启动语音识别命令。执行该命令后,系统将根据设置的参数进行语音识别,包括:前置播音、识别模式、识别超时时间等。

名称发送数据字节数量说明
命令类型0x111字节
命令数据VID2字节由两个字节组成,低字节在前,高字节在后;可以且仅支持在启动识别前播放一条提示音,录音播放完成后,将自动启动识别,录音 ID 详见播音命令中的说明。
MODE4 bit用来指定识别模式,和BEAM、LOOP共同组成一个字节,MODE占第0-3位。
【0x00】wakeup模式。该模式仅支持唤醒,唤醒成功后,返回唤醒结果;注意:唤醒是永久等待的,直到唤醒成功;
【0x01】ASR模式。该模式仅支持识别,识别成功后,返回识别结果;该模式必须指定BEAM。此模式的RT参数可选;
【0x02】oneshot:即一次唤醒,一次识别;唤醒和识别成功都会返回结果;此模式的RT参数可选;
【0x03】多轮交互模式:即一次唤醒后,可以进行多次识别;唤醒和识别成功都会返回结果;此模式会一直进行直到识别超时或者接收到其它需要切换状态的指令才会退出识别;
【其它】无效值,系统将反馈参数错误信息;
BEAM3 bit指定识别模式的拾音波束,仅在MODE = 0x01时有效。和MODE、LOOP共同组成一个字节,BEAM占第4-6位。
【0x00】主要拾音mic1方向音频(0°- 60°);
【0x01】主要拾音中间方向音频(60°- 120°);
【0x02】主要拾音mic2方向音频(120°- 180°);
【其它】无效值,系统将反馈参数错误信息
LOOP1 bit指定识别模式是否循环,和MODE、BEAM共同组成一个字节,LOOP占第7位。
【0x00】单次。该模式下,识别出结果后,进入空闲状态;
【0x01】循环。该模式下,识别出结果后,再次启动识别,循环直到接收到其它需要切换状态的指令才会退出识别;
RT1字节1 字节,仅用来指定命令词的识别超时,超时后会返回识别超时信息,单位:秒。注意:模块在等待唤醒时会永久等待,因此RT只在识别时起作用。
【0x00】默认值,即永久等待,不会超时;
【0x01~0xFF】有效值;
使用示例

命令帧:

命令帧结构
字段类型地址命令字提示音ID
指定识别模式是否循环
拾音波束识别模式超时时间累加和校验
IDTYPEADDRCMDVIDLOOPBEAMMODERTDCHK
数据位长度1 BYTE1 BYTE1 BYTE1 BYTE1 BYTEBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit01 BYTE1 BYTE
二进制10010011
示例帧数据(十六进制)0xF00x000x110x000x010x930x140x57
58 46 0E 00 00 54 F0 00 11 01 00 93 14 57

响应帧: 命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

超时后会返回识别超时的响应帧

查看响应帧:0x01 命令帧反馈

0x12播放音频#

语音播放命令,可以播放一个语音序列,最多连续4个。

名称发送数据字节数量说明
命令类型0x121字节
命令数据VID_12字节有效值:从 1 到 MAX(其中 MAX 取决于实际存储的音频个数,最大取值0xFE);
0x00 作为忽略值及默认值。
特殊说明:从第1条开始,如果第N(1<=N<=4)条语音 ID 为 0x00,则该语音之后的 4-N 条语音都将被忽略。
由两个字节组成,低字节在前,高字节在后;
VID_22字节
VID_32字节
VID_42字节
使用示例

命令帧:播放两条提示音,第 1 条为 0x01,第 2 条为 0x02,其余的两条为无效值。

58 46 12 00 00 50 F0 00 12 01 00 02 00 00 00 00 00 FB

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

响应帧:播音结束反馈

58 46 0A 00 0D 4B FF 00 20 E1

查看响应帧:0x01 命令帧反馈

查看响应帧:0x20播音结束反馈

0x15设置I2S输出通道#

I2S输出通道选择命令,模块支持输出四个通道信号的输出,即可以同时输出四路音频信号,每个通道为16bit数据,并且支持和7路物理音频声道(静音声道,左、右麦克风声道,左、右参考信号声道,左、右降噪后音频声道)的随意映射,实现自由组合输出,满足不同的上位机需求。

名称发送数据字节数量说明
命令类型0x151字节
命令数据CHANNEL4字节输出通道配置,共4个字节其中:
1字节:W表示映射到输出通道1的物理声道编号;
1字节:X表示映射到输出通道2的物理声道编号;
1字节:Y表示映射到输出通道3的物理声道编号;
1字节:Z表示映射到输出通道4的物理声道编号;
这里:W、X、Y、Z取值的有效范围均为0-6,对应的物理声道编号参见物理声道列表。

通道号说明:

通道号通道描述说明
0静音通道该声道将输出纯零静音数据,一般情况下座位占位或屏蔽通道使用。
1MIC 1 信号麦克风1的原始信号。
2MIC 2 信号麦克风2的原始信号(如有)。
3参考信号 1参考信号1的原始数据。
4参考信号 2参考信号2的原始数据(如有)。
6降噪音频 1前端算法后的第一路音频,主要用于识别处理。
6降噪音频 2前端算法后的第二路音频,主要用于识别处理。
7测试通道测试通道数据,主要用于验证是否存在数据丢失等
8云端识别信号前端算法后的第三路音频,主要用于云端识别。
使用示例

命令帧:播放两条提示音,设置音频物理声道 1、2、3、4 设置为对应通道配置 58 46 0E 00 00 54 F0 00 15 01 02 03 04 F1

响应帧:正确命令帧反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x16设置ADC增益#

动态修改ADC的增益,分别对就MIC1、MIC2、REF1、REF2的增益。

名称发送数据字节数量说明
命令类型0x161字节
命令数据MIC_11字节MIC信号增益,分为10级.
MIC_21字节
REF_11字节回采信号增益,分为10级.
REF_21字节
使用示例

命令帧:设置 ADC 增益为 10 级(2 路 mic 增益 8,2 路回采增益为1)

58 46 0E 00 00 54 F0 00 16 08 08 01 01 E8

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x17设置命令词识别的启停#

控制系统是否进入识别模式,即跳过唤醒,直接进入命令词的识别。

名称发送数据字节数量说明
命令类型0x171字节
命令数据MODE_CTRL1字节控制命令词识别的进入、退出。
注:只有在命令词识别状态下,才会有CAE第三路音频输出;
【0x00】进入命令词识别状态;
【0x01】退出命令词识别状态; 其他值无效;
DEF1字节保留字段,固定为 0x00
DEF1字节
DEF1字节
使用示例

命令帧:进入命令词识别状态

58 46 0E 00 00 54 F0 00 17 00 00 00 00 F9

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x18设置UAC通道#

当固件设置为通过UAC输出音频时,该命令可用来设置UAC输出的音频通道号。UAC仅输出一个通道音频。

名称发送数据字节数量说明
命令类型0x181字节
命令数据CHANNEL1字节【0x00】静音输出,即输出数据为0;
【0x01】降噪后第一路音频;
【0x02】降噪后第二路音频;
【0x03】降噪后第三路音频(用于云端识别);
【0x04】测试用的音频(用于测试UAC传输的完整性);
使用示例

命令帧:输出第三路音频,用于云端识别

58 46 0B 00 00 57 F0 00 18 03 F5

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈

0x19查询所有版本号#

查询固件、算法、资源等版本号,需要查询哪些版本号,可通过参数配置。各版本号分开响应帧分开输出。

名称发送数据字节数量说明
命令类型0x191字节
命令数据MODUL1字节需要查询版本号的模块;
【0x00】查询所有模块的版本号,各模块的版本号分开响应;
【0x01】查询固件版本号;
【0x02】查询CAE的版本号;
【0x03】查询miniESR的版本号;
使用示例

命令帧:查询固件 CAE 版本号

58 46 0B 00 00 57 F0 00 19 02 F5

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

响应帧:版本查询的反馈

58 46 4B 00 24 F3 FF 00 04 xxxx

查看响应帧:0x01 命令帧反馈

查看响应帧:0x04版本查询的反馈

0x40自定义命令词#

增加、删除、修改命令词,也可恢复到出厂命令词设置。

注意:此命令仅能在public模式下使用;此命令仅适用于3期算法,暂不支持4期算法;

名称发送数据字节数量说明
命令类型0x401字节
命令数据keyword_type1字节命令词类型;
【0x00】唤醒词;
【0x01】命令词;
keyword_operation1字节命令词操作;
【0x00】增加;
【0x01】替换/修改;
【0x02】删除;
【0x03】恢复出厂命令词(注意此操作会重启CSK);
data285/36/0字节增加和修改格式一样,字节数为285字节;删除操作,字节数为36字节;恢复出厂操作,则为0字节;

如果keyword_operation为增加或修改时,data字节数为285,data的格式如下:

名称发送数据字节数量说明
dataSTATE200字节命令词配置字符串(字符串以'\n'结尾),由聆思提供,如字符串长度不满200字节,则后续补0x00;
TXT36字节命令词文本(中文),如“小优小优”;注意:编码格式为UTF-8,不足36字节,则后续补0x00;
kid2字节用户自定义id,注意不要与命令词列表id重合;
PLAY[2]4字节播音ID, 即CSK的音频资源索引ID, 从1开始,0表示不播放;每个VID为2个字节
PLAY_CNT1字节即PLAY[2]中的播音个数,范围为[0,2]
CMD[20]20字节识别到命令词后外发的命令
CMD_CNT1字节即CMD[20]的个数,范围为[0,20]
INFRARED[20]20字节识别到命令词后外发的红外码
INFRARED_CNT1字节即INFRARED[20]的个数,范围为[0,20]

注意:在public模式下,上述PLAY、PLAY_CNT、CMD、CMD_CNT、INFRARED、INFRARED_CNT字段实际无法使用,建议全部设置为0

如果keyword_operation为删除时,data字节数为36,data的格式如下:

名称发送数据字节数量说明
dataKEYWORD36字节命令词文本(英文),如“xiao3 you1 xiao3 you1”;注意:编码格式为UTF-8,不足36字节,则后续补0x00;

如果keyword_operation为恢复出厂时,data字节数为0

使用示例

命令帧:增加唤醒词:小优小优

58 46 29 01 00 38 F0 00 40 00 00 2d 31 20 32 38 36 30 20 31 34 32 37 20 2d 31 20 38 34 20 31 36 38 34 20 2d 31 20 32 38 37 34 20 31 34 32 37 20 2d 31 20 38 34 20 31 36 38 35 20 2c 31 35 33 39 2c 30 20 2d 31 30 30 30 30 2c 31 30 30 30 30 2c 78 69 61 6f 33 20 79 6f 75 31 20 78 69 61 6f 33 20 79 6f 75 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 b0 8f e4 bc 98 e5 b0 8f e4 bc 98 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f6 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38

命令帧:增加命令词:五十二度

58 46 29 01 00 38 F0 00 40 01 00 2d 31 20 31 31 38 20 32 34 32 38 20 2d 31 20 32 33 31 33 20 31 35 35 30 20 2d 31 20 31 37 20 39 35 32 20 2d 31 20 36 34 38 20 32 34 36 33 20 2c 31 34 31 39 2c 30 20 2d 31 30 30 30 30 20 2c 31 30 30 30 30 2c 77 75 33 20 73 68 69 32 20 65 72 34 20 64 75 34 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 ba 94 e5 8d 81 e4 ba 8c e5 ba a6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24

命令帧:替换命令词:五十二度

58 46 29 01 00 38 F0 00 40 01 01 2d 31 20 31 31 38 20 32 34 32 38 20 2d 31 20 32 33 31 33 20 31 35 35 30 20 2d 31 20 31 37 20 39 35 32 20 2d 31 20 36 34 38 20 32 34 36 33 20 2c 31 34 31 39 2c 30 20 2d 31 30 30 30 30 20 2c 31 30 30 30 30 2c 77 75 33 20 73 68 69 32 20 65 72 34 20 64 75 34 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 ba 94 e5 8d 81 e4 ba 8c e5 ba a6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23

命令帧:删除命令词:五十二度

58 46 30 00 00 32 F0 00 40 01 02 77 75 33 20 73 68 69 32 20 65 72 34 20 64 75 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0

命令帧:删除命令词:十六度

58 46 30 00 00 32 F0 00 40 01 02 73 68 69 32 20 6c 69 75 34 20 64 75 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8C

命令帧:恢复到出厂命令词

58 46 0C 00 00 56 F0 00 40 00 03 CD

查看响应帧:0x40 自定义命令词结果反馈

0xFF心跳#

CSK接收的心跳指令后,返回一个心跳“响应帧”,表示工作正常。

名称发送数据字节数量说明
命令类型0xFF1字节
命令数据DEF1字节保留字段,固定为 0x00
使用示例

命令帧:心跳包

58 46 0B 00 00 57 F0 00 FF 00 11

响应帧:命令帧正确反馈

58 46 0B 00 08 4F FF 00 01 10 F0

查看响应帧:0x01 命令帧反馈


3.2 CSK响应帧#

CSK通过响应帧,向外围模块发送CSK的相关信息;帧数据标记为:0xFF 0x00。

0x01命令帧反馈#

系统正常启动、接收到命令帧后,CSK会发送本响应;

名称发送数据字节数量说明
命令类型0x011字节
命令数据STATE1字节【0x00】系统初始化成功(系统正常启动后,会主动发送该响应)
【0x10】收到正确的命令
【0x11】数据帧格式错误
【0x12】数据帧参数错误

查看命令帧:0x01 系统设置

0x02固件版本(已弃用)#

已弃用。

0x03运行状态反馈#

系统运行状态命令帧的反馈。

名称发送数据字节数量说明
命令类型0x031字节
命令数据STATE1字节【0x00】空闲和就绪状态
【0x10】语音识别状态
【0x11】语音播放状态
【0x12】语音合成状态
【0x13】系统休眠(低功耗)状态

查看命令帧:0x01 系统设置

0x04版本查询的反馈#

针对版本查询命令帧(0x19)的响应,如果查询的是所有模块的版本,那么会分多次反馈各个模块的版本。

名称发送数据字节数量说明
命令类型0x041字节
命令数据TYPE1字节【0x01】固件版本号;
【0x02】CAE的版本号;
【0x03】miniESR的版本号;
VER_132字节基础固件/算法版本号
VER_232字节固件构建号/资源版本号(暂时全部为0x00)

查看响应帧:0x19查询所有版本号

0x10识别结果反馈#

语音识别系统处理结束,将识别结果回传上位机,根据系统设置命令的【OUT_FORMAT】 段设置,输出不同格式的结果。

OUT_FORMAT = 0时:

名称发送数据字节数量说明
命令类型0x101字节
命令数据ID2字节识别结果编号,取值范围:0~65535,该值代表对应的识别结果的编号,可通过该值获知是哪个命令被触发了。
SCORE2字节命令词分数
TEXTN字节,不超过200识别结果名称,最大不超过200个字节(100个字),该值表示识别结果对应的文本。注意:此文本编码固定为UTF-8格式。

OUT_FORMAT = 1时:

名称发送数据字节数量说明
命令类型0x101字节
命令数据ID2字节识别结果编号,取值范围:0~65535,该值代表对应的识别结果的编号,可通过该值获知是哪个命令被触发了。

OUT_FORMAT = 2 时:

名称发送数据字节数量说明
命令类型0x101字节
命令数据TEXTN字节,不超过200识别结果名称,最大不超过200个字节(100个字),该值表示识别结果对应的文本。注意:此文本编码固定为UTF-8格式。

0x11识别异常反馈#

识别异常状态反馈,包括:超时、拒识、错误等信息。

名称发送数据字节数量说明
命令类型0x111字节
命令数据ERROR1字节【0x01】识别超时:用户在一段时间内未说话,出现反应超时;用户说话的时间超过设定的时间,出现识别超时;
【0x10】引擎错误:引擎内部出现错误,通常用户是接收不到此状态的,如果确实接收到了,请复位模块;

0x20播音结束反馈#

播音结束后(注意,仅对播音指令有效,并且只有正常播放结束,才会有该状态信息反馈。识别或唤醒等前置提示音播放,或者播音强制结束的都不会有该状态反馈)。

名称发送数据字节数量说明
命令类型0x201字节

查看命令帧:0x12播放音频

0x40自定义命令词结果反馈#

自定义命令词的结果反馈。

名称发送数据字节数量说明
命令类型0x401字节
命令数据ret1字节【0x00】操作正常:表示自定义命令词操作正常;
【0x01】删除的命令词不存在:表示不存在此命令词;
【0x02】增加同名命令词:此时不做任何处理,如果想修改同名命令词,请使用替换操作;
【0x12】参数错误:命令参数错误,请检查keyword_type和keyword_operation;

查看命令帧:0x40自定义命令词

  • 没帮助 0