多功能语音识别声控电话机之
捷通82语音识别模块产品说明书

(含嵌入式语音识别软件)

2003/06/09

1、 产品概述

特性简介

  本产品全称为多功能语音识别声控电话机之语音识别模块,产品的开发目的是为了推动语音识别技术在通讯领域中的广泛运用。语音识别模块是多功能语音识别声控电话机的一个子模块,其主要功能是作为一个从属模块,接受并完成来自电话机控制芯片的命令。它主要应实现以下几个功能:

·语音提示
·语音模板的产生和识别
·语音电话本人名的录音回放
·来电播报(人名或电话号码)
·语音电话本电话号码的存储和提取
·播放MIDI音乐
·通话中的实时录音
·语音电话本翻查

  在本说明书中,凡子模块、从机、JT802V1、SCPU均指语音识别模块。
  凡CD802V1、主控制芯片、主机、MCPU均指电话机控制芯片。

操作流程

  本模块工作于从模式,只有在接收到电话机控制芯片发过来的命令后才会工作,并返回动作结果给主控制芯片。本模块从不主动向主模块发送命令。本模块每接收一条命令返回一个结果。
本模块与主控制芯片通过三条线相连:MHS、SHS、DATA,采用同步串行通讯方式进行通讯。

系统配置

  主芯片: RSC300
  数据存储器: FLASH SST28VF040
  程序存储器: 低压、2Mb的EPROM或OTP,速度要求高于120Ns.

电话机系统框图


注:图一是整个多功能语音识别声控电话机的大致结构。

2、 语音识别模块系统框图


3、 硬件接口


  语音识别模块与电话控制模块以插卡形式连接,语音识别模块上是10针的公座,电话控制模块上是10针的母座。各引脚功能见图三。

硬件要求

麦克风信号:接收从MCPU输送过来的未放大的信号
扬声器信号:向MCPU输送未放大的DAC信号
对电源的要求:+3V
元器件要求:低压元器件、贴片
PCB板要求:双面板,大面积接地,数字地与模拟地分开,高度不超过25mm
IC封装:28VF040 TSOP,37VF020 PLCC,RSC-300 QFP

4、 通讯协议

  语音识别模块通过SHS、DATA、MHS三线与主机相连,采用三线同步串行通讯方式。对于语音识别模块而言,SHS是输出、MHS是输入、DATA是双向输入输出线。

  以下的表格和时序图详细描述了电话机控制芯片和语音模块间的数据传送:

表一

信号线 描述 数据传送方向
(SCPU->MCPU)
数据传送方向方向
(MCPU->SCPU)
DATA 双向数据线 SHS=0时数据有效 MHS=0时数据有效
MHS 主机握手信号 0-数据位被接收了 0-数据位有效
SHS 从机握手信号 0-数据位有效 0-数据位被接收了

数据传送时序

  数据传送以位为基础,传送一位数据的握手协议详述如下:
1、 当MCPU要向SCPU传送数据时,先将数据放在数据线DATA上,当确信SHS线处于高电平时,将MHS置低请求发送数据。
2、 SCPU检测到MHS为低时,读DATA上的数据,置SHS为低表明已接收数据。
3、 MCPU检测到SHS为低时,置MHS为高,表明此时DATA上的数据不再有效,同时置DATA为高。
4、 然后SCPU置SHS为高,指示一个周期结束。双方准备传送下一位。

  语音模块在接收到命令包的最后一位后仍保持忙状态(SHS=0),直到命令完成、语音模块准备返回执行结果为止。在这段时间,比较耗时的命令可通过电话机控制芯片在MHS上发送一个低脉冲来中断命令的执行。

  当语音模块要向电话机控制芯片传送数据时,遵循同样的过程,但先要置SHS为低。协议是完全对称的,先置其HS为低的处理器是发送端,另一端是接收端。

  数据传送总是以8位为一字节,每字节各个位的传送顺序为先高后低。

  按惯例,从机(语音模块)不主动向主机(电话机控制芯片)发送命令,只有在接收到来自电话机控制芯片的请求命令之后才会向电话机发送命令。

数据传送的时序图如下:




