您所在位置: 网站首页 / 文档列表 / 电子设计 / 文档详情
ISD1700语音芯片SPI使用总结.docx 立即下载
2024-01-30
约1.4万字
约17页
0
举报 版权申诉
预览加载中,请您耐心等待几秒...

ISD1700语音芯片SPI使用总结.docx

ISD1700语音芯片SPI使用总结.docx

预览

免费试读已结束,剩余 7 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第PAGE17页共NUMPAGES17页第PAGE\*MERGEFORMAT17页共NUMPAGES\*MERGEFORMAT17页ISD1700语音芯片SPI使用总结(一)ISD1700语音芯片SPI使用总结一该语音芯片的使用要仔细分析英文PDF的资料,电路可按中青世纪论坛上面所给的电路搭建,也可按英文PDF后面所画的电路图焊接。本芯片使用不单纯是一个放音电路,还含有其他的控制。因此程序首先要能完成指定地址的放音工作,其次还应能嵌入整个费额显示程序中,即语音程序不能与电路其他功能相影响。费额显示中里面主要有八字板,点阵等其他的控制。SPI放音操作设计参考了网络上的部分程序,各取所长设计了放音程序。在最后附上了部分程序,仅供参考。二试验中采用的是ISD1760语音芯片,采样率为8K时,一共能播放60S的语音,最大地址为0x1EF,录音实际地址为0x10-0x1EF,从此最大地址可得出:0x1EF-0x10=0x1DF=479479+1=480;480*125MS=60S,也就是说8K采样率时每1个地址最小语音长度为125MS,因此如果知道单个语音的长度,暂时无编程器的时候,也可自己推断每个语音所占的地址长度。三SPI操作时要严格遵守PDF上所给的各项操作,这里不列出。暂时仅给出试验中遇到的所有问题并如何解决的。1,一开始本实验是自己用通用板自己照电路搭建的平台,此电路正确与否可把PLAY管腿和地短路,如果芯片有语音并且电路功放及外围电路正确的话,此时芯片就会把所有语音全都循环读一遍。接下来把4个SPI口与单片机接通,尝试软件控制。主循环中可设置一个连续播放的程序,上电就循环放音。放音程序没错的话第一步便成功了!这期间我遇到的问题主要有放不出音,读音混乱,有杂音。如果放不出音,先检查电路,程序放出声音应该没出现什么问题。2,本芯片设置的APC值为0xA0和0x04,具体对应功能参见中文PDF。接下来遇到的问题就是准确放单个音和连续播放多个语音。播放单个语音首先是地址的编译。1730以下的地址可定义为BYTE,从1740开始就需要定义为WORD,其实也可定义为BYTE,就是发送地址的时候先发0x10和后两位即可。本程序定义为WORD,做一个偏移发送即可。接下来的问题就是连续播放的问题,这个问题直到最后才正确的解决。一开始的程序中只是一直发送SETPLAY,可以连续读,就是读的乱,其实就是错误操作,后来尝试在后面添加一个2秒的延时,可以连续读出语音了,就是每个要停顿一下才能放出第二个语音,自认为就这样就可以了,导致了以后还得解决此问题!因为此放音方式放弃了判断芯片状态寄存器,根本没有实现连续放音,实际是单个语音人为把它们连起来播放,听起来很不自然。问题拖到最后又衍生了别的问题,由于此放音方式的声音输出信号是有高有低,当电平跳变时对功放产生影响,喇叭会出现“噗噗”声,术语可以称之为“过载”,如果人距离喇叭很近的话很容易听出来。因此需修改程序,芯片内部有个缓冲器,如果连续发送相同的两个setplay命令,芯片会发完第一个音后接着连续发第二个音,并且两音之间的间隔时间几乎没有。利用这个特点,可以在发完一个语音命令后一直发送读芯片状态命令,从返回来的数据判断RDY,PLAY,INT位,当第一条放音指令发送完,读音播放完,立即发送第二条setplay,并以此类推。这样实现了连续放音,并且声音输出一直为高电平(除了开始和结束音),解决了噗噗声的问题。但是要一直发送读芯片状态指令就会影响其他指令,如本实验是执行串口指令,点阵刷新,八字板的显示和亮度调整等,推荐在do{ISD_Rd_Status;}while();内添加以上命令,便可解决只读音不响应其他命令的问题。串口可判断标志位;点阵可在连续刷新16行(16*16点阵)后执行下一判断芯片标志位程序;八字板的显示可以锁存,因此有改变显示时执行一次即可;八字板的亮度需要一直执行,但是当亮度为3以下时(即16MS内有3MS是点阵亮,13MS是不亮),放音时八字板会有闪烁现象,原因可能是执行除了亮度调整指令外其他指令占用了大约3MS的时间,暂时还没有好的解决办法。四正在放音的同时用串口发送调节音量也遇到了问题,一开始的解决办法是打断当前语音,延时超过最大语音长度的时间,再发送修改APC的指令。这样做的原因是如果用本程序在发完当前音后突然发送修改APC的指令时候,芯片会从头到尾读所有音!!到最后仔细研究才发现这个程序中有个修改永久内部寄存器的指令,当正在进行读音操作发送修改内部永久
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

ISD1700语音芯片SPI使用总结

文档大小:

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用