基于STM32的语音识别智能分类垃圾桶设计

2021-08-06 11:13金国华贾泽宇熊浩淼杨光裕赵宇凯
科教导刊·电子版 2021年17期
关键词:字库垃圾桶串口

金国华 贾泽宇 熊浩淼 杨光裕 赵宇凯

(大连海事大学国家级电工电子教学示范中心 辽宁·大连 116026)

1 系统功能和结构

1.1 系统功能

(1)离线语音识别:当语音信号强度达到阈值,认为是接收到语音信号,并开始进行智能语音识别(ASR),当检测到唤醒词“垃圾桶”,系统被唤醒,等待用户说出垃圾名称。当再次接收到大于阈值的语音信号,再次进行ASR,判断出用户说的垃圾名称。

(2)垃圾分类处理和桶盖自动打开:检测到用户说出的垃圾名称后,通过关键词进行垃圾分类。分出垃圾所属类型后,STMSTM32控制舵机打开对应桶盖控制舵机打开对应桶盖。6s后自动关闭桶盖后自动关闭桶盖。

(3)语音播报:当stm32端检测到用户说出唤醒词,发送指令给语音播报模块,外放喇叭便会播报“我在”的音频,若判断到相应的垃圾种类,便会播报音频。

(4)OLED屏幕显示:OLED屏幕显示出作品名、作者等信息,当检测到唤醒词时会显示“我在”,当分类完成后,显示垃圾所属类型。

1.2 系统结构

本设计利用STM32单片机作为系统控制核心,采用非特定语音识别芯片LD3320,利用非特定语音识别算法(SI-ASR)实现垃圾桶的智能化声音识别和语音控制,完成语音控制垃圾桶各方向运动、非接触式智能开闭等功能。通过JQ8400集成语音播报芯片配合OLED屏幕,设计UI界面,实现人机交互功能。系统结构框图如图1所示:

图1:系统结构框图

2 硬件设计

系统采用的模块有:STM32F103RCT6核心板、LD3320语音识别模块、JQ8400语音播报模块、OLED屏幕、舵机等。系统原理图如图2如图2。

图2:系统原理图

2.1 STM32F103RCT6核心板

STM32F103RCT6是一种嵌入式-微控制器的集成电路,采用Cortex-M3内核。Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,指令总线和数据总线共享同一个存储器空间。硬件资源包括:48KB SRAM、256KB FLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口及51个通用IO口。

2.2 LD3320语音识别模块

LD3320是一颗基于非特定人语音识别技术的语音识/声控芯片。提供了真正的单芯片语音识解决方案。LD3320芯片上集成了高精度的芯片上集成了高精度的A/D和D/A接口,不再需要外辅助的 Flash和RAM,即可以实现语音识,即可以实现语音识/声控/人机对话功能。并且,识别的关键词语列表是可以动态编辑的。

该模块是由LD3320芯片和STC11L08X单片机组成,可独立进行编程。模块可实现所有普通话的识别。LD3320芯片集成了语音信号采集、识别算法。使用时只需STC单片机与其进行SPI通信,即可实现语音识别功能,无需配套其他单片机即可完成工作。在本系统中,STC单片机通过串口与STM32芯片进行通信,只需将识别结果输出到STM32单片机即可,同时也可在STM32端读取语音识别芯片当前状态。

2.3 JQ 8400语音播报模块

JQ8400语音模块选用的是SOC方案,集成了一个16位的MCU,以及一个专门针对音频解码的ADSP,采用硬解码的方式更加保证了系统稳定性和音质。小巧尺寸更加满足嵌入其它产品的需求这个模块价格低廉、上手容易支持串口控制,使用前只需将录好的音频文件正确命名,通过microUSB线拷贝到模块内存中即可。

2.4 OLED屏幕

选用0.96寸OLED屏幕,该模块具有以下特点:三色可选,模块有两种单色和黄蓝双色两种颜色可选,单色为纯白色和存蓝色,双色为黄蓝双色;超小尺寸,显示为0.96寸;高分辨率,为128*64;接口模式,接口模式,4线串行SPI接口模式;带字库,可显示标准的国简体(GB2312)汉字、8*16点ASCII粗体字库、7*8点ASCII字库、5*7点ASCII字库。系统中采用蓝色单色显示,通过字库显示16*16的GB231格式汉字。

3 软件设计

3.1 主程序流程图

主程序流程图如图3所示:

图3:主程序流程图

3.2 语音识别程序

语音识别(ASR)技术,是基于关键词语列表识的。只需要设定好别的关键词语列表,并把这些以字符形式传送到LD3320内部,就可以对用户说出的关键词语进行识别,不需要做任何的录音训练。每次识别的过程,就是把用户说出语音内容通频谱转换为语音特征,和这个关键词语列表中的条目进行逐一匹配,最优作为识别结果。语音识别程序流程图如图4所示。

图4:语音识别程序流程图

4 系统测试

在硬件连接上选择采用面包板作为线主体,核心板和各模块通过面包进行电气连接;系统电源由脑USB口输出,各个模块的供电压都为5V,可直接由USB口提供;添加OLED屏幕驱动程序并修改,进行UI界面设计;移植LD 3320语音识别模块驱动程序,按照需求进行设置,并进行串口通信测试;移植JQ 8400语音播报模块驱动程序,生成播报内容及相关设置;舵机控制模块调试。系统实物图如图5所示:

图5:实物图

测试过程:打开电源;等待一段时间,保证硬件初始化完成;说出指令“垃圾桶”;等待系统回应“我在”,同时OLED屏幕显示;若无回应则重新说指令,多次无反应可能为语音识别芯片卡死,需重启系统;说出垃圾名称,此时系统播报垃圾所属类型,打开对应垃圾桶,6s后关闭。

5 结束语

本实验项目要求学生综合运用所学知识完成智能分类垃圾桶的系统设计和制作,体现了一个完整的系统设计过程,需要经历学习研究、方案论证、系统软硬件设计、仿真调试、实物制作与测试、设计总结等过程。使学生能深入了解模拟电子线路、数字电路与系统、EDA技术、传感器原理与应用、单片机原理及其相关接口的综合应用技术,掌握单片机应用系统设计的基本方法和步骤。通过本次设计,学生全程参与单片机应用系统的整个设计开发过程,进一步掌握了STM32单片机的应用,对SPI、串口通信的工作方式和配置有了进一步的理解和掌握,学生的自学能力、分析问题和解决问题的能力、软硬件设计能力、实践创新能力、系统工程设计、团队合作意识等方面得到了很好的锻炼和提升。

猜你喜欢
字库垃圾桶串口
投进垃圾桶的信
投进垃圾桶的信
浅谈AB PLC串口跟RFID传感器的通讯应用
No.2 喜茶联合汉仪字库推出微型书和书签
某型号产品的字库迁移优化设计
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
相同字库条件下激光打印文件特征的变化规律和特点
基于并行控制的FPGA多串口拓展实现
再议字库知识产权保护