资讯详情

基于FPGA的LD3320语音识别模块驱动设计

一、设计要求

  • 以FPGA接收语音控制信号和识别控制信息以控制核心;
  • 通过继电器控制热水器、加湿器、空调等三种家用电器;
  • 二次升级要求:利用无线模块控制热水器、加湿器、空调等三种家用电器

二、硬件选择

  1. 选择语音识别模块LD选择3320模块的原因是该模块可以定制语音指令和指令数据;其次,数据界面灵活SPI、UART,固定并行数据接口,详见数据手册和开发说明书。

  2. 鉴于手头只有正原子,FPGA开发板,在这儿就直接使用。

三、架构设计

如下图所示,这是本次设计的基本结构,首先由LD3320通过语音信息收集完成语音信息UART接口接收相应的语音指令,FPGA转换指令控制之间转换,产生控制继电器开关的控制信号。

四、系统设计

4.1 整体架构设计

如下图所示,为FPGA初步架构设计主要包括以下三个模块。

speech_rec_uart:接收语音识别模块的数据指令信息;

function_ctrl:分析判断数据指令,输出相应的控制信号;

pwm_ctrl:控制继电器的生成pwm控制信号;

4.2speech_rec_uart设计

在设计模块之前,我们需要了解语音模块的工作原理和使用方法,这需要自己研究手册。

  • 第一步是定制语音识别模块,如下图所示LD在3320开发数据中提供的自定义设置平台,我们可以根据自己的需要完成存储设置。

根据自己的设计要求,在自定义的命令设置中添加六个指令:开热水器、关热水器、加湿器、加湿器、空调和空调。

对应的数据指令如下:

FE A1 01 EF (开热水器)

FE A1 00 EF (关热水器)

FE A2 01 EF (开加湿器)

FE A2 00 EF (关加湿器)

FE A3 01 EF (开空调)

FE A3 00 EF (关闭空调)

对应语音模块的回复信息如下:

完成上述设置后,在设置平台上重生LD3320烧写配置文件,然后通过数据内部提供的上位机软件LD3320可以更新内部指令信息库。

4.3function_ctrl设计

将改变模块功能LD对比3320语音指令信息,完成三种电器的控制信号开关输出控制;具体功能见下面的模拟。

4.4pwm_ctrl 设计

模块功能由相应的电气继电器控制PWM波,具体设计见下面的模拟图。

五、设计仿真结果

5.1speech_rec_uart模块仿真

根据实际设计要求,模拟发送以下指令,

// 开热水器 ---- uart发送指令 FE A1 01 EF; // 关热水器 ---- uart发送指令 FE A1 00 EF; // 开加湿器 ---- uart发送指令 FE A2 01 EF; // 关加湿器 ---- uart发送指令 FE A2 00 EF; // 打开空调 ---- uart发送指令 FE A3 01 EF; // 关闭空调 ---- uart发送指令 FE A3 00 EF;

语音模块指令接收模拟图如下图所示,如图所示,6个指令信息接收正常。FE 和 EF 分别表示数据指令数组的头尾,中间的两个字节:A1表示热水器,A2表示加湿器,A3表示空调,01表示开启,00表示关闭。

5.2 function_ctrl模块仿真

如下图所示,相应的指令产生相应的控制信号状态;

// 开热水器 ---- A1 01 ; // 关热水器 ---- A1 00 ; // 开加湿器 ---- A2 01 ; // 关加湿器 ---- A2 00 ; // 打开空调 ----A3 01 ; // 关闭空调 ---- A3 00 ;

5.3 pwm_ctrl 仿真

如图所示,三种电器的厨师状态已关闭。接到打开指令后,完成相应的开关控制操作,模拟图功能正确。

六、总结

设计完成FPGA平台下LD3320语音识别模块的控制和信息采集,模拟时序图正确,具体功能需要在硬件环境中进一步验证。后续改进可以将继电器控制改为无线控制,完成系统的功能优化。

fdl04271011@13.com,欢迎各位学者一起讨论学习。

标签: 4路继电器模块a1

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台