WT588C语音芯片技术详解说明文档格式.docx
- 文档编号:20625257
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:22
- 大小:36.32KB
WT588C语音芯片技术详解说明文档格式.docx
《WT588C语音芯片技术详解说明文档格式.docx》由会员分享,可在线阅读,更多相关《WT588C语音芯片技术详解说明文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
9-
SPI-DI
封装引脚
引脚标号
简述
功能描述
1
D0
I/O
连接SPI-DI
2
SPI-Flash的DO端口
3
SPI-Flash的CS端口
4
CLK
两线串口CLK
5
DI
两线串口DI
两线串口DATAOUT
7
REST
两线串口REST(高脉冲)
8
地线
9
SPI-Flash的DI端口
10
电源端口
11
PWM
PWM输出音频口
12
PWM2
PWM/DAC
PWM输出音频口/DAC输出音频口
电源输入端口
14
15
16
SPI-Flash的CLK端口
4.2、WT588C-16S
-2—
-^■5-1
-3_
—H-
丄
-8-
—9-
P06
P05
WT588C-16S
RST
两线串口时可以设置为RESTE(高脉冲)
待定
电源端口(3.3V输出,可以给SPI供电)
5、电气参数
环境温度25C,工作电压DC3V
参数
标记
环境条件
最小值
典型值
最大值
单位
工作电压
Vdd
无
2.4
5.0
V
待机电流(LDO
ISB
VDD=3V,没负载
uA
ON)
1.5
OFF)
工作电流
IOP
600
输出驱动电流
IOD
VDD=3V,VOUT=0.6V
mA
输出灌电流
IOS
VDD=3V,VOUT=2.4V
30
PWM驱动电流
VDD=3V,VOUT=1.5V
200
PWM灌电流
工作温度
TOPR
-
-40~75
C
6、两线串口控制模式6.1、发送地址命令
两线串口控制模式由DI及CLK发送数据信号控制语音地址,同时由DO返回相关操作
数据。
在发送DI前先将CLK拉高100us以唤醒芯片工作,继而发送周期为200us的CLK
信号跟DI,在接收到DI数据100US后DO返回DI所发送的数据。
整个数据需要发送24bit,数据发送完成后200us,开始播放地址语音。
时钟周期的工作范围为50us〜4000US。
P//
琢ILRjn
II:
:
0叫
VOCE
备注:
在上电时,若CLK管脚有高脉冲或者高电平,则进入烧写模式,芯片无法正常工作,须给P04(RESET)一个10ms以上的高脉冲。
使用51系列MCU的客户需注意!
此类MCU复位后10默认输出高电平,所以会导致WT588C芯片进入烧写模式。
因此、第一次发指令的时候、可以先给P04复位脚一个高脉冲复位一下芯片,然后发指令、CLK发送完后,建议把CLK拉低。
6.2、读取芯片工作状态
发送16bit的数据0X2200,可以通过读取DO返回的数据,知道芯片的当前状态。
由
DO返回的D7数据,0代表语音停止,1代表芯片正在播放语音。
VOKE100usl0CDs5D15D14D14D13用苫2D12D11D11DGrcDpND6D6D5D5D4D4D3D3D2D2D1D1D0D0
6.3、控制命令
命令
管脚
数据
时钟位
说明
初始化
0X0A0140
24
每次上电后需要发送此命令,以
唤醒芯片。
播放
0X18+语音地址
播放地址语音
暂停
0X0A0148
可以暂停正在播放的语音
从暂停处播放
从暂停处恢复播放语音
读取芯片状态
0X2200
检验芯片是否处于停止状态,0
检验D7
为停止,1为播放。
休眠指令
0X0A0100
直接进入休眠,可以打断正在播
放的语音
注意:
两线串口模式下不会自动进入休眠状态,需要低功耗可通过休眠指令让芯片进入休眠
状态。
6.4、语音地址
WT588C在两线串口模式下最多可加载256段语音,注意由于语音总地址不一样,单
片机发送给语音芯片的控制指令不一样。
当语音总地址小于100段时;
地址所对应的命令如下:
(语音地址总个数为1~100)
可以发现规律、每个地址码按照20H累加。
序号
语音地址
0X1800C8
0X1800E8
0X180108
0X180128
0X180148
0X180168
97
0X180CA8
98
0X180CC8
99
0X180CE8
100
0X180D08
当语音总地址大于100段时;
地址所对应的命令码如下:
可以发现规律、每个地址码按照08H累加。
0X1800D0
0X1800D8
0X1800E0
0X1800E8
0X1800F0
252
0X1808A0
253
0X1808A8
254
0X1808B0
255
0X1808B8
256
0X1808C0
客户发送的是命令码就行了、比如说客户要播放第5个地址的语音。
即只需要发送指令0X
1800E8即可。
7、应用电路7.1、WT588C16-16S两线串口模式(PWM输出)
备注:
VDD电压范围可以选2.8~5.2V
芯片I/O口电压3.3V
7.2、WT588C16-16S两线串口模式(DAC输出)
vm
T
MCU
GMD
D(
TTl
r
R3ZET
□ND
炉]丄】1
GbfD
肿】-CLK
SP1-DO
SPL-CS
VTDL
pwwm
PWMl
P(M
CM?
spin
门
:
2-DAJ
(1iT~VI?
DC
7.3、WT588C-16S
两线串口模式(PWM输出)
cib
NIdJ
SPI-(T
彳
'
JJC
4
BO
BEET
〒
a
列-DI
£
GLID
^I-DI、
逵丄-CXE
HDO
VDDW
^I-CS
VDL1L
PCI2
PCI
PWkE
FWbT
ijKD
335
]4
(it-
L47
^pr-ro2
GMD广
TOS
33
HiZL
9CK
,LatU)
ITT
VDD电压范围2.8~5.2V
GST
F1
1K
GHD
Cl
1)4
Ci
1C4
12FWM2
TWND
夕斑哝Q.5W
J
7
沏-DI
GhT
C5
1G4
7.4、WT588C-16S两线串口模式(DAC输出)
ax
.-DO
田]
-as
□
QK
斗
$
FE3^T
REFT
申I-CS1〉BI-DC—=,
□匸I
GTO
至I-ELA筑
GN:
.-…\J
1^I-DO
•PCS
TOCL
•F02
VLD
"
TO1
PW2
pwvn
■'
P04
TG4
GW
TG5
WI583C16S
口
12PWM
803U
一7「
R1
TLCpC
a^i-Di.1
IK
hob
SCK
SI
7.5、WT588C16-16S内置FLASH下载电路
WD
JLLXJ2
TI-CS3
汩4IK
^I-DO
VCDS
田ICS
WDL
m
PVM
VLEG
GNJ
刊・DI
门vno
1ovco
9FPI-DI
W打〔LK"
7~C1"
He匕VDDILW11
—h
WT5S8Clt-1dS
GH>
1.PWM1要接上VDD
2.VDDS要接上VDD
3.芯片I/O口电压3.3V
8、程序范例
8.1、两线串口控制程序范例
//MCU:
STC10F04
//晶振:
22.1184MHz
#inelude“STC8051.h”/*STC8051definitions*/
#ineludevintrins.h>
sbitWT_CLK=P2A0;
sbitWT_DI=P2a2;
sbitWT_DO=P2a3;
sbit
LED_OUT
=P4A6;
//指示灯
KEY1=P3
A7;
KEY2=P3
a6;
KEY3=P3
A5;
KEY4=P3
A4;
unsignedcharVoiceAddr=0;
//存储语音地址
/*——
;
模块名称:
Delay_10us
功
能:
延时函数,STC10F0410us@22.1184MHz
入
参:
unsignedintn
延时次数
出
*/
voidDelay_10us(unsignedintn)
{
unsignedchari;
for(;
n>
0;
n__)
for(i=40;
i>
i--)
_nop_();
}
/*
Delay_1ms
延时函数,STC10F041ms@22.1184MHz
unsignedintz
voidDelay_1ms(unsignedintz)
unsignedinti,j;
for(i=z;
i__)
for(j=1700;
j>
j--);
;
WTH_2L
功能:
WTH二线串口通信函数,高位在前,发送24位数据
入参泼送的24位数据
出参:
芯片返回的数据
*/
unsignedlongintWTH_2L(unsignedlongintdat){
unsignedlongintreturn_dat;
WT_CLK=1;
Delay_100us
(2);
for(i=0;
i<
24;
i++)
if(dat&
0x800000)WT_DI=1;
elseWT_DI=0;
dat<
<
=1;
Delay_10us(5);
〃50us
if(WT_DO)return_dat|=0x01;
elsereturn_dat&
=~(0x01);
return_dat<
WT_CLK=0;
Delay_10us(10);
〃100us
Delay_10us(5);
return_dat&
=0x7ffffe;
//屏蔽前后无用的数据
returnreturn_dat;
Play_voice
WTH二线串口通信,WTH芯片播放语音
入参:
播放的地址0~255
0:
播放失败;
1:
播放成功
unsignedcharPlay_voice(unsignedcharaddr)
unsignedlongintdat;
dat=0x1800c8+(addr<
5);
if(WTH_2L(dat)==dat)return1;
//播放成功
return0;
//播放失败
WTH_Check_sate
WTH二线串口通信,查询WTH芯片状态,高位在前发送16位数据
芯片未处于播放状态;
1:
芯片正在播放状态
unsignedcharWTH_Check_sate(void)
unsignedlongintdat=0x2200;
16;
0x8000)WT_DI=1;
//等待50us后才读取DO数据
=Oxffff;
if(return_dat&
0x80)//只判断第9位数据
return1;
//正在播放
//未播放
voidMain(void)
unsignedlonginttemp;
P2M0=0x00;
P2M1=(1<
3);
〃P22(DO)为高阻输入,其他为普通IO
WT_DI=0;
//如果是51系列单片机,请在在此时才给WTH芯片上电初始化。
P01=1;
//打开WTH的电源控制
while
(1)
if(P3!
=0xff)
if(KEY1==0)
Delay_1ms(20);
if(Play_voice(VoiceAddr));
//每按一次播放下一曲
if(VoiceAddr<
255)
VoiceAddr++;
while(KEY1==0);
if(KEY2==0)
Play_voice(VoiceAddr);
//每按一次播放上一曲
if(VoiceAddr)
VoiceAddr--;
while(KEY2==0);
if(KEY3==0)
用于调试
WTH_2L(0x1800c8);
//手动播放某一指定地址,方便
while(KEY3==0);
if(KEY4==0)
WTH_2L(0xa0140);
//手动对芯片重新初始化,方便
while(KEY4==0);
Delay_1ms(30);
if(WTH_Check_sate())//检测芯片的状态
LED_OUT1=1;
//正在播放语音
elseLED_OUT1=0;
//未播放语音
9、封装尺寸图
9.1、WT588C-16S/WT588C16-16S封装尺寸图
单位:
mm
O.?
3(i-0j012
S_V.Q1
”一:
-:
i
七Led
開占3
[de£
cm
1.B0
0071
n-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WT588C 语音 芯片 技术 详解 说明