数据包

  所有数据都是以8位为一字节,所有信息都以数据包形式传送.

数据包的组成:
  每个数据包由同步字符、数据长度、数据和校验和组成。数据长度和校验和各占一个字节。数据长度为数据总数加校验和之和。校验和为数据长度与各数据之累加和,以FF为模。如图七所示,其中的命令/回应及其参数参见下面的命令集和命令详解。

同步字符0FFh 数据长度N 命令/回应 参数1 参数2 …… 参数N-2 校验和

图七

数据包举例:

同步字符 数据长度 命令 参数1 参数2

参数3 效验和

0FFh

5 1 2 3 4 0Fh

图八

命令集(灰色区域为保留功能,本模块中未用)

表二

回应集

表三


类别定义:
1-人名训练 2-人名识别 3-语音电话本 4-语音合成 5-控制功能 6-调试 7-DTMF 8-音乐 9-实时录音/回放 10-来电播报 11-主MCU数据存取及删除 12-来电 13-去电 14-普通电话本

命令详解

命令:00h
命令参数: 无
返回参数: 无
回应: 00h或21h
命令描述: 本命令一般用于系统调试,以测试MCPU与SCPU的联机状况。

命令:01h
命令参数: 无
返回参数: 版本号
回应: 00h或21h
命令描述: 获取当前语音识别模块的版本号。对于JT802V1来说,其版本号为38h,30h,32h,56h.

命令:02h
命令参数: 重试次数
返回参数: 无
回应: 00h, 01h, 11h, 21h, 0FFh
命令描述: 训练一个名字。当增加一条电话本记录时,应先执行此命令。该命令会生成一个语音模板,同时产生一个长达2秒的名字录音。在此命令成功执行之后,MCPU接着发送06h命令增加电话号码。如果没有执行06h命令,则该项记录电话号码为空。
添加人名成功后,当前指针指向该记录位置。
重试次数指的是训练失败后允许重新训练的次数,通常设置为2。
此命令能被MCPU中断。

命令:03h
命令参数: 重试次数
返回参数: 无
回应: 00h, 01h, 07h, 0Ah, 10h, 21h, 0FFh
命令描述: 该命令识别一个人名。如果查找到了相符记录,则当前指针指向识别结果。否则,指针保持不变。
重试次数指的是识别失败后允许重新识别的次数,通常设置为2。
此命令能被MCPU中断。

命令:04h
命令参数: 无
返回参数: 无
回应: 00h, 12h, 21h, 0FFh
命令描述: 回放当前指针所指记录对应的人名录音。如果当前指针为0或指向某一空记录,则返回12h.该命令的执行可被MCPU中断.

命令:05h
命令参数: 无
返回参数: 无
回应:00h, 22h, 12h, 21h, 0FFh
命令描述: 播报当前指针所指记录对应的电话号码. 如果当前指针为0或指向某一空记录,则返回12h.此命令的执行可被MCPU中断.

命令: 06h
命令参数: 电话号码
返回参数: 无
回应:00h, 12h, 21h
命令描述: 将电话号码存储在当前指针所指的记录下. 如果当前指针为0或指向某一空记录,则返回12h.
  电话号码最长可达8个字节,以BCD码发送,每字节两个BCD码,先高后低。"*"和"#"分别以"1010" "1011"表示.
此命令应在02h命令成功执行后发送。
如果当前指针为0,则返回12h。

命令:07h
命令参数: 无
返回参数: 电话号码
回应: 00h, 22h,12h, 21h
命令描述: 返回当前指针所指记录下对应的电话号码. 如果当前指针为0或指向某一空记录,则返回12h.
  电话号码最长可达8个字节,以BCD码发送,每字节两个BCD码,先高后低。"*"和"#"分别以"1010" "1011"表示.

命令:08h
命令参数: 无
返回参数: 无
回应:00h, 21h
命令描述:当前指针清0,不指向任何记录.

命令:09h
命令参数: 无
返回参数: 无
回应:00h, 10h, 21h
命令描述: 当前指针指向电话本下一条有效记录.如果当前指针为最后一条有效记录,则执行该命令后指向第一条有效记录。 如果电话本中无有效记录,则指针指向0位置,并返回10h.

