微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > C8051F040单片机在语音识别系统中的应用

C8051F040单片机在语音识别系统中的应用

时间:08-13 来源:互联网 点击:

部存储器。

键盘控制模块用于对语音的录入、模版的训练和语音信号的识别过程进行控制。

LCD显示模块用于显示当前的系统状况和识别结果,以便提示用户进行下一步的操作。

串口通信模块用于实现上下位机之间的点对点通讯。

语音识别系统的硬件设计

微控制器

语音信号的数据量非常大,系统语音识别时需要具有较强的计算能力。系统选用C8051F040单片机作为处理器。

C8051F040单片机是完全集成的混合信号系统级芯片,采用了流水线处理技术,除了不再划分时钟周期和机器周期,还能在执行指令期间对下一条指令进行预处理,因而大大提高了指令的执行速度。C8051F040有着强大的处理能力,它在一个芯片内集成了数据采集和控制所需的几乎全部硬件外设,代表了目前8位单片机的发展方向。

图4 7805芯片连接图

图5 AS1117芯片连接图

图6 两级放大电路图

图7 带通滤波器电路图

电源系统

本系统外部提供9V的直流电源,因此采用线性稳压芯片7805作为电压调节和稳压器件来将较高的直流电压转变成所需的工作电压,即将9V~12V电源转换为稳定的5V直流电源。

使用7805芯片进行稳压之后,采用AS1117芯片稳压数字电源DV和模拟电源AV的输入。

输入系统

输入系统用于把语音信号通过麦克风变成电信号。同时,由于语音信号比较微弱,所以必须要将电信号适当地放大。一般情况下,拾音器的输出为毫伏级的电压,要将电压信号放大到伏级,需要放大的倍数大致为1000倍。

由于输入到放大器的信号很微小,为了减小动态误差,本系统处于深度反馈之中。同相放大器的电压放大倍数一般在1~100之间,由于放大倍数为1000左右,本文选择NE5532芯片进行两级同向放大器的设计。在两级放大电路中,前一级的输出信号就是后一级的输入信号,后一级的输入电阻就是前一级的负载。两级放大电路的电压放大倍数等于各级电压放大倍数的乘积。

带通滤波电路

语音的频率范围一般为300Hz~3.4KHz,为了提高语音信号的质量,可以在输入与输出的回路中设计一个带通滤波器来滤除语音频率范围以外的频率成分。本文采用运算放大器NE5532设计巴特沃斯带通滤波器。这个带通滤波器通过前级的二阶压控型低通滤波器与后级的二阶压控高通滤波器级联而成。需要低通滤波器的上限截止频率为3.4KHz,高通滤波器的下限截止频率为300Hz。

存储系统

在系统中,对语音信号的存储以及识别算法要求系统有足够的空间来存储这些原始数据和中间数据。本文选择的C8051F040单片机虽然集成了4KB的外部内存,但是对于系统大量的存储需要,还需要扩展外部内存。语音识别时采用8KHz的采样率,每段2s的音频信号至少需要16KB的存储空间,因此系统使用外扩256K字节的FLASH ROM作为语音参考模板的存储空间。对于待识别语音,本系统外扩了32K字节的SRAM作为存储空间,这样就至少能录制4s的语音信号,满足需求。在扩展内存之时,为了配置端口的方便考虑,将其扩展到P4~P7口,即P7口对应于8位数据线,P6口对应于地址线的高8位。

通信电路

为了便于系统调试,系统采用串口通信作为单片机与上位机之间的通讯方式,将计算数据和识别结果传输到机之中。

C8051F040有两种串行通信总线:增强型串行通信总线UART0和异步全双工串行通信总线UART1。

图8 单片机与MAX3232接口电路图

UART0包含四种工作模式(模式0、模式1、模式2和模式3),本系统选择UART0的模式1作为通信模式。UART0的模式1:同步方式为异步,波特时钟为T1、T2、T3或T4溢出,有效位为8位,1起始位,1停止位。

单片机与PC机之间最简单的通信方式就是串口通信。但是RS-223C所规定的逻辑电平与单片机的逻辑电平是不同,必须把单片机的电平转变为RS-223C电平。本系统采用MAX3232芯片进行这种电平转换。单片机与MAX3232的接口电路如图8所示。

MAX3232的输入TXD和RXD通过单片机的交叉开关配置,可以配置到P0.0口以及P0.1口。将TXD和RXD分别接入MAX3232的一端输入T1in以及R1out。MAX3232的输出TD、RD分别接入9针串行插口的2脚和3脚,5脚接地,然后通过串口线与PC上的串行接口相连,即可完成单片机与PC机之间的通信电路搭建。

系统软件设计

在语音识别系统的整个程序设计中,系统进入主程序之后,主程序采用调用子程序的方式来完成对语音模板的训练和识别等任务。系统的主程序流程如图9所示。系统运行之后,有按键按下时,判断为何种命令,如果是模板训练命令则进行模板训练的算法操作,如果是语音识别命令则执行语音识别子程序。

结束语

C8051F040是高度集成的混合信号SoC级微控制器芯片。本文基于此芯片,实现了特定人孤立词语音识别的系统的设计。硬件设计

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top