info@icroute.com
1
LD3320
开发手册
ICRoute 用声音去沟通
VUI (Voice User Interface)
Web : www.icroute.com
Tel : 021-68546025
Mail: info@icroute.com
info@icroute.com
2
目录
一.简介...............................................................................................................................3
二.寄存器操作....................................................................................................................3
三.寄存器介绍....................................................................................................................5
四.驱动程序.......................................................................................................................9
1.芯片复位........................................................................................................................9
2.语音识别......................................................................................................................10
3.声音播放......................................................................................................................20
五.补充说明.....................................................................................................................28
附录A 测试版电路原理图................................................................................................30
附录B 寄存器操作介绍....................................................................................................31
info@icroute.com
3
一.简介
LD3320芯片是一款“语音识别”专用芯片。该芯片集成了语音识别处理器
和一些外部电路,包括AD、DA 转换器、麦克风接口、声音输出接口等。本芯片
不需要外接任何的辅助芯片如Flash、RAM 等,直接集成在现有的产品中即可以
实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态
编辑的。本文档介绍如何编写程序实现芯片的功能。为更好地理解本文档内容,
建议用户先仔细阅读《LD3320 数据手册》。
二.寄存器操作
本芯片的各种操作,都必须通过寄存器的操作来完成。比如设置标志位、
读取状态、向FIFO 写入数据等。寄存器读写操作有2 种方式,即标准并行方式
和串行SPI 方式。可参考附录B中的代码。
1. 并行方式
第46 脚(MD)接低电平时按照此方式工作。
写和读的时序图如下:
P0~P7
CSB*
WRB*
A0
Address Data
图1 并行方式写时序
info@icroute.com
4
P0~P7
CSB*
WRB*
A0
Address Data Valid
RD*
图2 并行方式读时序
由时序图可以看到,A0 负责通知芯片是数据段还是地址段。A0 为高时
是地址,而A0 为低时是数据。发送地址时CSB*和WRB*必须有效,写数据时
同样CSB*和WRB*必须有效,而读数据时CSB*和RDB*必须有效。
2. 串行SPI 方式
第46 脚(MD)接高电平,且第42 腿(SPIS*)接地时按照此方式工作。写
和读的时序图如下:
图3 SPI 方式写时序
写的时候要先给SDI 发送一个 “写”指令(04H),然后给SDI 发送8 位寄
存器地址,再给SDI 发送8 位数据。在这期间,SCS*必须保持在有效(低
电平)。
info@icroute.com
5
图4 SPI 方式读时序
写的时候要先给SDI 发送一个 “读”指令(05H),然后给SDI 发送8 位寄
存器地址,再从SDO 接受8 位数据。在这期间,SCS*必须保持在有效(低
电平)。
三.寄存器介绍
寄存器大部分都是有读和写的功能,有的是接受数据的,有的是设置开
关和状态的。寄存器的地址空间为8 位,可能的值为00H 到FFH。但是除了在
本文档里介绍的寄存器,其他大部分为测试或保留功能的寄存器,请用户参
考本文档的用法。
先介绍一些术语:
ASR: 自动语音识别技术(Automatic Speech Recognition)。
FIFO:英文First In First Out 的缩写,是一种先进先出的数据缓存器,
它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单。
(*) LD3320 芯片内部有2 个FIFO,分别是:
FIFO_EXTFIFO_DATA FIFO_DATA 主数据处理FIFO 缓存器,ASR 或者
MP3 的主数据区
FIFO_EXT 语音识别添加关键词用FIFO 缓存器
MCU: 本文档中专指外部电路板的主控芯片,对LD3320 芯片进行控制的微
处理器。
DSP:本文档中专指本芯片LD3320 内部的专用DSP,实现语音识别和语音播
放的算法。
info@icroute.com
6
寄存器的详细说明如下:
编号
(16 进制)
说明
01 FIFO_DATA 数据口
02
FIFO 中断允许
第0 位:允许FIFO_DATA 中断;
第2 位:允许FIFO_EXT 中断;
05 FIFO_EXT 数据口
06
(只读)FIFO 状态
第6 位:1 表示忙,不能写所有FIFO。
第3 位:1 表示FIFO_DATA 已满,不能写。
08
清除FIFO 内容(清除指定FIFO 后再写入一次00H)
第0 位:写入1→清除FIFO_DATA
第2 位:写入1→清除FIFO_EXT
11 时钟频率设置1
17
写48H 可以激活DSP;
写4CH 可以使DSP 休眠,比较省电。
19 时钟频率设置2
1B 时钟频率设置3
1C
ADC 开关控制
写00H ADC 不可用
写0BH 麦克风输入ADC 通道可用
1D 时钟频率设置4
1E ADC 专用控制,应初始化为00H
1F
软复位(Soft Reset)
先写入01H,再写入00H
20 FIFO_DATA 上限低8 位(UpperBoundary L)
21 FIFO_DATA 上限高8 位(UpperBoundary H)
22 FIFO_DATA 下限低8 位(LowerBoundary L)
23 FIFO_DATA 下限高8 位(LowerBoundary H)
24 FIFO_DATA MCU 水线低8 位(MCU water mark L)
25 FIFO_DATA MCU 水线高8 位(MCU water mark H)
26 FIFO_DATA DSP 水线低8 位(DSP water mark L)
27 FIFO_DATA DSP 水线高8 位(DSP water mark H)
29
中断允许(可读写)
第2 位:FIFO 中断允许,1 表示允许;0 表示不允许。
第4 位:识别中断允许,1 表示允许;0 表示不允许。
2B
中断请求编号(只读)
第4 位: 1 表示语音识别有结果产生。
info@icroute.com
7
33
MP3 播放用设置
开始播放时写入01H, 播放完写入00H。
35
ADC 增益,或可以理解为麦克风(MIC)音量。
测试版工作时使用的设置是43H。可以设置为00H-7FH。
建议设置值为40H-6FH:值越大代表MIC 音量越大,识别启
动越敏感,但可能带来更多误识别;值越小代表MIC 音量越小,
需要近距离说话才能启动识别功能,好处是对远处的干扰语音
没有反应。
37
语音识别控制命令下发寄存器
写04H:通知DSP 要添加一项识别句。
写06H:通知DSP 开始识别语音。
在下发命令前,需要检查B2 寄存器的状态。
38 FIFO_EXT 上限低8 位(UpperBoundary L)
3A FIFO_EXT 上限高8 位(UpperBoundary H)
3C FIFO_EXT 下限低8 位(LowerBoundary L)
3E FIFO_EXT 下限高8 位(LowerBoundary H)
40 FIFO_EXT MCU 水线低8 位(MCU water mark L)
42 FIFO_EXT MCU 水线高8 位(MCU water mark H)
44 FIFO_EXT DSP 水线低8 位(DSP water mark L)
46 FIFO_EXT DSP 水线高8 位(DSP water mark H)
79 时钟频率设置5
81
耳机左音量
Bit7,6,0: Reserved;
Bit[5-1]: 音量大小:数值越小,代表声音越大;数值越大,
代表声音越小;本寄存器设置为00H 为最大音量。
调节本寄存器后,设置 寄存器87H.Bit1 = 1,可以使调节
音量有效。
83
耳机右音量
Bit7,6,0: Reserved;
Bit[5-1]: 音量大小:数值越小,代表声音越大;数值越大,
代表声音越小;本寄存器设置为00H 为最大音量。
调节本寄存器后,设置 寄存器87H.Bit0 = 1,可以使调节
音量有效。
85
内部反馈设置
初始化时写入52H
播放MP3 时写入5AH (改变内部增益)
其中Bit[1,0]为混音器反馈电阻设置
00 : 60kohm 01 : 45kohm
10 : 30kohm 11 : 15kohm
目前程序中设为30Kohm
info@icroute.com
8
87
模拟电路控制
MP3 播放初始化时写 FFH
Bit3:喇叭音量调节激发(见8E 寄存器)
Bit1:耳机左音量调节激发(见81 寄存器)
Bit0:耳机右音量调节激发(见83 寄存器)
89
模拟电路控制
初始化时写03H
MP3 播放时写 FFH
8D 内部增益控制 初始化时写入FFH
8E
喇叭输出音量
Bit7,6,1,0: Reserved;
Bit[5-2]: 音量大小,共16 等级:数值越小,代表声音越
大;数值越大,代表声音越小;
本寄存器设置为00H 为最大音量。
调节本寄存器后,设置 寄存器87H.Bit3 = 1,可以使调节
音量有效。
8F LineOut 选择 初始化时写入00H
B2
ASR:DSP 忙闲状态
0x21 表示闲,查询到为闲状态可以进行下一步ASR 动作
B8
ASR:识别时间长度
最长识别时间长度设置为多少秒;缺省值是60 秒。
在本时间长度内,如果检测到说话声音,语音识别模块将会
给出识别结果;如果始终没有说话声音,将会返回0 识别,
见BA 寄存器,并发出中断。
B9
ASR:当前添加识别句的字符串长度(拼音字符串)
初始化时写入00H
每添加一条识别句后要设定一次。
BA
中断辅助信息,(读或设为00)
MP3:播放中断时,
第5 位=1 表示播放器已发现MP3 的结尾。
ASR:中断时,是语音识别有几个识别候选
Value: 1 – 4: N 个识别候选
0 或者大于4:没有识别候选
BC
ASR:识别过程强制结束,在ASR 进行过程中,可以设置本寄
存器提前结束本次ASR 过程;
写07H,停止录音,但对已有声音进行识别运算,可能会有
最优识别候选,返回BA=0 - 4
写08H,强制停止ASR 运算,返回BA=51H。
这两种设置都会使DSP 送出中断,如同正常的识别结束
info@icr
电赛-龙丘版语音识别模块.rar
需积分: 0 147 浏览量
更新于2023-08-13
收藏 26.24MB RAR 举报
电子设计大赛相关的资源,如果您觉得这些资源对您有帮助的话,我会非常感谢您的支持,您可以考虑给我点赞或关注,这将是对我分享内容的一种鼓励,也会让我更有动力继续分享更多有价值的资源。非常感谢您的关注和支持!
常驻客栈
- 粉丝: 1w+
- 资源: 1378
最新资源
- 中小学数字化平台解决方案.docx
- 弱电人需要的网络基础知识汇总.docx
- 智慧龙湖天街数字化解决方案.pptx
- 温室大棚、集约养殖、水肥一体、高效节水等设施农业建设方案.docx
- 物流实训室元宇宙解决方案.docx
- 温室大棚、集约养殖、水肥一体、高效节水等设施农业建设方案.pptx
- 农村客货邮融合发展建设方案.docx
- 乡村富民特色产业农业品牌建设方案.pptx
- 农业农村基础设施建设方案.pptx
- 工地数字孪生可视化平台解决方案.pptx
- 基于线性代数与机器学习的实验任务解析-含代码及解答
- 人物检测37-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- ANSYS WORKBENCH轴承动力学仿真,ANSYS做内圈、外圈和滚子故障的模拟图片为凯斯西储大学SKF轴承内外圈故障的结果,振动加速度包络后故障特征频率可以与实验相差仅为5%
- 戴尔笔记本Dell 5400 EDC41 - 维修图纸
- matlab实现遗传算法求解迪卡侬生产调度优化问题(含甘特图)-遗传算法-生产调度-Matlab-迪卡侬生产调度优化
- 时变动态分位数CoVaR、delta-CoVaR,分位数回归 △CoVaR测度 溢出效应 动态 Adrian2016基于分位数回归方法计算动态条件在险价值 R语言代码,代码更数据就能用,需要修改的