微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于嵌入式Linux的语音识别系统硬软件设计

基于嵌入式Linux的语音识别系统硬软件设计

时间:07-02 来源:RF技术社区 点击:

该设计运用三星公司的S3C2440,结合ICRoute公司的高性能语音识别芯片LD3320,进行了语音识别系统的硬件和软件设计。在嵌入式Linux操作系统下,运用多进程机制完成了对语音识别芯片、超声波测距和云台的控制,并将语音识别技术应用于多角度超声波测距系统中。通过测试,系统可以通过识别语音指令控制测量方向,无需手动干预,最后将测量结果通过语音播放出来。

1.引言

语言是人类传播信息的重要手段,语音识别则是实现语音控制的关键技术。采用嵌入式语音识别技术使得设备具有功耗低、使用简便、灵活等优点,摆脱了复杂按键和按钮的困扰,在服务机器人、智能家居及消费电子等领域发挥着重要作用。

2.系统构成与原理

语 音识别主要包括两个阶段:训练阶段和识别阶段。在训练或识别过程中,都必须对输入语音进行预处理和特征提取。训练阶段通过用户输入的若干次训练语音,经过 预处理和特征提取后得到特征参数,最后通过特征参数建模,进而建立训练语音的参考模型库。而识别阶段是将输入语音的特征矢量参数和参考模型库中的参考模型 进行相似性度量,然后把相似度最高的输入特征矢量作为识别结果输出,从而达到语音识别目的,如图1 所示。

1
图1 语音识别原理框图

语音识别技术可分为:特定人识别和非特定人识别两种。特定人识别是指需要对待识别人的语音进行采集训练,识别对象为专门的人;非特定人识别是指识别对象为大多数用户,一般要采集多个人的语音进行录音、训练和学习,从而达到较高的识别率。

在 实际应用中,现代技术开发嵌入式语音识别有两种实现方式:调入嵌入式语音开发包和外扩语音识别芯片。本文的语音识别系统方案是以嵌入式处理器 S3C2440 为核心,外扩非特定人语音识别芯片LD3320,并将超声波测距模块和云台相结合作为系统的机械执行机构。系统测量过程如下:首先根据语音指令控制两自由 度云台的位姿,使超声波探测器指向特定方向,然后开启超声波探测器,测量出前方障碍物距离,最后将测量结果转化为可以播放的二进制数据流,通过 LD3320的播放功能完成数据的播放。

3.硬件电路设计方案

硬件电路主要包括 语音识别部分、主控部分、超声波测距部分和舵机控制部分,如图2 所示。处理器为三星公司的S3C2440,系统主频最高可达533 MHz,支持SPI、I2C、UART等接口,能够满足控制系统的需求。主控芯片S3C2440 通过SPI 总线完成对语音识别模块的读写操作,超声波测距部分和舵机控制部分由处理器的GPIO进行统一控制。

2
图2 硬件电路设计方案

3.1 语音识别电路设计

为了使系统能够识别操作人员发出的语音指令,设计中采用了由ICRoute 公司设计生产的非特定人语音识别芯片LD3320,它集成了语音识别处理电路和一些外部电路,包括AD、DA转换器、麦克风接口、声音输出接口等,不需要 外接任何的辅助芯片如Flash、RAM。在主控制器的控制下,可以识别出预先添加到识别列表中的内容。设计中参考了ICRoute 发布的LD3320 数据手册,图中LD3320 的P0、P1、P2引脚通过SPI 接口与嵌入式处理器相接,控制信号WRB、CSB、RSTB以及中断返回信号引脚INTB与处理器S3C2440直接相连,如图3 所示。

3
图3 语音模块和核心板连接关系

3.2 超声波测距和舵机控制电路设计

超 声波测距原理相对比较成熟,系统中采用超声波测距模块HC-SR04。该模块有两个TTL电平通信引脚,兼容3.3V电平。其中,控制端口Trig 发一个10us 以上的高电平,接收端口Echo 将输出与距离成正比的高电平信号。当Echo 有高电平输出时就开启处理器定时器,当端口电平跳变为低电平时关闭定时器,根据定时器的值可计算得到障碍物的距离。其中,控制端口Trig 和接收端口Echo 分别接至处理器的GPG9、GPG6引脚。

超声波测距模块的感应角度小于15°,为了扩大测距的感应角度范围,将超声波测距模块安装在两自由度云台上,其中,舵机为SG90(9G),旋转角度为180°。处理器通过GPB0和GPB1分别控制两个舵机以实现云台的旋转,以测量不同方向的障碍物,如图4 所示。

4
图4 超声波测距和舵机控制电路

4.软件设计方案

系统软件基于嵌入式Linux 操作系统,实现了语音识别、语音播放、超声波测距和舵机控制等任务,使用fock 机制为每项任务分配独立的进程,使系统可以进行多任务处理。针对不同功能模块编写了相应的底层驱动程序,为上层应用程序提供了调用接口。

系 统工作流程如下:处理器通过SPI 总线对语音识别芯片LD3320 进行通用初始化,使语音识别芯片进入循环

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

网站地图

Top