STM32F103驱动LD3320语音识别模块

news2025/7/14 17:24:06

STM32F103驱动LD3320语音识别模块

    • LD3320语音识别模块简介
    • 模块引脚定义
    • STM32F103ZET6开发板与模块接线
    • 测试代码
    • 实验结果

LD3320语音识别模块简介

基于 LD3320,可以在任何的电子产品中,甚至包括最简单的 51 作为主控芯片的系统中,轻松实现语音识别/声控/人机对话功能。为所有的电子产品增加 VUI(Voice User Interface)语音用户操作界面。
主要特色功能:
1.非特定人语音识别技术: 不需要用户进行录音训练可动态编辑的识别关键词语列表: 只需要把识别的关键词语以字符串的形式传送进芯片,即可以在下次识别中立即生效。比如,用户在 51 等 MCU 的编程中,简单地通过设置芯片的寄存器,把诸如“你好”这样的识别关键词的内容动态地传入芯片中,芯片就可以识别这样设定的关键词语了。
2.真正单芯片解决方案:不需要任何外接的辅助Flash 和RAM,真正降低系统成本。内置高精度A/D和D/A通道:不需要外接AD 芯片,只需要把麦克风接在芯片的AD 引脚上;可以播放声音文件,并提供550mW 的内置放大器。高准确度和实用的语音识别效果。
3.支持用户自由编辑50 条关键词语条:在同一时刻,最多在50 条关键词语中进行识别,终端用户可以根据场景需要,随时编辑和更新这50 条关键词语的内容。词组或短句,长度为不超过 10 个汉字或者 79 个字节的拼音串。
主要技术参数:
1.内置单声道mono 16-bitA/D 模数转换
2. 内置双声道stereo 16-bit D/A数模转换
3. 内置20mW 双声道耳机放大器输出
4. 内置550mW 单声道扬声器放大器输出
5. 支持并行接口或者SPI 接口
6. 内置锁相电路PLL,输入主控时钟频率为2MHz -34MHz

模块引脚定义

在这里插入图片描述
在这里插入图片描述
P1:MIC麦克风插座,板载了MIC咪头可不用接
P2:SPEAK喇叭输出
两组VCC均为3.3V,一组5V均可给模块供电,实际只需接一组即可
MO:SPI接口的MOSI
MI:SPI接口的MISO
SCK:SPI接口的时钟引脚
CS:SPI接口的片选引脚
RST:复位引脚,低电平有效
IRQ:中断输出引脚,低有效
WR:写允许共用SPI允许,低电平有效

STM32F103ZET6开发板与模块接线

STM32LD3320
CSPA4
IRQPB12
SCKPA5
WRPB13
MOPA7
RSTPB15
MIPA6

在这里插入图片描述

测试代码

用户只需修改几处代码,便可以增加新的指令。
1.LD2230_config.h 文件中,增加相应的识别码。(必须)

///识别码(客户修改处)
#define CODE_LSD	1	 //流水灯
#define CODE_SS	  2	 //闪烁
#define CODE_AJCF	3	 //按键触发
#define CODE_QM	  4	 //全灭
#define CODE_JT		5  //状态

2.LD2230.c 文件中,在 LD3320_main 函数中增加相印分支。(必须)

                switch(nAsrRes)		   			//对结果执行相关操作,客户修改
						{
							case CODE_LSD:					//命令“流水灯”
								printf(" 流水灯 指令识别成功\r\n"); 
							
															 break;
							case CODE_SS:	 					//命令“闪烁”
								printf(" 闪烁 指令识别成功\r\n"); 
															 break;
							case CODE_AJCF:					//命令“按键触发”
								printf(" 按键触发 指令识别成功\r\n"); 
															break;
							case CODE_QM:						//命令“全灭”
								printf(" 全灭 指令识别成功\r\n");
															break;
							case CODE_JT:						//命令“状态”
								printf(" 状态 指令识别成功\r\n");
							
							default:break;
						}	

