摘要:ISD-SR3000是Winbond公司推出的新型嵌入式语音识别处理器,它由语音识别引擎、语音压缩引擎和录间功能组成。并带有最优指令系统为核心的PISC/PSP、灵活的CODEC接口和串行主控制器接口,文中介绍了ISD-SR3000的特点、引脚排列和功能。给出了一个用SR3000组成的语音识别系统电路。
关键词:语音识别 微处理器 CODEC SR3000
1 概述
ISD-SR3000是Winbond公司推出的新型嵌入式语音识别处理器,它由语音识别引擎、语音压缩引擎和录音功能部分组成。芯片内包含一个以最优指令系统为核心的并行PISC/DSP、灵活的CODEC接口和一个串行主控制器接口。
ISD-SR3000中的语音识别引擎使用成熟的Hidden Markov模型(HMMS),因而能够识别连续的语音信号,并可与数字信号相连。同时可以由用户选择单语音用户命令、连接数字信号命令和定义说话者命令。
定义说话者命令允许用户分类和辨识声音标签。声音标签可作为用户命令进行姓名目录管理。单用户命令、语音提示符和被定义的说话者的声音标签可储存在外部存储器中。
该芯片可支持单语音用户连续输入语音,并支持用户定义的语音标签,还可为特性抽取实时音质模型查找提供最优化的识别引擎。该芯片提供有μ律、A律或线形CODEC接口以及到主控制器的串行接口。在3.3~5V供电时,其语音识别的电流为40mA,而在低功耗模式时仅为12mA。SR3000语音识别处理器可广泛应用在可存储的仪器仪表、自动化控制系统、无线电话、蜂窝电话、家庭网络、英特网设备等系统。
2 ISD-SR3000的引脚功能
ISD-SR3000采用100引脚QFP封装,其引脚分布如图1所示,各引脚功能如表1所列。
表1 ISD-SR3000引脚信号排列说明
引脚名称 | 信号名称 | 信号类型 | 说 明 |
A(0:15) | A(0:16) | 输出 | 0到16的地址位 |
CCLK | CCLK | 输入/输出 | CODEC主从时钟接口 |
BMCS | BMCS | 输出 | 基存储器芯片选择 |
BMCS/ENV1 | BMCS | 输入/输出 | 基存储器芯片选择或环境选择 |
CDIN | CDIN | 输入 | 从CODEC数据输入 |
CDOUT | CDOUT | 输出 | 从CODEC数据输出 |
CFS0 | CFS0 | 输入/输出 | CODEC0帧同步 |
CFS1 | CFS1 | 输出 | CODEC1帧同步 |
D(0:7) | D(0:7) | 输入/输出 | 0到7的数据位 |
EMCS/ENV0 | EMCS | 输出 | 扩充存储器芯片选择 |
EMCS/ENV0 | ENV0 | 输入 | 环境选择 |
MWCLK | MWCLK | 输入 | 与微处理器连接的时钟 |
MWCS | MWCS | 输入 | 与微处理器连接的芯片选择 |
MWDIN | MWDIN | 输入 | 与微处理器连接的数据输入 |
MWDOUT | MWDOUT | 输出 | 与微处理器连接的数据输出 |
MWRDY | MWRDY | 输出 | 微处理器准备信号 |
MWRQST | MWRQST | 输出 | 微处理器请求信号 |
RESET | RESET | 输入 | 复位 |
TST | TST | 输入 | 测试脚 |
Vcc | Vcc | 电源 | 3.3V电源引脚 |
VccA | VccA | 电源 | 3.3V模拟电源引脚 |
VccHI | VccHI | 电源 | 5V电源引脚 |
Vss | Vss | 电源 | 片内逻辑和输出驱动器地 |
VssA | VssA | 电源 | 片内模拟电路地 |
X1 | X1 | 振荡器 | 晶振接口 |
X2/CLKIN | X2 | 振荡器 | 晶振接口 |
3 基于SR3000的语音识别系统
由ISD-SR3000构成的语音识别系统由电路如图2所示。以下分别介绍电路中各部分的功能。
3.1 复位
RESET端为芯片复位端。加电时RESET必须保持在低电平,时间至少应持续30ms。TST端必须利用上拉电阻以便其处于高电平状态。MWRDY端的值在复位期间没有定义。但在复位100ms后,微处理器将首先等待这个信号或者在这期间此信号被拉高。
在复位时,电路将对ENV0和ENV1的输入端进行采样以决定操作环境。而EMCS/ENV0和BMCS/ENV1端则在复位时用来决定ENV0和ENV1输入信号。利用芯片内的上拉电阻可将ENV0和ENV1置1。而利用一个连接于Vss端上的5.1kΩ的外接电阻则可对ENV0和ENV1置0。
3.2 时钟
SR3000内含片内振荡器,但应用时也可通过X1和X2/CLKIN端的外接晶振或外部时钟源来产生时钟信号。外部时钟源信号应通过X2/CLKIN端输入。要注意的是,外部时钟源电平与CLKIN的输入电平要相符(3.3V或5V)。
3.3 电源
ISD-SR3000可工作在3.3V±10%和5V±10%两种电压,不同电压的接线方式不同。图3是采用3.3V电源时的接线图,图4为采用5V电源时的接线图。
ISD-SR3000具有低功耗模式,在低功耗模式时的电流消耗仅12mA,此时芯片中的一些功能模块处于未激活状态,因而不能进行语音识别。低功耗模式时的引脚CS0和CS1必须置1,这时,MWCLK、MWDIN信号将保持在Vss+0.5V,而RESET、MWCS信号则将保持在Vcc-0.5V。
表2 ISD-SR3000扩展地址线接口信号
信号名称 | 类 型 | 信号单元 | 说 明 |
D[7:0] | 输入/输出 | ISD-SR3000 | 数据总线 |
A[7:1] | 输入 | ISD-SR3000 | 地址总线 |
IOCS | 输入 | ISD-SR3000 | I/O扩展芯片选择,访问I/O寄存器 |
EMCS | 输入 | ISD-SR3000 | 扩展存储器选择 |
DDIN/A16 | 输入 | ISD-SR3000 | I/O操作方向或16位地址总线 |
A15 | 输入 | ISD-SR3000 | 地址线 |
WR[0:1] | 输入 | ISD-SR3000 | 外部存储器的写信号 |
AF[4:0] | 输出 | 到外部扩展存储器 | 扩展地址总线 |
CEFN | 输出 | 到外部扩展存储器 | 外存片迁,用于Flash片选 |
CREN | 输出 | 到外部扩展存储器 | 外存片选,用于ROM片选 |
CSEN | 输出 | 到外部扩展存储器 | 外存片选,用于RAM片选 |
EMWR | 输出 | 到外部扩展存储器 | 外部SRAM写信号 |
CSINTROM | 输出 | 到内部的ROM | 内部ROM片选 |
表2 SR3000支持的典型的CODEC器件
生产商 | CODEC设备名称 | 特 征 | 工作电压 | 转换类型 |
National Semiconductor | TP3054 | 单CODEC | 5V | μ律 |
OKI | MSM7533V | 双CODEC | 5V | μ律,A律 |
Macronix | MX93002FC | 双CODEC | 5V | μ律 |
Lucent | T7503 | 双CODEC | 5V | μ律 |
Motorola | MC145481 | 单CODEC | 3V | μ律 |
3.4 存储器接口
ISD-SR3000利用扩展的Flash(闪存)和RO来存储声音标签、词汇、提示符和音质模型。建议选用16M以上存储容量的扩展Flash存储器,如Am29LA160D等。外接64kB的SRAM可实现HMM算法。表2给出了扩展地址线的接口信号。
ISD-SR3000可为模拟和数字电话提供一个支持主和从CODEC接口模式的CODEC接口,该接口具有8位和16位的信道宽度,能支持可变和固定格式的通信协议。在主模式下,可利用SR3000来控制CODEC的运行以满足模拟电话和独立标准的应用;在从模式下,CODEC接口由外接信号控制,此模式可用于数字电话,如ISDN或DECT线等。CODEC接口使用的5个信号分别为CDIN、CODUT、CCLK、CFS0和CSF1。其中CDIN、CDOUT、CCLK和CFS0被连接到第一个CODEC。CDIN、CDOUT、CCLK和CFS1被连接到第二个CODEC接口。数据通过CDOUT输出端传送给CODEC接口,并通过CDIN输入端从CODEC读出。CCLK和CFS0端在主模式下为输出状态,而在从模式下为输入状态。CFS1是一个输出端。SR3000支持的典型CODEC器件见表3所列。