命令:0Ah
命令参数: 无
返回参数: 无
回应: 00h, 10h, 21h
命令描述: 当前指针指向电话本上一条有效记录.如果当前指针为第一条有效记录,则执行该命令后指向最后一条有效记录。 如果电话本中无有效记录,则指针指向0位置,并返回10h.

命令:0Bh
命令参数: 无
返回参数: 无
回应: 00h, 21h
命令描述: 将当前指针存储在临时存储寄存器中,可用命令0Ch恢复当前指针.如果模块掉电,当前指针遗失.
此命令本模块未用

命令:0Ch
命令参数: 无
返回参数: 无
回应:00h, 12h, 21h
命令描述: 恢复由0Bh命令存储的当前指针.
此命令本模块未用

命令:0Dh
命令参数: 无
返回参数: 无
回应:00h,21h
命令描述: 此命令本模块未用


命令:0Eh
命令参数: 无
返回参数: 无
回应: 00h, 12h, 21h
命令描述: 删除当前指针所指的电话本记录,删除成功后,所有该电话本记录后面的电话本记录向前移,指针位置保持不变.
如果执行此命令时当前指针为0或指向某一空记录,则返回12h。

命令: 0Fh
命令参数: 0x55
返回参数: 无
回应:00h, 21h
命令描述: 删除电话本中所有记录,删除成功后将指针清零,不指向任何记录。

命令:10h
命令参数: 无
返回参数: 无
回应:00h,12h,21h
命令描述: 此命令本模块未用

命令:11h
命令参数:
返回参数:
回应:00h,21h
命令描述: 此命令本模块未用

命令: 12h
命令参数: 无
返回参数:
回应: 00h,12h,21h
命令描述: 此命令本模块未用

命令: 13h
命令参数: 无
返回参数:
回应: 00h,21h
命令描述:此命令本模块未用


命令:14h
命令参数: 提示音序号
返回参数: 无
回应:00h, 21h, 0FFh
命令描述: 说提示音序号所对应的提示音.提示音序号与提示音的对应关系见后面的提示音列表.此命令的执行可由MCPU中断.

命令:15h
命令参数: 数字串
返回参数: 无
回应:00h, 21h
命令描述: 播报命令参数里所传递的数字串. 此命令的执行可由MCPU中断。数字串以BCD码存储,每字节两个BCD码,先高后低。
此命令本模块未用


命令:16h
命令参数: 无
返回参数: 无
回应: 00h, 21h
命令描述: SCPU进入睡眠状态,进入睡眠之前返回00h给MCPU.

命令:17h
命令参数: 语音识别门限
返回参数: 无
回应:00h, 21h
命令描述: 设置语音识别门限参数。参数可设为0,1,2,3,其中0为最低级别,最容易识别,但误识别的几率相对较大。语音识别门限参数的默认值为1。

命令:18h
命令参数: 无
返回参数:语音识别门限
回应:00h, 21h
命令描述:获取语音识别门限参数。

命令:19h
命令参数: 当前指针
返回参数: 无
回应: 00h, 21h
命令描述: 设置当前指针
此命令本模块未用


命令:1Ah
命令参数: 无
返回参数: 当前指针
回应:00h, 21h
命令描述: 获取当前指针

命令:1Bh
命令参数: 数字
返回参数: 无
回应: 00h,21h
命令描述:此命令本模块未用

命令:1Ch
命令参数: 数字串
返回参数: 无
回应: 00h,21h
命令描述:此命令本模块未用

命令:1Dh
命令参数: N
返回参数: 无
回应: 00h,21h
命令描述:此命令本模块未用

命令: 1Eh
命令参数: 无
返回参数: 无
回应:00h,21h
命令描述:此命令本模块未用

命令:1Fh
命令参数: 无
返回参数: 无
回应: 00h,21h
命令描述:此命令本模块未用

命令:20h
命令参数: 无
返回参数: 无
回应:00h,21h
命令描述:此命令本模块未用


命令 :21h
命令参数: N=1,2,3
返回参数: 无
回应: 00h, 21h, 0FFh
命令描述: 播放一段音乐。共3段音乐可供选择,由N决定播放哪一段,此命令能被MCPU中断。

