ARM为核心的嵌入式语音识别电路模块设计
服务机器人以服务为目的,因此人们需要一种更方便、更自然、更加人性化的方式与机器人交互,而不再满足于复杂的键盘和按钮操作。基于听觉的人机交互是该领域的一个重要发展方向。目前主流的语音识别技术是基于统计模式。然而,由于统计模型训练算法复杂,运算量大,一般由工控机、PC机或笔记本来完成,这无疑限制了它的运用。嵌入式语音交互已成为目前研究的热门课题。 嵌入式语音识别系统和PC机的语音识别系统相比,虽然其运算速度和内存容量有一定限制,但它具有体积小、功耗低、可靠性高、投入小、安装灵活等优点,特别适用于智能家居、机器人及消费电子等领域。
模块的核心处理单元选用ST公司的基于ARM Cortex-M3内核的32位处理器STM32F103C8T6。本模块以对话管理单元为中心,通过以LD3320芯片为核心的硬件单元实现语音识别功能,采用嵌入式操作系统μC/OS-II来实现统一的任务调度和外围设备管理。经过大量的实验数据验证,本文设计的语音识别模块具有高实时性、高识别率、高稳定性的优点。
语音识别电路
图3为语音识别部分原理图,参照了ICRoute发布的LD3320数据手册进行设计。LD3320的内部集成了快速稳定的优化算法,不需外接Fla-sh、RAM,不需要用户事先训练和录音而完成非特定人语音识别,识别准确率高。图中,LD3320采用并行方式直接与STM32F103C8T6相接,均采用1kΩ电阻上拉,A0用于判断是数据段还是地址段;控制信号,复位信号以及中断返回信号INTB与STM32F103C8T6直接相连,采用10kΩ电阻上拉,辅助系统稳定工作;和STM32F103C8T6采用同一个外部8 MHz时钟;发光二极管D1、D2用于复位后的上电指示;MBS(引脚12)作为麦克风偏置,接了一个RC电路,保证能输出一个浮动电压给麦克风。