2021-08-20 12:34:34 索炜达电子 1251
项目编号:E381
文件大小:2.11M
源码说明:带中文注释
开发环境:C编译器
简要概述:
1.背景
随着人工智能市场规模持续增长,智能语音将居于重要地位。
智能语音设备可以实现自主学习,融入家庭,扮演陪伴者角色,并且极大提高人们的生活效率,还使得难以自理的群体,让他们的生活更方便。
2.Hardware
2.1 LD3320语音识别模块
LD3320 芯片是一款“语音识别”专用芯片。该芯片集成了语音识别处理器 和一些外部电路,包括 AD、DA 转换器、麦克风接口、声音输出接口等。本芯片 不需要外接任何的辅助芯片如 Flash、RAM 等,直接集成在现有的产品中即可以 实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。
一体化语音识别模块是基于STC11 单片机和LD3320 语音芯片组合而成的一款语音识别模块,此模块具备一个 5V TTL 串口和 16 个 IO 口引出,可与外部单片机进行通信交互信息。
2.2 STM32
主驱一体板是基于 STM32F103C8T6 单片机进行硬件电路设计,主要包括 STM32 最小系统电路、OLED 显示电路,驱动电路,串行口接口电路,电源电路等。
2.3连接示意图
一体化语音识别模块是基于STC11 单片机和LD3320 语音芯片组合而成的一款语音识别模块,此模块具备一个 5V TTL 串口和 16 个 IO 口引出,可与外部单片机进行通信交互信息。
3.Software
选用 LD3320 语音识别芯片采样识别到的业务存储在 LD3320 寄存器中,并连接 STC11 单片机,应用串口发送到 STM32F103C8T6 的单片机进行处理,需完成系统界面设计,识别并处理语音模块发送的开机、关机、一级界面与二级界面的切换、LED 灯的点亮、电机的转动与停止、调速等指令。
3.1系统整体流程图
3.2 LD3320语音模块程序流程图
文件列表:
目录│文件列表:
└ Intelligent-speech-recognition
└ Software
├ 接收机
│ └ 2.串口
│ │ keilkilll.bat
│ ├ CORE
│ │ │ core_cm3.c
│ │ │ core_cm3.h
│ │ │ startup_stm32f10x_cl.s
│ │ │ startup_stm32f10x_hd.s
│ │ │ startup_stm32f10x_hd_vl.s
│ │ │ startup_stm32f10x_ld.s
│ │ │ startup_stm32f10x_ld_vl.s
│ │ │ startup_stm32f10x_md.s
│ │ │ startup_stm32f10x_md_vl.s
│ │ └ startup_stm32f10x_xl.s
│ ├ HARDWARE
│ │ ├ control
│ │ │ │ control.c
│ │ │ └ control.h
│ │ ├ Display
│ │ │ │ display.c
│ │ │ └ display.h
│ │ ├ KEY
│ │ │ │ key.c
│ │ │ └ key.h
│ │ ├ OLED
│ │ │ │ my_oledfont.h
│ │ │ │ oled.c
│ │ │ └ oled.h
│ │ └ TIMER
│ │ │ timer.c
│ │ └ timer.h
│ ├ MyCode
│ │ ├ HX711
│ │ │ │ HX711.c
│ │ │ └ HX711.h
│ │ └ led
│ │ │ LED.c
│ │ └ LED.h
│ ├ OBJ
│ │ │ control.crf
│ │ │ control.d
│ │ │ control.o
│ │ │ core_cm3.crf
│ │ │ core_cm3.d
│ │ │ core_cm3.o
│ │ │ delay.crf
│ │ │ delay.d
│ │ │ delay.o
│ │ │ display.crf
│ │ │ display.d
│ │ │ display.o
│ │ │ ExtDll.iex
│ │ │ key.crf
│ │ │ key.d
│ │ │ key.o
│ │ │ main.axf
│ │ │ main.build_log.htm
│ │ │ main.crf
│ │ │ main.d
│ │ │ main.hex
│ │ │ main.htm
│ │ │ main.lnp
│ │ │ main.o
│ │ │ main.sct
│ │ │ main_Target 1.dep
│ │ │ misc.crf
│ │ │ misc.d
│ │ │ misc.o
│ │ │ oled.crf
│ │ │ oled.d
│ │ │ oled.o
│ │ │ startup_stm32f10x_md.d
│ │ │ startup_stm32f10x_md.o
│ │ │ stm32f10x_gpio.crf
│ │ │ stm32f10x_gpio.d
│ │ │ stm32f10x_gpio.o
│ │ │ stm32f10x_it.crf
│ │ │ stm32f10x_it.d
│ │ │ stm32f10x_it.o
│ │ │ stm32f10x_rcc.crf
│ │ │ stm32f10x_rcc.d
│ │ │ stm32f10x_rcc.o
│ │ │ stm32f10x_tim.crf
│ │ │ stm32f10x_tim.d
│ │ │ stm32f10x_tim.o
│ │ │ stm32f10x_usart.crf
│ │ │ stm32f10x_usart.d
│ │ │ stm32f10x_usart.o
│ │ │ sys.crf
│ │ │ sys.d
│ │ │ sys.o
│ │ │ system_stm32f10x.crf
│ │ │ system_stm32f10x.d
│ │ │ system_stm32f10x.o
│ │ │ timer.crf
│ │ │ timer.d
│ │ │ timer.o
│ │ │ usart.crf
│ │ │ usart.d
│ │ └ usart.o
│ ├ STM32_FWLIB
│ │ ├ inc
│ │ │ │ misc.h
│ │ │ │ stm32f10x_adc.h
│ │ │ │ stm32f10x_bkp.h
│ │ │ │ stm32f10x_can.h
│ │ │ │ stm32f10x_cec.h
│ │ │ │ stm32f10x_crc.h
│ │ │ │ stm32f10x_dac.h
│ │ │ │ stm32f10x_dbgmcu.h
│ │ │ │ stm32f10x_dma.h
│ │ │ │ stm32f10x_exti.h
│ │ │ │ stm32f10x_flash.h
│ │ │ │ stm32f10x_fsmc.h
│ │ │ │ stm32f10x_gpio.h
│ │ │ │ stm32f10x_i2c.h
│ │ │ │ stm32f10x_iwdg.h
│ │ │ │ stm32f10x_pwr.h
│ │ │ │ stm32f10x_rcc.h
│ │ │ │ stm32f10x_rtc.h
│ │ │ │ stm32f10x_sdio.h
│ │ │ │ stm32f10x_spi.h
│ │ │ │ stm32f10x_tim.h
│ │ │ │ stm32f10x_usart.h
│ │ │ └ stm32f10x_wwdg.h
│ │ └ src
│ │ │ misc.c
│ │ │ stm32f10x_adc.c
│ │ │ stm32f10x_bkp.c
│ │ │ stm32f10x_can.c
│ │ │ stm32f10x_cec.c
│ │ │ stm32f10x_crc.c
│ │ │ stm32f10x_dac.c
│ │ │ stm32f10x_dbgmcu.c
│ │ │ stm32f10x_dma.c
│ │ │ stm32f10x_exti.c
│ │ │ stm32f10x_flash.c
│ │ │ stm32f10x_fsmc.c
│ │ │ stm32f10x_gpio.c
│ │ │ stm32f10x_i2c.c
│ │ │ stm32f10x_iwdg.c
│ │ │ stm32f10x_pwr.c
│ │ │ stm32f10x_rcc.c
│ │ │ stm32f10x_rtc.c
│ │ │ stm32f10x_sdio.c
│ │ │ stm32f10x_spi.c
│ │ │ stm32f10x_tim.c
│ │ │ stm32f10x_usart.c
│ │ └ stm32f10x_wwdg.c
│ ├ SYSTEM
│ │ ├ delay
│ │ │ │ delay.c
│ │ │ └ delay.h
│ │ ├ sys
│ │ │ │ sys.c
│ │ │ └ sys.h
│ │ └ usart
│ │ │ usart.c
│ │ └ usart.h
│ └ USER
│ │ EventRecorderStub.scvd
│ │ JLinkLog.txt
│ │ JLinkSettings.ini
│ │ main.c
│ │ main.map
│ │ main.uvgui.Administrator
│ │ main.uvgui.yong
│ │ main.uvguix.asus
│ │ main.uvguix.DBY
│ │ main.uvopt
│ │ main.uvoptx
│ │ main.uvproj.saved_uv4
│ │ main.uvprojx
│ │ startup_stm32f10x_md.lst
│ │ stm32f10x.h
│ │ stm32f10x_conf.h
│ │ stm32f10x_it.c
│ │ stm32f10x_it.h
│ │ system_stm32f10x.c
│ └ system_stm32f10x.h
└ 语音识别模块
├ code
│ │ config.h
│ │ LDChip.c
│ │ LDChip.h
│ │ main.c
│ │ Reg_RW.c
│ │ Reg_RW.h
│ └ STC11XX.H
├ keil4 APP
│ │ LDChip.lst
│ │ LDChip.obj
│ │ LEDtest.lst
│ │ LEDtest.obj
│ │ main.lst
│ │ main.obj
│ │ Reg_RW.lst
│ │ Reg_RW.obj
│ │ usart.lst
│ │ usart.obj
│ │ V07B.m51
│ │ winning V0.m51
│ │ YS-V0.3
│ │ YS-V0.3.plg
│ │ YS-V0.3.uvopt
│ │ YS-V0.3_uvopt.bak
│ │ YS-V0.3_uvproj.bak
│ │ YS-V0.7.uvgui.asus
│ │ YS-V0.7.uvopt
│ │ YS-V0.7.uvproj
│ │ YS-V0.7_uvopt.bak
│ │ YS-V0.7_uvproj.bak
│ │ YS-V0.lnp
│ └ YS-V0.m51
├ obj
│ │ LDChip.obj
│ │ LEDtest.obj
│ │ main.obj
│ │ Reg_RW.obj
│ │ usart.obj
│ │ V07B
│ │ V07B.build_log.htm
│ │ V07B.hex
│ │ V07B.lnp
│ │ V07B.plg
│ │ YS-V0.3
│ │ YS-V0.3.plg
│ │ YS-V0.7
│ │ YS-V0.7.plg
│ └ YS-V0.lnp
└ user
│ usart.c
└ usart.h