命令 :22h
命令参数: N=1,2,3
返回参数: 无
回应: 00h, 11h, 21h, 0FFh
命令描述: 进行实时录音,一共允许三段,由命令参数N指明哪一段进行录音。此命令能被MCPU中断。
每段录音的时间长度,在语音电话本最大容量为60个人名时,为19秒, 30个人名时,为30秒.

命令 :23h
命令参数: N=1,2,3
返回参数: 无
回应:00h, 10h, 21h, 0FFh
命令描述: 播放实时录音, 由命令参数N指明播放哪一段录音,此命令能被MCPU中断。

命令 :24h
命令参数:来电号码
返回参数:无
回应: 00h, 21h, 0FFh
命令描述:送一组来电号码给语音识别模块,语音模块在电话本中查找该号码,如果该号码存在则播放该号码对应的人名,如果电话本中没有此号码,则播报该电话号码。电话号码必须完全相同才播报人名,否则播报号码,播报号码时每4个号码一播.播抱人名或电话号码前先发"来电话了"的提示音。
电话号码以BCD码发送,每字节两个BCD码,先高后低。
此命令能被MCPU中断。

命令 : 25h
命令参数:无
返回参数:有效记录条数
回应: 00h, 21h
命令描述:该命令用来获取电话本中有效记录的条数。

命令:26h
命令参数: 人名
返回参数: 无
回应:00h, 12h, 21h
命令描述: 将人名存储在当前指针所指的记录下. 如果当前指针为0或指向某一空记录,则返回12h.
人名字符以ASCII码发送,每字节1个ASCII码,即一个字符,先高后低,名字最大长度为16个字符。
此命令应在02h命令成功执行后发送。

命令: 27h
命令参数: 无
返回参数:人名
回应: 00h, 23h,12h, 21h
命令描述: 返回当前指针所指记录下对应的人名. 如果当前指针为0或指向某一空记录,则返回12h.
人名字符以ASCII码发送,每字节1个ASCII码,即一个字符,先高后低。

命令:28h
命令参数: N = 1,2
返回参数: 无
回应:00h, 21h
命令描述: 设置语音电话本最大容量。参数N可设为1或2,1表示语音电话本的最大容量为30,2表示语音电话本的最大容量为60.默认值为1.
此命令本模块未用


命令:29h
命令参数: 起始地址,数据
返回参数:
回应:无
命令描述: 将数据连续存储在Flash中指定位置.
起始地址为MCU数据存储空间的地址偏移量,非绝对地址,分两个字节发送,先发送高位.地址范围为0000~01FFh.
先发送起始地址,再紧接着发送数据,数据最大长度为30bytes,且限存储在同一页中(256字节/页,高字节地址相同)。

命令:2Ah
命令参数: 起始地址,字节数
返回参数: 数据
回应:00h, 21h
命令描述: 从Flash中连续读取指定位置的数据.
起始地址为MCU数据存储空间的地址偏移量,非绝对地址,分两个字节发送,先发送高位.地址范围为0000~01FFh.
字节数为所要连续读取数据的字节数.
先发送起始地址,再紧接着发送字节数,字节数最大为32, 且限所要读取的数据在同一页中(256字节/页,高字节地址相同)。

命令: 2Bh
命令参数: 起始地址,结束地址
返回参数: 无
回应: 00h, 21h
命令描述: 删除普通电话本数据存储空间指定位置的数据.
起始地址和结束地址均为普通电话本数据存储空间的地址偏移量,非绝对地址,分两个字节发送,先发送高位.地址范围为0000~01FFh.
删除可以整页整页的进行,连续删除某几个页.也可以对同一页中(256字节/页,高字节地址相同)的某几个连续字节进行删除,限35字节以内.
起始地址和结束地址所对应的字节将被删除.

命令: 2Ch
命令参数: N=1,2,3
返回参数: 无
回应: 00h, 21h, 0FFh
命令描述: 删除实时录音,一共三段,由命令参数N指明删除哪一段。

