WT588D_P20语音模块全球某工商大学版中文资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WT588D语音模块
By Cl
1.概述
目前有16引脚和28引脚两种,本文主要介绍16脚的模块的使用,一下以WTW-16P表示;
WTW-16P采用WT588D-20SS作为核心控制电路,包含了外围所需的SPI-FLASH、振荡电路、复位电路。

WT588D是一款具有单片机内核的可编辑语音芯片,功能多,音质好,应用广泛,性能稳定。

2.模块封装
2.1.模块引脚说明
1脚/RESET:低电平>5ms复位,与WT588D芯片的1脚复位脚相连,模块自带了一(R2/C2)复位电路;2脚DAC和3脚PWM+:连接WT588D芯片的PWM+/DAC音频输出引脚,视功能设置而定;
4脚PWM-:连接WT588D芯片的PWM-音频输出引脚;
5脚P14: 连接WT588D芯片的P14引脚,与SPI-FLASH的DI数据输入引脚相连;
6脚P13: 连接WT588D芯片的P13引脚,与SPI-FLASH的DO数据输出引脚相连;
7脚P16: 连接WT588D芯片的P16引脚,与SPI-FLASH的CLK相连;
8脚GND:接地;
9脚P15: 连接WT588D芯片的P15引脚,与SPI-FLASH的/CS片选引脚;
10脚P03: 连接WT588D芯片的P03引脚;按键K4/三线时钟/一线数据输入脚;
11脚P02: 连接WT588D芯片的P02引脚;按键K3/三线片选输入脚;
12脚P01: 连接WT588D芯片的P01引脚;按键K2/三线片选输入脚;
13脚P00: 连接WT588D芯片的P00引脚,按键K1输入脚;
14脚VCC:连接WT588D芯片的VDD-SIM(串口电源管理引脚)和SPI-FLASH的VCC引脚;
SIM系统能平衡WT588D芯片和SPI-FLASH之间串口的电压,无须在串口间串接电阻
C4电容用于滤波;2.8V~3.6V。

当VDD用5V电压供电时,需串接2个二极管至该引脚降压后给作为VCC电;
15脚BUSY:连接WT588D芯片的P17引脚;可软件设置播放状态时输出高/低电平,判断状态忙;
16脚VDD:连接WT588D芯片的VDD引脚,数字电源输入脚,2.8V~5.5V;
2.1.1.复位电路
R2/C2,刚上电时,C2右端电压为0,通过R2给C2充电;芯片复位时间5ms;
R1/C1,刚上电时,C1右端电压为0,通过R1给C1充电,电压上升速度比C2右端快10倍左右。

C5滤波电容。

2.1.2.振荡电路:
R3/C3,对音质要求不高的情况下,可选择采用较低的音频采样率,以能选用更小的SPI-FLASH,减低生产成本。

而在降低采样率的时候,软件都是通过减慢音频的节奏来得到更低的采样率的,这样,当在播放低采样率音频时,如果选用标注的震荡电阻,则会出现播放时音频出现节奏缓慢变慢的情况。

所以为了能调节好节奏,可根据音频的采样率来选用外部的震荡电阻,以达到音频节奏合适的效果。

下表为音频采样率跟震荡电阻的关系。

以下数据是以语速稳定为基本要求时测出来的。

对高频处理好的话,音质在20K时达到最好。

音频从8K采样率时起,声音的表现很好。

如果客户对音质的要求很低的话,6K采样率是可以采纳的。

不建议采用6K跟22K采样率的音频。

WT588D的优势展现在全频上,高频端表现细腻,低频浑厚,中频稍微有点软弱,要根据WT588D本身的特性选用外围音箱,或者采用中频弥补措施,如在处理音频时增强中频部分,或者在硬件电路中设置中频增益电路。

SPI-FLASH电路:
下方的芯片,通过SPI与WT588D芯片通信。

2.2.WT588D-20SS
WT588D是一款具有单片机内核的可编程语音芯片,内置DSP高速音频处理器。

支持加载WAV音频格式;
支持8和弦MIDI播放(有待开发)。

抗干扰性强,可应用在工业领域。

语音播放停止马上进入休眠模式,芯片转为完全停止状态;静态休眠电流小于10uA。

