0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F103驱动LD3320语音识别模块

jf_88434166 ? 来源:jf_88434166 ? 作者:jf_88434166 ? 2025-06-28 14:16 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

LD3320语音识别模块简介

LD3320.jpg

基于 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(" 流水灯 指令识别成功rn"); 
							
															 break;
							case CODE_SS:	 					//命令“闪烁”
								printf(" 闪烁 指令识别成功rn"); 
															 break;
							case CODE_AJCF:					//命令“按键触发”
								printf(" 按键触发 指令识别成功rn"); 
															break;
							case CODE_QM:						//命令“全灭”
								printf(" 全灭 指令识别成功rn");
															break;
							case CODE_JT:						//命令“状态”
								printf(" 状态 指令识别成功rn");
							
							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、流水灯rn"); 
	printf("2、闪烁rn"); 				
	printf("3、按键触发rn"); 		
	printf("4、全灭rn"); 			
	printf("5、状态rn");

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,将显示以下内容,然后对着咪头说“流水灯”、“闪烁”、“按键触发”、“全灭”、“状态”命令词,串口助手显示出对应命令词识别成功。
在这里插入图片描述

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    18028

    浏览量

    369167
  • 语音识别
    +关注

    关注

    39

    文章

    1785

    浏览量

    114347
  • STM32F103
    +关注

    关注

    33

    文章

    483

    浏览量

    65699
  • LD3320
    +关注

    关注

    8

    文章

    30

    浏览量

    40836
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    语音识别LD3320模块与Arduino相连的问题

    本人小白,最近在学习LD3320语音识别。在微雪Wiki查关于LD3320的资料,其中讲微雪的LD3320
    发表于 05-03 19:35

    stm32+LD3320想让语音模块开始工作怎么开始?

    我现在有一块LD3320语音模块 和 一块stm32F103板子 想让语音模块开始工作?我应该怎
    发表于 04-18 02:21

    stm32单片机与LD3320语音模块串口通信的方式

    stm32单片机与LD3320语音模块串口通信的方式通信一、硬件部分1.stm32单片机系列: stm3
    发表于 11-26 06:10

    使用LD3320模块的方法

    ,即语音声控芯片。最多可以识别50条预先内置的指令。工作模式:LD3320(LDV7)语音模块可以工作在以下三种模式:普通模式:直接说话,
    发表于 02-07 08:54

    STM32F103C8T6 LD3320语音识别模块有何功能

    STM32F103C8T6 LD3320语音识别模块非特定识别人声 离线控制 智能家居 开发板
    发表于 02-18 06:56

    LD3320嵌入式语音识别系统应用

    LD3320是一款语音识别芯片。介绍了该芯片的工作原理及应用,给出了LD3320与微处理器的硬件接口电路及软件程序。
    发表于 03-01 09:33 ?1.4w次阅读
    <b class='flag-5'>LD3320</b>嵌入式<b class='flag-5'>语音</b><b class='flag-5'>识别</b>系统应用

    LD3320语音模块程序

    LD3320语音模块程序。
    发表于 12-16 14:44 ?155次下载

    LD3320评估板(语音识别评估板)

    ICRoute LD3320评估板资料,语音识别芯片LD3320高阶秘籍
    发表于 12-12 21:36 ?74次下载

    LD3320的嵌入式语音识别系统的应用

    基于LD3320语音识别系统的学习
    发表于 12-31 15:06 ?30次下载

    使用STM32LD3320实现语音识别的垃圾分类设计

    通过说出关键词“垃圾桶”即可启动,通过语音识别模块LD3320识别说出的垃圾名称,对应的舵机打开对应的垃圾桶。 元件清单:
    发表于 01-18 08:00 ?26次下载
    使用<b class='flag-5'>STM32</b>和<b class='flag-5'>LD3320</b>实现<b class='flag-5'>语音</b><b class='flag-5'>识别</b>的垃圾分类设计

    stm32单片机与LD3320语音模块交互法二

    stm32单片机与LD3320语音模块串口通信的方式通信一、硬件部分1.stm32单片机系列: stm3
    发表于 11-18 20:51 ?48次下载
    <b class='flag-5'>stm32</b>单片机与<b class='flag-5'>LD3320</b><b class='flag-5'>语音</b><b class='flag-5'>模块</b>交互法二

    stm32单片机与LD3320语音模块交互法一

    stm32单片机与LD3320语音模块交互法一## 交互方式: stm32读取LD3320对应管
    发表于 11-19 09:06 ?49次下载
    <b class='flag-5'>stm32</b>单片机与<b class='flag-5'>LD3320</b><b class='flag-5'>语音</b><b class='flag-5'>模块</b>交互法一

    语音识别芯片LD3320开发手册

    语音识别芯片LD3320开发手册
    发表于 12-16 17:59 ?46次下载

    STM32F103C8T6 LD3320语音识别模块非特定识别人声 离线控制 智能家居 开发板

    STM32F103C8T6 LD3320语音识别模块非特定识别人声 离线控制 智能家居 开发板
    发表于 12-23 19:38 ?54次下载
    <b class='flag-5'>STM32F103</b>C8T6 <b class='flag-5'>LD3320</b><b class='flag-5'>语音</b><b class='flag-5'>识别</b><b class='flag-5'>模块</b>非特定<b class='flag-5'>识别</b>人声 离线控制 智能家居 开发板

    STM32F103RCT语音模块LD3320

    LD3320为内核是51单片机,LD3320当输入不同的语句通过串口输出相应的代码,利用STM32与51单片机的串口通讯,将代码传输给STM32实现
    发表于 12-24 19:05 ?66次下载
    <b class='flag-5'>STM32F103</b>RCT<b class='flag-5'>语音</b><b class='flag-5'>模块</b><b class='flag-5'>LD3320</b>