命令:2Dh
命令参数: 来电记录(28BYTE)
返回参数: 来电记录第一个BYTE,电话本记录人名
回应:00h, 21h
命令描述: 存储该来电记录。

  来电记录共28BYTE,第1BYTE到第4BYTE为来电属性及来电日期,其中,第1BYTE的BIT6表示新来电、BIT5表示贵宾、BIT4表示重复来电,BIT3~BIT0表示来电月份,第2BYTE到第4BYTE分别表示来电的日、时、分;第5BYTE到第12BYTE为来电号码;第13BYTE到第28BYTE为来电人名。

  存储时,先将该来电记录的电话号码(记录的第5BYTE到第12BYTE)与所有已存来电记录的电话号码相比较,(1)如果发现该来电记录与某条已存来电记录的电话号码相同,则先判断该已存来电记录是否为贵宾(记录的第1BYTE的BIT5为1),为贵宾就将新来电记录的第1BYTE的BIT5置1(保持贵宾标志不变),并将新的来电记录的第1BYTE的BIT4置1(表示重复来电),再把已存来电记录删除,后面的相应往前移,然后把新的来电记录紧挨着存储在最后面。(2)如果没有相同电话号码的来电记录,但存储却满了,就将第1组非贵宾来电记录(记录的第1BYTE的BIT5为0)删除,并将后面的来电记录相应往前移,然后将要存储的来电记录存储在最后面;如果所有已存来电记录均为贵宾,则将第1条来电记录删除,并将后面的来电记录相应往前移,然后将要存储的来电记录存储在最后面。(3)如果既没有相同号码的来电记录,存储也未满,就直接将要存储的来电记录紧挨着存储在最后面。

  另外,如果是重复来电(情况(1))或存储已满(情况(2)),若被删除的来电为未查看过的新来电,则在返回新来电记录的第1BYTE时,还需将新来电的第1BYTE的BIT6置1,作为返回参数,以示删除了一条未查看的新来电。否则(包括情况(3)),将新来电的第1BYTE的BIT6清0,作为返回参数。

  存储之后,还要判断该新来电记录的第13BYTE是否为零(是否已有人名),如果不为零(已有人名)就退出,然后返回新来电的第1BYTE;如果为零(人名空)就到电话本中去查找,看有没有电话本记录的电话号码(记录的第1BYTE~第8BYTE)与该来电记录的电话号码(第5BYTE~第12BYTE)相同,如果没有相同的电话本记录,就返回新来电的第1BYTE;如果有相同的电话本记录,则除了返回新来电的第1BYTE之外,还要将该电话本记录的人名(第9BYTE~第24BYTE)作为参数返回。

命令: 2Eh
命令参数: 去电号码(10BYTE)
返回参数: 无
回应: 00h, 21h
命令描述: 存储该去电号码:每十个BYTE为一个号码,依次进行存储,如果存储区域满了就将第1个号码删掉,其他号码相应往前移,再将要存储的号码存放在最后。

命令: 2Fh
命令参数: 电话本记录(24BYTE)
返回参数: 无
回应: 00h, 21h, 11H
命令描述: 存储该电话本记录。
电话本记录共24个BYTE,第1BYTE~第8BYTE为电话号码,第9BYTE~第24BYTE为人名。电话本记录按人名的字母顺序进行存储,允许相同的电话本记录多次存储,如果存储区域满了就不予再存。

命令: 30h
命令参数:来电记录序号
返回参数: 来电记录(32BYTE)
回应: 00h, 21h,10H
命令描述: 将一组来电记录读出,判断第13个BYTE是否为零(是否已有人名名),如果不为零(已有人名)就直接返回该来电记录;如果为零(人名空),就到电话本中去查找,看有没有电话本记录的电话号码(记录的第1BYTE到第8BYTE)与该来电记录的电话号码(记录的第5BYTE到第12BYTE)相同,如果有相同的电话本记录,就将该来电记录的人名(记录的第13BYTE到第28BYTE)换成相应电话本记录的人名(记录的第9BYTE到第24BYTE),然后返回该来电记录,否则,直接返回该来电记录。

命令: 31h
命令参数:去电号码序号
返回参数:去电号码(10BYTE)
回应: 00h, 21h, 10H
命令描述: 将一组去电号码读出来,送给主CPU。

