摘 要 介绍了新型、低成本语音识别电路AP7003的性能、引脚、指令等内容,并给出了应用电路原理图及详细的应用方法。 关键词 语音识别 键盘控制 CPU控制 存储体
|
1 AP7003简介 AP7003是一款新型、低成本语音识别专用集成电路,内置有麦克风放大器、A/D转换器、语音处理器和I/O控制器,经预处理后可识别12组不同的字词,每组1.5秒时长,可连词或单词识别。AP7003包括AP7003-01(由CPU串行控制)和AP7003-02(由按键直接控制)两种型号,且具有高度的I/O可编程性,使用简单方便,可广泛应用于玩具、识别转控、自动答录等领域。 AP7003的功能框图如图1所示。 |
|
其主要特性如下: · 内置麦克风放大器 · 内置A/D转换器; · DIP40双列直插式封装; · 识别12组1.5秒时长字词; · I/O口具有2个普通输入、4个触发输入、2个输出口(分别有4个和12个输出)、2个LED驱动; · 指令优化以方便用户使用; · 2.4V~4.5V工作电压,且具备低功耗模式。
|
2 AP7003功能说明 AP7003具有两种工作模式,即录音模式和识别模式。在使用识别模式之前,应先将目标词录入芯片内。AP7003内有12个存储体用于存储12组不同的字句,每个存储体可存储1.5秒时长的字词,可通过键盘或按程序编制的顺序选择存储体录入及存放目标词。语音可通过外部麦克风或其它媒体录入芯片内,经内部处理后以不同的数字特征信号保存于存储体中。 目标词录入芯片内后即可将工作模式转换到识别模式,工作时芯片将当前语音与事先已录入存储体的目标词语音相比较,如果有语音特征相匹配,则在芯片的相应输出端口输出高电平或低电平。需要时可以将芯片编程为省电模式以节省电能,当有按键信号时芯片将被唤醒。 AP7003采用DIP40封装,引脚功能如表1所示,其典型应用电路如图2所示。 |
|
表1 AP7003引脚功能说明 |
引脚号 |
引脚名称 |
功能说明 |
1 |
PORES |
清除A输出口(POA)输出状态,高有效 |
2 |
GNDD |
数字地 |
3 |
LED1 |
驱动LED,低有效,可编程用于指示语音录音的状态 |
4 |
LED2 |
驱动LED,低有效,可编程用于指示语音识别的结果 |
8~5 |
POB1~POB4 |
B输出口,可编程用于键盘驱动识别的结果 |
12~9 |
PIT1~PIT4 |
低脉冲触发输入,内部有上拉电阻,可编程用于键盘输入 |
13 |
VDDD |
数字电源 |
14 |
CAPV |
通过电容接地,对内部电压进行滤波 |
15 |
OSC1 |
振荡频率控制,通过56KΩ电阻接地 |
17、18 |
PIM1、PIM2 |
普通输入引脚,可编程用于芯片工作模式控制:PIM1=1时,芯片具有识别功能;PIM2=1时,A端口可以输出。反之不能 进行识别或A端口不能输出 |
19 |
TEST |
测试端,芯片出厂时测试用 |
20 |
POSL |
对A输出口有效电平进行选择:高时A口高有效;低时A口低有效 |
21 |
GNDA |
模拟地涑隹谟行У缙浇 |
22 |
TREF |
语音输入门限控制端 |
23 |
A2OUT |
第二级放大器输出端 |
24 |
A1IN |
级放大器负输入端 |
26 |
A1OUT |
级放大器输出端 |
27 |
MICP |
电子麦克风电源供应端 |
28 |
VDDA |
模拟电源 |
29~40 |
POA1~POA12 |
A输出口,可编程用于语音录入/语音识别对的存储体指示 |
16、25 |
NC |
未用引脚 | |
3 AP7003-01的应用 AP7003-01可通过串行口与微控制器连接,应用图如图3所示. |
|
AP7003-01共有22个输入指令和15个输出指令,如表2所示。AP7003-01工作时序及时间定义如图4所示。 |
|
|
系统上电后必须先给AP7003-01发清除指令Clear Word以清除12个存储体内的内容,然后发出一个存储指令(Store Word1~Store Word12之一)将目标词录入芯片相应的存储体内。当LED1有效时表示芯片准备好录入目标词。通过指令Set R_Model或Set R_Mode2可选择两种识别模式:Set R_Model为单词识别模式,该模式下识别操作完成后芯片进入省电状态以等待新的指令;Set R_Mode2为连词识别模式,该模式下识别操作完成后芯片返回语音录入状态。 进入语音识别状态前必须通过指令Set R_Levell~Set R_Level4设置识别时要求的匹配度,Set R_Level4要求匹配程度,而Set R_Level1,可以根据经验设定为中间某一个值。跟在一个Store Word1~12指令之后的Store Flag指令将前面录入的语音存入指定的存储体以作为目标词。Clear Outputs指令用于清除A端口输出状态(POA1~POA12)。Shut Down指令将芯片转入关闭模式以节省电能。 当数据格式或时序出现在串行数据(SERIAL DATA)输入口PIT3、PIT2、PIT1时,芯片将发送错误代码到串行数据输出口POB4,同时将数据、时钟发送到串行数据输出口POB2、POB3。 指令Store Word1~12、Store Flag、Clear Word、Set R_Level1~4和Clear Outputs执行完成后芯片将输出一个Done代码。芯片每次执行完语音识别后,输出一个匹配指示代码(Match Word1~Match Word12或NO Match)。当有一个语音匹配时,LED2有效,如果PIM2被拉高(端口A使能),则A端口相应的引脚变为有效。如果PIM1引脚被拉低,芯片的语音识别功能被禁止。
|
4 AP7003-02的应用 AP7003-02可以单独使用,无需控制器,适合于用键盘直接控制。芯片有8键控制和12键控制两种键盘操作模式,如图5所示。各键及其功能见表3(a)、(b)。 |
表3(a) AP7003-02键盘模式 |
Modey |
8Key PIM1=0 |
12Key PIM1=1 |
Key NO. |
|
|
1 |
Store Word |
Store Word1 |
2 |
Word Up |
Store Word2 |
3 |
Word Down |
Store Word3 |
4 |
Set R_Level1 |
Store Word4 |
5 |
Set R_Level2 |
Store Word5 |
6 |
Set R_Level3 |
Store Word6 |
7 |
Clear Output |
Store Word7 |
8 |
Shut Down |
Store Word8 |
9 |
N.A. |
Set R_Level1 |
10 |
N.A. |
Set R_Level2 |
11 |
N.A. |
Clear Output |
12 |
N.A. |
Shut Down |
PIT3 |
Store Word |
N.A. |
PIT4 |
Clear Word |
Clear | |
表3 b AP7003-2按键功能 |
键 名 |
功 能 说 明 |
Clear Word |
清除12个存储体内容,之后进入存储目标词1(Store Word1)状态 |
Store Word |
选择当前存储体以存储录入的语音!?/td> |
Store Word1~8 |
选择12个存储体中的一个以存储录入的语音 |
Wor Up |
选择后一个存储体以存储录入的语音;存储体12的“后一个”是存储体1 |
Word Down |
选择前一个存储体以存储录入的语音;存储体1的“前一个”仍是存储体1 |
et R_Level1~3 |
设置语音识别的匹配度,之后进入语音识别初始状态 |
Clear Output |
清除POA1~POA12和LED2状态,之后进入语音识别初始状态 |
Shut Down |
将芯片转入省电模式 | |
|
|
上电后POB1~POB4均被置成低电平。当有键按下时,芯片按POB1→POB2→POB3→POB4的顺序依次发出键盘扫描信号,扫描信号为16ms低脉冲加64ms间隔,且循环进行,按键信号从PIT1~PIT4输入芯片。键盘阵列如表3(c)所示。 |
表3(c)AP7003-02键盘阵列 |
|
POB1 |
POB2 |
POB3 |
POB4 |
PIT1 |
KEY1 |
KEY2 |
KEY3 |
KEY4 |
PIT2 |
KEY5 |
KEY6 |
KEY7 |
KEY8 |
PIT3 |
KEY9 |
KEY10 |
KEY11 |
KEY12 | |
上电后12个存储体在录入目标词之前必须首先清空。开始录入目标词时LED1及POA1~POA12之一(与所选择的存储体相对应的一个)有效,目标词录入到存储体后芯片进入识别模式。 在识别模式初始状态,只有LED1是有效的。识别完成后,如果没有词相匹配,LED1闪烁3秒钟后回到识别模式初始状态;如果有词相匹配,LED2有效,与匹配词所在存储体相对应的POA输出端口也有效。如果芯片被设置成自动模式(PIM2=0),则LED2及POA的输出将在3分钟后被清除,之后回到识别模式初始状态。当PIM2=0时,如果连续8分钟没有语音输入芯片,将自动进入省电模式。
|
5 应注意的问题 1语音识别电路对外部麦克风(MIC)的分贝值有一定的要求。使用经验表明,本语音识别电路中选用56dB的麦克风可达到效果。 2语音识别前设置的匹配度是一个影响识别率高低的重要因素,在实验过程中需要根据使用环境、使用要求等情况多次实验才能确定值。 3AP7003的工作电压为2.4V~4.5V。对于3V的应用系统,可直接使用;如果您的应用系统是5V工作电压,建议通过一个二极管给AP7003供电,以保证系统长期稳定可靠地工作,也有利于降低系统功耗。 应用表明,AP7003使用简单方便,具有较高的识别率,一般可达80%以上,是一款较好的语音识别芯片。
|