摘要:介绍了新型、低成本语音识别电路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 2 3 4 8~5 12~9 13 14 15 17、18 19 20 21 22 23 24 26 27 28 29~40 16、25 |
PORES GNDD LED1 LED2 POB1~POB4 PIT1~PIT4 VDDD CAPV OSC1 PIM1、PIM2 TEST POSL GNDA TREF A2OUT A1IN A1OUT MICP VDDA POA1~POA12 NC |
清除A输出口(POA)输出状态,高有效) 数字地 驱动LED,低有效,可编程用于指示语音录音的状态 驱动LED,低有效,可编程用于指示语音识别的结果 B输出口,可编程用于键盘驱动 低脉冲触发输入,内部有上拉电阻,可编程用于键盘输入 数字电源 通过电容接地,对内部电压进行滤波 振荡频率控制,通过56kΩ电阻接地 普通输入引脚,可编程用于芯片工作模式控制:PIM1=1时,芯片具有识别功能;PIM2=1时,A端口可以输出。反之不能进行识别或A端口不能输出 测试端,芯片出厂时测试用 对A输出口有效电平进行选择:高时A口高有效;低时A口低有效 模拟地 语音输入门限控制端 第二级放大器输出端 第一级放大器负输入端 第一级放大器输出端 电子麦克风电源供应端 模拟电源 A输出口,可编程用于语音录入/语音识别对的存储体指示 未用引脚 |
3 AP7003-01的应用
AP7003-01可通过串行口与微控制器连接,应用图如图3所示。AP7003-01共有22个输入指令和15个输出指令,如表2所示。AP7003-01工作时序及时间定义如图4所示。
表2 AP70001指令与代码
输 入 | 输 出 | ||||||
指令 | 代码 | 指令 | 代码 | 指令 | 代码 | 指令 | 代码 |
Store Word1 Store Word2 Store Word3 Store Word4 Store Word5 Store Word6 Store Word7 Store Word8 Store Word9 Store Word10 Store Word11 |
01H |
Store Word12 Store Flag Clear Word Set R_Level 1 Set R_Level 2 Set R_Level 3 Set R_Level 4 Set R_Mode 1 Set R_Mode 2 Clear Outputs Shut Down |
0CH |
Match Word1 Match Word2 Match Word3 Match Word4 Match Word5 Match Word6 Match Word7 Match Word8 Match Word9 Match Word10 Match Word11 |
01H |
Match Word12 Done No Match Word Data In Error |
0CH |
系统上电后必须先给AP7003-01发清除指令Clear Word以清除12个存储体内的内容,然后发出一个存储指令(Store Word1~Store Word12之一)将目标词录入芯片相应的存储体内。当LED1有效时,表示芯片准备好录入目标词。通过指令Set R_Mode1或Set R_Mode2可选择两种识别模式:Set R_Mode1为单词识别模式,该模式下识别操作完成后,芯片进入省电状态以等待表的指令;Set R_Mode2为连词识别模式,该模式下识别操作完成后芯片返回语音录入状态。
进入语音识别状态前必须通过指令Set R_Level1~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。
指令Stroe Word1~12、Store Flag、Clear Word、Set R_Level1~4和Clear Outputs执行完成后,芯片将输出一个Done代码。芯片每次执行完语音识别后,输出一个匹配指示代码(Match Word1~Match Word12或NO Match)。当有一个语音匹配时,LED2有效,如果PIM2被拉高(端口A使能),则端口相应的引脚变为有效。如果PIM1引脚被拉底,芯片的语音识别功能被禁止。
4 AP7003-02的应用
AP7..3-02可以单独使用,无需控制器,适合于用键盘直接控制。芯片有8键控制和12键控制两种键盘操作模式,如图5所示。各键及其功能见表3(a)、(b)。
上电后POB1~POB4均被置成低电平。当有键按下后,芯片按POB1→POB2→POB3→POB4的顺序依次发出键盘扫描信号,扫描信号为16ms低脉冲加64ms间隔,且循环进行,按键信号从PIT1~PIT4输入芯片。键盘阵列如表3(c)所示。
在识别模式初始状态,只有LED1是有效的。识别完成后,如果没有词相匹配,LED1闪烁3秒钟后回到识别模式初始状态;如果有词相匹配,LED2有效,与匹配词所在存储体相对应的POA输出端口也有效。如果芯片被设置成自动模式(PIM2=0),则LED2及POA的输出将在3分钟后被清除,之后回到识别模式初始状态。当PIM2=0时,如果连接8分钟没有语音输入芯片,将自动进入省电模式。
5 应注意的问题
(1)语音识别电路对外部麦克风(MIC)的分贝值有一定的要求。使用经验表明,本语音识别电路中选用56dB的麦克风可达到最佳效果。
(2)语音识别前设置的匹配度是一个影响识别率高低的重要因素,在实验过程中需要根据使用环境、使用要求等情况多次实验才能确定最佳值。
(3)AP7003的工作电压为2.4V~4.5V。对于3V的应用系统,可直接使用;如果您的应用系统是5V工作电压,建议通过一个二极管给AP7003供电,以保证系统长期稳定可靠地工作,也有利于降低系统功耗。
表3(a)AP7003-02键盘模式
Mode Key NO. |
8Key(PIM1=0) | 12Key(PIM1=1) |
1 |
Store Word Word Up Word Down Set R_Level 1 Set R_Level 2 Set R_Level 3 Clear Output Shut Down N.A. N.A. N.A. N.A. Store Word Clear Word |
Store Word1 Store Word2 Store Word3 Store Word4 Store Word5 Store Word6 Store Word7 Store Word8 Set R_Level 1 Set R_Level 2 Clear Output Shut Down N.A. Clear Word |
表3(b)AP7003-02按键功能
键 名 | 功 能 说 明 |
Clear Word Store Word Store Word1~8 Word Up Word Down Set R_Level1~3 Clear Output Shut Down |
清除12个存储体内容,之后进入存储目标词1(Store
SWord1)状态 选择当前存储体存储录入的语音 选择12个存储体中的一个以存储录入的语音 选择后个存储体以存储录入的语音;存储体12的“后一个”是存储体1 选择前一个存储体以存储录入的语音;存储体1的“前一个”仍是存储1 设置语音识别的匹配度,之后进入语音识别初始状态 清除POA1~POA12和LED2状态,之后进入语音识别初始状态 将芯片转入省电模式 |
表3(c) AP7003-02键盘阵列
POB1 | POB2 | POB3 | POB4 | |
PIT1 | KEY1 | KEY2 | KEY3 | KEY4 |
PIT2 | KEY5 | KEY6 | KEY7 | KEY8 |
PIT3 | KEY9 | KEY10 | KEY11 | KEY12 |
应用表明,AP7003使用简单方便,具有较高的识别率,一般可达80%以上,是一款较好的语音识别芯片。
上一篇:羿步FIFO的VHDL设计
下一篇:低电压放大器AD8517