命令: 32h
命令参数:电话本记录序号
返回参数:电话本记录(24BYTE)
回应: 00h, 21h, 10H
命令描述: 将一组电话本记录读出来,送给主CPU。

命令: 33h
命令参数:来电记录序号
返回参数: 无
回应: 00h, 21h, 10H
命令描述: 删除相应序号的来电记录。

命令: 34h
命令参数:去电号码序号
返回参数: 无
回应: 00h, 21h, 10H
命令描述: 删除相应序号的去电号码。

命令: 35h
命令参数:电话本记录序号
返回参数: 无
回应: 00h, 21h, 10H
命令描述: 删除相应序号的电话本记录。

命令: 36h
命令参数:电话本记录的人名首字母(1个BYTE)
返回参数:电话本记录序号(1BYTE)、电话本记录(24BYTE)
回应: 00h, 21h, 10H
命令描述: 在电话本中查找第一个人名首字母与所送字母参数相同的电话本记录,找到后将该组电话本记录的序号及其内容返回,送给主CPU。如果电话本中没有人名首字母与所送字母参数相同的记录,就将人名首字母排在该字母之后的第一个电话本记录的序号及其内容返回。如果所送字母参数在所有电话本记录的首字母之后,则返回第1条电话本记录的序号及其内容。

命令: 37H
命令参数: 来电记录序号,来电记录第1BYTE
返回参数: 无
回应: 00H,21H
命令描述: 将命令参数中所送来电记录序号所对应的来电记录的第1BYTE的BIT7~BIT4改成命令参数中所送来电记录第1BYTE的BIT7~BIT4。

命令: 38h
命令参数: 无
返回参数: 无
回应: 00h, 21h
命令描述: 删除所有来电记录。

命令: 39h
命令参数: 无
返回参数: 无
回应: 00h, 21h
命令描述: 删除所有去电号码。

命令: 3Ah
命令参数: 无
返回参数: 无
回应: 00h, 21h
命令描述: 删除所有电话本记录。


5、 存储器结构

  本系统共有两片外挂存储器,一片是程序存储器,2Mb,用来存放控制程序、MIDI音乐和语音数据的;一片是数据存储器,4Mb,用来存放产品ID和识别模板、电话号码、记录的回放以及实时录音的。具体结构如下:

1. 程序存储器
  地址分配如下:00000h-0ffffh用于存放控制程序及MIDI音乐数据,10000-3ffffh存放提示音数据。


2. 数据存储器
  数据存储器共分七大块:产品ID及系统参数,语音电话本属性页、人名、电话号码、语音模板、人名录音,实时录音,普通电话本数据及其它数据,各数据块说明如下:

产品ID及系统参数: 存储产品ID及各项系统参数
属性页: 存放语音电话本电话本各记录有效或无效的标志
语音电话本人名: 存放语音电话本中每条记录的人名
语音电话电话号码:存放语音电话本中每条记录的电话号码
语音电话语音模板:存放语音电话本中每条记录的语音模板
语音电话人名录音:放语音电话本中每条记录的人名录音
实时录音:存储通话中的实时录音,每条录音可长达18秒,最多允许3条录音
普通电话本数据空间: 用于存储普通电话本人名及号码,以及一些其它数据,由主CPU控制。

语音电话本数据结构

  语音电话本最多可存30或60条记录,每条记录由以下内容组成:一个声音模板、一个字符人名、一个电话号码、一个人名录音。每个电话号码最长可允许8个字节,每字节以BCD码存储两位数字。

图十

产品ID及系统属性
属性页

人名

电话号码
语音模板
人名录音
实时录音

普通电话本及其它数据


6、 附录 - 提示音表

表六 提示音表


深圳捷通公司供稿 CTI论坛编辑



相关链接:
语音合成芯片情况介绍和产品设想 2003-05-06
数字可视复读机方案 2003-04-09
语音识别控制电话机方案 2003-04-04
智能早教机方案 2003-04-03
也谈语音识别技术在玩具领域的低成本应用 2003-01-06

分类信息:     技术_语音识别_解决方案