3.LD2230.c 文件中,在 LD_AsrAddFixed 函数中修改相应代码。(必须)DATA_A 为指令的个数, DATA_B 为指令的最大长度, sRecog 二维数组为相应指令的拼音集合(注意空格)。pCode 为指令识别码的集合。

	#define DATE_A 5    //数组二维数值
	#define DATE_B 20		//数组一维数值
	//添加关键词,用户修改
	uint8  sRecog[DATE_A][DATE_B] = {
	 			"liu shui deng",\
				"shan shuo",\
				"an jian chu fa",\
				"quan mie",\
				"zhuang tai"\
		
  								   };	
	uint8  pCode[DATE_A] = {
                 			CODE_LSD,	\
 						    CODE_SS,	\
					        CODE_AJCF,  \
				            CODE_QM,	\
			                CODE_JT		\
  						    };	//添加识别码,用户修改

4.LD2230.c 文件中,在 LD3320_main 函数中修改相应代码。(建议)

///识别码(客户修改处)
 	printf("1、流水灯\r\n"); 
	printf("2、闪烁\r\n"); 				
	printf("3、按键触发\r\n"); 		
	printf("4、全灭\r\n"); 			
	printf("5、状态\r\n"); 

5.LD2230.c 文件中,在 Board_text 函数中修改相应代码。(建议)

static void Board_text(uint8 Code_Val)
{																					 
	switch(Code_Val)  //对结果执行相关操作
	{
		case CODE_LSD:  //命令“流水灯”
			Glide_LED();
		break;
		case CODE_SS:	  //命令“闪烁”
			Flicker_LED();
		break;
		case CODE_AJCF:	//命令“按键触发”
			Key_LED();
		break;
		case CODE_QM:		//命令“全灭”
			Off_LED();
		break;
		case CODE_JT:		//命令“状态”
			Jt_LED();
		break;
		default:break;
	}	
}

实验结果

通过STM32串口1通过USB转串口模块连接到电脑,打开串口助手软件,波特率设为115200,将显示以下内容,然后对着咪头说“流水灯”、“闪烁”、“按键触发”、“全灭”、“状态”命令词,串口助手显示出对应命令词识别成功。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/396008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Axure基础:事件和动态面板

这一篇文章我们主要是将如何做系统左侧的导航,并且告诉大家如何动态的切换各个页面。 一、事件 1、事件基础 事件的核心就是什么时候做什么事。其中的什么时候可以是如下: 能做的事情如下: 2、远程监控云中的事件 监控云需要达到这个效果…

React :一、简单概念

目录 1.什么是React? 2.谁开发的 3.为什么要学React? 4.React的特点? 5.React依赖包 6.第一个React程序 7.虚拟DOM的两种创建方法 8.虚拟DOM和真实DOM 1.什么是React? 用于构建用户界面的JavaScript库,是一个将…

Allegro如何用自带的功能将线段变成铜皮操作指导

Allegro如何用自带的功能将线段变成铜皮操作指导 在做PCB设计的时候,有时根据设计需要将线段变成铜皮,可以借助辅助工具来实现这一操作,但是Allegro自身也自带这个功能,如下图 需要把这段走线变成铜皮 具体操作如下 点击File点击Change Editor

【计算机基础】Socket IO

一、I/O 模型 一个输入操作通常包括两个阶段: 等待数据准备好从内核向进程复制数据 对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待数据到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复…

在超算上安装文件树命令tree

超算平台使用的centos系统没有内置tree命令,需要通过源码安装。记录安装流程如下。 1. 下载源码包 下载链接如下: http://mama.indstate.edu/users/ice/tree/ 选择“Download the latest version” 如本文下载了源码包“tree-2.1.0.tgz”. 2. 源码包…

分享一个应急响应web日志:access.log文件分析小工具

有时做应急响应的时候,需要提取web日志如access.log日志文件来分析系统遭受攻击的具体原因,由于开源的工具并不是很好用,所以自己用Python3写了一个简单的日志分析工具。先介绍一下access.log日志access.log日志文件记录了所有目标对Web服务器…

「题解」日常遇到指针面试题

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章 🔥座右铭:“不要等到什么都没有了,才下定决心去做” &#x1…

项目--基于RTSP协议的简易服务器开发(2)