2.2.1.控制模式
MP3控制模式、按键控制模式(15种触发方式)、
3*8按键组合控制模式(能以脉冲可重复触发的方式触发24个地址位语音,仅限28和32)、
并口控制模式(可用8个I/O口进行控制,仅限WT588D-32L和WTW-28P)、
一线串口控制模式(通过发码端控制语音播放、停止、循环播放、音量大小等,发码速率600us~2000us 三线串口控制模式和三线串口控制I/O口扩展输出模式。

完全支持6k~22kHz采样率的音频加载。

可控制的语音地址位达220个,每个地址位里能加载可组合语音为128段语音,地址位内的语音组合播放。

任意设定显示语音播放状态信号的BUSY输出方式;支持对已加载语音播放试听。

2.2.2.上位机操作软件
可通过专业上位机操作软件WT588D VoiceChip(详细见专门章节),随意组合语音,可插入静音(时间范围10ms~25min),插入的静音不占用内存的容量,一个已加载语音课重复调用到多个地址;接口简单,使用方便。

2.2.
3.外置SPI-FLASH接口
可根据实际用法外置SPI-FLASH存储器(支持2M~32Mbit),支持多个存储器;
众多控制模式、语音组合只需更换SPI-FLASH的内容,即可完全实现操作方式的切换。

支持SPI-FLASH内容在线下载。

USB下载方式,支持在线下载/脱机下载;即便在WT588D语音芯片通电的情况下,可一样可以正常下载数据到SPI-FLASH;给芯片电路复位一下,就能更新到刚下载尽量的控制模式。

2.2.4.输出
支持DAC/PWM两种输出方式,
内置13位DAC模数转换器,以及12位PWM输出,音质好。

PWM输出可直接推动0.5W/8Ω扬声器,推挽电流充沛;
2.3.SPI-FLASH
3.WT588D控制模式详细
3.1.MP3模式
可知在WT588D-20SS构成的本模块中,没有P04和P05,也就是说没有音量调大和调小功能。

3.2.按键控制模式
所定义的管脚可以直接触发芯片的一个功能,使芯片动作,每个管脚的触发方式可单独设置。

按键控制模式的按键防抖时间为10ms。

按键触发模式下包括脉冲可重复触发、脉冲不可重复触发、电平保持可循环、电平保持不可循环、电平非保持循环、上一曲不循环、下一曲不循环、上一曲可循环、下一曲可循环、无效按键、播放/暂停、停止、音量+、音量-以及播放/停止等15 种触发方式。

详细控制方法见如下触发时序图。

3.2.1.脉冲触发
脉冲可重复触发的时序图:
下降沿脉冲(如该I/O口低电平10ms以上)触发播放语音,在语音播放期间,再检测到下降沿,芯片会打断正在播放的语音,重新播放。

脉冲不可重复触发,即是在语音播放期间,再检测到下降沿时,芯片不动作;直到语音结束后,检测到的下降沿才有效。

3.2.2.电平触发
电平保持可循环的时序图:
I/O口低电平触发并保持播放,高电平则停止;当第一遍结束后,还保持低电平,则继续重新播放,直到转变为高电平才停止。

电平保持不可循环就是当第一遍结束后,还保持低电平也不会继续重新播放,一次触发只播放一次;如果需要重新播放,则需要重新让I/O口处于高电平,再拉为低电平并保持即可。

3.2.3.电平非保持循环
这种触发方式为下降沿或低电平触发(如该I/O口对地短路10ms以上),出发后播放一遍语音然后停止。

播放第一遍过程中,就算I/O口变为高电平也不停止,直到语音播放结束;
当第一遍结束后如果还保持低电平,则会继续重复播放,直到语音播放完且I/O口为高电平。

3.2.
4.播放/停止
下降沿触发开始播放,下一个下降沿结束播放。

不管声音处于播放还是停止状态,都遵照这个规则。

3.2.5.下一曲
下一曲不循环模式:
下降沿触发,每次下降沿都触发下一段语音直到触发播放完最后一段。

下一曲可循环模式则是播放完最后一段语音后,会重新触发到第一段语音。

3.2.6.上一曲
上一曲不循环模式:
下降沿触发,每次下降沿触发上一段语音,直到触发最后一段后,不在向前触发播放声音。

上一曲可循环模式则是触发播放完第一段语音后,再次触发会跳到最后一段语音。

3.2.7.暂停
下降沿触发暂停,下一个下降沿开始从暂停点继续播放。

BUSY在暂停状态一直保持。

3.2.8.停止
下降沿触发播放的语音停止,语音停止后再次触发无效。

3.3.3*8矩阵按键控制模式
该组合模式下所有按键被默认为脉冲可重复触发方式,可以直接触发24段语音,各个按键所触发语音地址可定义。

在WT588D-20ss中I/O口不足,不支持该模式;
3.4.并口控制模式
该模式的优点是控制速度比较快,但也会占用较多的I/O口。

目前仅有WT588D-32L语音芯片、WTW-28P 语音模块支持并口控制模式。

P00被定义为SBT触发脚,通过改变地址位An来触发播放语音。

脚定义如下:
控制时序图:
3.5.一线串口控制模式
通过一根数据线(接P03)发送串口数据。

一线串口可实现控制语音播放、停止、音量调节和直接触发语音等功能。

P00~P10的按键可以选择屏蔽或者任意触发方式。

该模式下,芯片无休眠状态,语音停止后大约有5mA的电流。

电池供电时请慎用。

3.5.1.命令及语音码:
3.5.2.语音地址对应关系:
3.5.3.控制时序图
一线串口只通过一条数据通信线控制时序,依照电平占空比不同来代表不同的数据位。

先发拉低RESET 复位信号5ms(对芯片进行复位,如不是特殊的工业场合,可以不使用此复位信号),然后置于高电平等待大于17ms 的时间(等芯片复位稳定),再将数据信号拉低5ms(唤醒芯片),最后发送数据。

占空比1/3即代表数据位0,占空比为2/3代表数据位1。

高电平在前,低电平在后。

数据信号先发低位再发高位。

在发送数据时,无需先发送命令码再发送指令。

D0~D7表示一个地址或者命令数据,00H~DBH 为地址挃令,
E0H~E7H 为音量调节命令,(每次复位后音量处于默认最大等级)
F2H 为循环播放命令,FEH 为停止播放命令。

数据成功发送后等待20ms,BUSY输出将作出响应。

例如:
在一线串口控制模式下,发送数据9CH的时序如下图:
3.5.
4.程序示例
主控单片机:PIC16F54,时钟主频4MHz
Send oneline(unsigned char addr)

rst=0; /* 对芯片迚行复位 */
delay1ms(5); /* 复位信号保持低电平5ms */
rst=1;
delay1ms(17); /* 复位信号保持高电平17ms */
sda=0;
delay1ms(5); /* 数据信号置亍低电平5ms */
for(i=0;i<8;i++)
{sda=1;
if(addr & 1)
{delay1us(600); /* 高电平比低电平为600us:300us,表示发送数据1 */
sda=0;
delay1us(300);

else{
delay1us(600); /* 高电平比低电平为200us:600us,表示发送数据0 */
sda=0;
delay1us(300);

addr>>=1;

sda=1;

3.6.三线串口控制模式
该模式由三条同心县组成,分别是片选CS(对应P02引脚)、数据DATA(对应P01引脚)、时钟SCK(对应P03引脚),时序仿照标准SPI通信方式,可实现语音芯片命令控制、语音播放。

3.6.1.端口分配表
3.6.2.语音及命令码对应表
3.6.3.语音地址对应表
3.6.
4.三线串口控制时序
三线串口控制模式由片选CS、时钟CLK 和数据DATA 脚组成,时序仿照标准SPI 通信方式,复位信号在发码前先拉低5ms,然后拉高等待17ms。

工作时RESET 需要一直保持高电平。

片选信号CS 拉低2ms~10ms 以唤醒WT588D 语音芯片
接收数据低位在先,高位在后,在时钟的上升沿接收数据。

时钟周期介于200us~2ms 之间,推荐使用300us。

数据成功接收后,语音播放忙信号BUSY 输出在20ms 之后做出响应。

发码完成后DATA、CLK、CS 均要保持高电平。

在发送数据时,无需先发送命令码再发送指令。

D0~D7 表示一个地址或者命令数据,00H~DBH 为地址挃令,
E0H~E7H 为音量调节命令,
F2H 为循环播放命令,
FEH 为停止播放命令,
F5H 为进入三线串口控制I/O 口扩展输出命令,
F6H 为退出三线串口控制I/O 口扩展输出命令
3.6.5.地址/命令发送规则
循环播放命令F2H:
该命令需要在发送语音地址信号或者其他命令30ms之后、语音停止播放前发送,否则不能有效接收。

停止播放命令FEH:
在语音播放的过程中发送此命令可以停止播放语音,在发送DATA信号1ms之后、语音停止前发送有效。

音量调节命令E0H~E7H:
在语音芯片工作状态中发送此命令可调节音量大小,不管语音芯片是否处于播放状态。

如果是先触发地址语音或者其他的命令,则需要等待90ms才能发送音量调节命令,否则无效。

3.6.6.示例程序
(主控单片机PIC16F54,系统频率4MHz)
Send threelines(unsigned char addr)
{rst=0; /* 对芯片迚行复位 */
delay1ms(5); /* 复位信号保持低电平5ms */
rst=1;
delay1ms(17); /* 复位信号保持高电平17ms */
cs=0;
delay1ms(2); /* 片选信号保持低电平2ms */
for(i=0;i<8;i++)
{scl=0;
if(addr & 1)sda=1;
else sda=0;
addr>>=1;
delay1us(300); /* 时钟周期300us */
scl=1;
delay1us(300);

cs=1;

4.上位机软件WT588D VoiceChip
上位机软件只能也仅支持6000Hz、8000Hz、10000Hz、12000Hz、14000Hz、16000Hz、18000Hz、20000Hz、22000Hz采样率音频的加载。

如16001Hz、22050Hz这些采样率的音频是不能加载到软件中的,需要在音频编辑软件上进行转换,或者用上位机自带的转换工具进行转换。

在上位机软件中自带一个音频转换工具,如果对音质要求高的话,建议不要采用WT588D VoiceChip软件中的转换工具进行转换。

4.1.下载
ISP在线下载时(WT588D在应用环境中直接下载内容),须让WT588D处于停止工作的状态,如下载时把WT588D的RESET脚拉低接地,或者接到WTU02的P17脚,WTU02的P17在下载数据时为低电平,平时为高电平,从而起到在下载时对WT588D进行复位。

5.应用
5.1.按键控制PWM输出应用电路
在模块的基础上于P00至P03这4个引脚处各接一个按键;
PWM+和PWM-处接扬声器;在这种输出方式下,PWM+、PWM-均不能短接到地或者接电阻电容倒地,也不能PWM+/PWM-直接短路,否则容易造成音质失真,甚至引起WT588D芯片或者模块烧坏。

按键连接相同;
音频输出方式改成DAC方式,DAC引脚连接一个三极管的基极,
三极管的集电极接扬声器到VDD;三极管的发射极直接接地。

C6用于滤波,R6为分流电阻,取值为270Ω~1.2kΩ用于控制音量,阻值越大音量越大。

其他地方与上相同,只有三极管电路放大改成功率放大芯片电路,C9为交流耦合作用。

5.4.控制方式变化
除了用4个按键控制方式外,还可用一线控制方式和3线控制方式;
一线控制方式:
P03作为数据DATA输入口,外部MCU发送数据给WT588D
三线控制方式:
P03作为时钟CLK口;
P02作为片选CS控制口;
P01作为数据口。

6.三线串口系统程序示例
说明:此程序跟《WT588D诧音芯片及模块应用电路》中的三线串口控制模式应用电路相对应。

测试芯片:AT89C2051。

#include <at89x51.H>
sbit KEY=P1^1; /*P1_1为P1口的第2位*/
sbit RST=P1^4; / *P1_4为P3口的第3位*/
sbit CS=P3^1; /*P3_1为P3口的第4位*/
sbit SCL=P3^2; /*P3_2为P3口的第5位*/
sbit SDA=P3^0; /*P3_0为P3口的第6位*/
//sbit DENG=P3^7; /*P3_5为P3口的第6位*/
void delay1ms(unsigned char count) //1MS延时子程序
{ unsigned char i,j,k;
for(k=count;k>0;k--)
for(i=2;i>0;i--)
for(j=248;j>0;j--);
}
void delay100us(void) //100US延时子程序
{ unsigned char j;
for(j=50;j>0;j--);
}
Send_threelines(unsigned char addr) //三线发码子程序
{ unsigned char i;
RST=0;
delay1ms(5);
RST=1;
delay1ms(17); /* 17ms*/
CS=0;
delay1ms(2);
for(i=0;i<8;i++)
{ SCL=0;
if(addr & 1)SDA=1;
else SDA=0;
addr>>=1;
delay100us(); /* 100us */
SCL=1;
delay100us();
}
CS=1;
}
main()
{ unsigned char FD=0;
P3=0XFF;
while(1)
{ if(KEY==0)
{
delay1ms(20);
if(KEY==0) //通过挄键P1.1来迚行发码值的递增
{ Send_threelines(FD);
FD++;
if(FD==220//三线串口时,诧音段暂时最多为220段
{ FD=0;}
while(KEY==0); //等待挄键释放,以免一次挄键诨判成几次}
}
}
}。

相关文档
最新文档