一、项目创立初衷: 由于之前学过计算机网络的相关知识,了解了计算机网络的基本工作原理,对于主流的协议有一定的了解。但对于应用层的协议还知之甚少,因此我去了解了下目前主要的应用层传输协议,发现RTSP(…

【React】一个评论案例带你入门React组件基础

Q : 你不必一定成为玫瑰,路边的小花同样点缀大地🌼🌼🌼🌼🌼 结构 分为4部分,评论数、排序的状态栏、发表评论的文本域、评论列表 想法: 输入框输入信息点击发表评论按钮&#xff0c…

统计学习--三种常见的相关系数

1)Pearson积差相关系数:用于量度两个变量X和Y之间的线性相关。它具有1和-1之间的值,其中1是总正线性相关性,0是非线性相关性,并且-1是总负线性相关性。Pearson相关系数的一个关键数学特性是它在两个变量的位置和尺度的…

Ip2Resion线上部署报数据越界及错误处理

上篇在本地测试调用Ip2Resigon解析行政区划 Ip2Region的Java本地实现运行正常,但部署到测试环境,抛出数组越界(java.lang.ArrayIndexOutOfBoundsException)异常。 环境信息 ip2Resion是2.7版本,对应文件后缀为 xdb。 …

基于Netty,从零开发一个IM即时通讯

可以说几乎所有高实时性的应用场景都需要用到IM技术。本篇将带大家从零开始搭建一个轻量级的IM服务端。麻雀虽小,五脏俱全,我们搭建的IM服务端实现以下功能: 1)一对一的文本消息、文件消息通信;2)每个消息有…

现代卷积神经网络(ResNet)

专栏:神经网络复现目录 本章介绍的是现代神经网络的结构和复现,包括深度卷积神经网络(AlexNet),VGG,NiN,GoogleNet,残差网络(ResNet),稠密连接网络…

【微信小程序】-- 生命周期(二十八)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

VRRP多网关负载分担实验

1、VRRP专业术语 VRRP备份组框架图如图14-1所示: 图14-1:VRRP备份组框架图 VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,如SwitchA和SwitchB。虚拟路由器(Virtual Router):又称VRR…

Windows安装Qt与VS2019添加QT插件

一、通过Qt安装包方式http://download.qt.io/archive/qt/5.12/5.12.3/.安装可以就选中这个MSVC 2017 64-bit,其他就暂时不用了二、通过vs2019安装Qt插件方式方法1下面这种方式本人安装不起来,一直卡住下不下来。拓展->管理拓展->联机->搜索Qt&a…

【计算机视觉 自然语言处理】什么是多模态?

文章目录一、多模态的定义二、多模态的任务2.1 VQA(Visual Question Answering)视觉问答2.2 Image Caption 图像字幕2.3 Referring Expression Comprehension 指代表达2.4 Visual Dialogue 视觉对话2.5 VCR (Visual Commonsense Reasoning) 视觉常识推理…

让你眼前一亮的不是流行软件,而是这五款小众软件

让你眼前一亮的软件,不一定是市面上最流行的。今天,我将推荐给你五款非常小众,但是十分好用的软件。它们功能强大,使用起来也非常方便,而且经过我个人的测试,确保质量有保障。如果你用完后觉得不好用&#…

Java VisualVM 安装 Visual GC 插件图文教程

文章目录1. 通过运行打开 Java VisualVM 监控工具2. 菜单栏初始视图说明3. 工具插件菜单说明4. 手工安装插件5. 重启监控工具查看 Visual GC1. 通过运行打开 Java VisualVM 监控工具 首先确保已安装 Java 环境,如此处安装版本 JDK 1.8.0_161 C:\Users\niaonao>j…

从零开始学GeoServer源码十一(如何解决No Multipart-config for Servlet错误)

目录前言1.现象2.排查问题3.找到问题4.解决问题5.总结前言 本文起源于我们遇到的一个问题,本来 GeoServer 使用的好好的,但是有天突然发现,无法在 GeoServer 中上传样式的 sld 文件了,报错 “No Multipart-config for Servlet” …