WT588C语音芯片技术详解说明.docx

上传人:b****1 文档编号:516619 上传时间:2023-04-29 格式:DOCX 页数:20 大小:236.44KB
下载 相关 举报
WT588C语音芯片技术详解说明.docx_第1页
第1页 / 共20页
WT588C语音芯片技术详解说明.docx_第2页
第2页 / 共20页
WT588C语音芯片技术详解说明.docx_第3页
第3页 / 共20页
WT588C语音芯片技术详解说明.docx_第4页
第4页 / 共20页
WT588C语音芯片技术详解说明.docx_第5页
第5页 / 共20页
WT588C语音芯片技术详解说明.docx_第6页
第6页 / 共20页
WT588C语音芯片技术详解说明.docx_第7页
第7页 / 共20页
WT588C语音芯片技术详解说明.docx_第8页
第8页 / 共20页
WT588C语音芯片技术详解说明.docx_第9页
第9页 / 共20页
WT588C语音芯片技术详解说明.docx_第10页
第10页 / 共20页
WT588C语音芯片技术详解说明.docx_第11页
第11页 / 共20页
WT588C语音芯片技术详解说明.docx_第12页
第12页 / 共20页
WT588C语音芯片技术详解说明.docx_第13页
第13页 / 共20页
WT588C语音芯片技术详解说明.docx_第14页
第14页 / 共20页
WT588C语音芯片技术详解说明.docx_第15页
第15页 / 共20页
WT588C语音芯片技术详解说明.docx_第16页
第16页 / 共20页
WT588C语音芯片技术详解说明.docx_第17页
第17页 / 共20页
WT588C语音芯片技术详解说明.docx_第18页
第18页 / 共20页
WT588C语音芯片技术详解说明.docx_第19页
第19页 / 共20页
WT588C语音芯片技术详解说明.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

WT588C语音芯片技术详解说明.docx

《WT588C语音芯片技术详解说明.docx》由会员分享,可在线阅读,更多相关《WT588C语音芯片技术详解说明.docx(20页珍藏版)》请在冰点文库上搜索。

WT588C语音芯片技术详解说明.docx

WT588C语音芯片技术详解说明

WT588C语音芯片技术详解说明

1、产品特点

Ø可以重复烧写语音;

ØWT588C-16S容量可以选择4Mb、8Mb、16Mb、32Mb、64Mb、128Mb;

ØPWM和DAC两种音频输出方式;

Ø内部集成时钟振荡器;

Ø二线最多可以加载255段语音;

Ø触发防抖时间:

50us(串口)和10ms(按键);

Ø支持播放不同采样率的语音文件、WAV音频格式;

Ø支持BUSY状态输出功能;

Ø工作电压:

DC2.4~5.0V。

2、芯片选型

WT588C16-16S内置容量16Mbit,可以任意更换语音。

WT588C-16S外接SPI-flash,可以任意更换语音。

芯片控制方式有:

两线串口。

芯片输出方式有:

PWM输出(直接推动喇叭)、DAC输出(外接功放使用)。

下文有相应的参考电路。

3、应用范围

Ø汽车(防盗报警器、倒车雷达、GPS导航仪、电子狗、中控锁);

Ø智能家居系统;

Ø家庭防盗报警器;

Ø医疗器械人声提示;

Ø家电(电磁炉、电饭煲、微波炉);

Ø娱乐设备(游戏机、游乐机);

Ø学习模型(早教机、儿童有声读物);

Ø智能交通设备(收费站、停车场);

Ø通信设备(电话交换机、电话机);

Ø工业控制领域(电梯、工业设备);

Ø高级玩具。

4、管脚图

4.1、WT588C16-16S

D0

I/O

连接SPI-DI

SPI-DO

I/O

SPI-Flash的DO端口

SPI-CS

I/O

SPI-Flash的CS端口

P02

CLK

两线串口CLK

P01

DI

两线串口DI

P03

D0

两线串口DATAOUT

P04

REST

两线串口REST(高脉冲)

GND

GND

地线

SPI-DI

I/O

SPI-Flash的DI端口

VDDS

VDD

电源端口

PWM1

PWM

PWM输出音频口

PWM2

PWM/DAC

PWM输出音频口/DAC输出音频口

VDD

VDD

电源输入端口

VDDL

VDD

电源端口

VDDS

VDD

电源端口

SPI-CLK

I/O

SPI-Flash的CLK端口

4.2、WT588C-16S

SPI-DI

I/O

SPI-Flash的DI端口

SPI-DO

I/O

SPI-Flash的DO端口

SPI-CS

I/O

SPI-Flash的CS端口

P02

CLK

两线串口CLK

P01

DI

两线串口DI

P03

D0

两线串口DATAOUT

P04

RST

两线串口时可以设置为RESTE(高脉冲)

GND

GND

地线

P05

I/O

待定

P06

I/O

待定

PWM1

PWM

PWM输出音频口

PWM2

PWM/DAC

PWM输出音频口/DAC输出音频口

VDD

VDD

电源输入端口

VDDL

VDD

电源端口

VDDS

VDD

电源端口(3.3V输出,可以给SPI供电)

SPI-CLK

I/O

SPI-Flash的CLK端口

5、电气参数

环境温度25℃,工作电压DC3V

VDD

2.4

3

5.0

V

ISB

VDD=3V,没负载

3

4

5

uA

ISB

VDD=3V,没负载

1

1.5

3

uA

IOP

VDD=3V,没负载

600

uA

IOD

VDD=3V,VOUT=0.6V

10

mA

IOS

VDD=3V,VOUT=2.4V

30

mA

IOD

VDD=3V,VOUT=1.5V

200

mA

IOS

VDD=3V,VOUT=1.5V

200

mA

TOPR

-

-40~75

6、两线串口控制模式

6.1、发送地址命令

两线串口控制模式由DI及CLK发送数据信号控制语音地址,同时由DO返回相关操作数据。

在发送DI前先将CLK拉高100us以唤醒芯片工作,继而发送周期为200us的CLK信号跟DI,在接收到DI数据100us后DO返回DI所发送的数据。

整个数据需要发送24bit,数据发送完成后200us,开始播放地址语音。

时钟周期的工作范围为50us~4000us。

备注:

在上电时,若CLK管脚有高脉冲或者高电平,则进入烧写模式,芯片无法正常工作,须给P04(RESET)一个10ms以上的高脉冲。

使用51系列MCU的客户需注意!

此类MCU复位后IO默认输出高电平,所以会导致WT588C芯片进入烧写模式。

因此、第一次发指令的时候、可以先给P04复位脚一个高脉冲复位一下芯片,然后发指令、CLK发送完后,建议把CLK拉低。

 

6.2、读取芯片工作状态

发送16bit的数据0×2200,可以通过读取DO返回的数据,知道芯片的当前状态。

由DO返回的D7数据,0代表语音停止,1代表芯片正在播放语音。

6.3、控制命令

初始化

DI

0×0A0140

24

每次上电后需要发送此命令,以唤醒芯片。

DO

播放

DI

0×18+语音地址

24

播放地址语音

DO

暂停

DI

0×0A0148

24

可以暂停正在播放的语音

DO

从暂停处播放

DI

0×0A0140

24

从暂停处恢复播放语音

DO

读取芯片状态

DI

0×2200

16

检验芯片是否处于停止状态,0为停止,1为播放。

DO

检验D7

休眠指令

DI

0x0A0100

24

直接进入休眠,可以打断正在播放的语音

DO

注意:

两线串口模式下不会自动进入休眠状态,需要低功耗可通过休眠指令让芯片进入休眠状态。

6.4、语音地址

WT588C在两线串口模式下最多可加载256段语音,注意由于语音总地址不一样,单片机发送给语音芯片的控制指令不一样。

当语音总地址小于100段时;地址所对应的命令如下:

(语音地址总个数为1~100)

可以发现规律、每个地址码按照20H累加。

1

0×1800C8

1

2

0×1800E8

2

3

0×180108

3

4

0×180128

4

5

0×180148

5

6

0×180168

6

……

……

……

97

0×180CA8

97

98

0×180CC8

98

99

0×180CE8

99

100

0×180D08

100

当语音总地址大于100段时;地址所对应的命令码如下:

可以发现规律、每个地址码按照08H累加。

1

0×1800C8

1

2

0×1800D0

2

3

0×1800D8

3

4

0×1800E0

4

5

0×1800E8

5

6

0×1800F0

6

……

……

……

252

0×1808A0

252

253

0×1808A8

253

254

0×1808B0

254

255

0×1808B8

255

256

0×1808C0

256

客户发送的是命令码就行了、比如说客户要播放第5个地址的语音。

即只需要发送指令0×1800E8即可。

7、应用电路

7.1、WT588C16-16S两线串口模式(PWM输出)

备注:

VDD电压范围可以选2.8~5.2V

芯片I/O口电压3.3V

7.2、WT588C16-16S两线串口模式(DAC输出)

备注:

VDD电压范围可以选2.8~5.2V

芯片I/O口电压3.3V

7.3、WT588C-16S两线串口模式(PWM输出)

备注:

VDD电压范围2.8~5.2V

芯片I/O口电压3.3V

7.4、WT588C-16S两线串口模式(DAC输出)

备注:

VDD电压范围2.8~5.2V

芯片I/O口电压3.3V

7.5、WT588C16-16S内置FLASH下载电路

备注:

1.PWM1要接上VDD

2.VDDS要接上VDD

3.芯片I/O口电压3.3V

8、程序范例

8.1、两线串口控制程序范例

//MCU:

STC10F04

//晶振:

22.1184MHz

#include“STC8051.h”/*STC8051definitions*/

#include

sbitWT_CLK=P2^0;

sbitWT_DI=P2^2;

sbitWT_DO=P2^3;

sbitLED_OUT=P4^6;//指示灯

sbitKEY1=P3^7;

sbitKEY2=P3^6;

sbitKEY3=P3^5;

sbitKEY4=P3^4;

unsignedcharVoiceAddr=0;//存储语音地址

/*--------------------------------------

;模块名称:

Delay_10us

;功能:

延时函数,STC10F0410us@22.1184MHz

;入参:

unsignedintn延时次数

;出参:

;-------------------------------------*/

voidDelay_10us(unsignedintn)

{

unsignedchari;

for(;n>0;n--)

{

for(i=40;i>0;i--)

{

_nop_();

}

}

}

/*--------------------------------------

;模块名称:

Delay_1ms

;功能:

延时函数,STC10F041ms@22.1184MHz

;入参:

unsignedintz延时次数

;出参:

;-------------------------------------*/

voidDelay_1ms(unsignedintz)

{

unsignedinti,j;

for(i=z;i>0;i--)

{

for(j=1700;j>0;j--);

}

}

/*--------------------------------------

;模块名称:

WTH_2L

;功能:

WTH二线串口通信函数,高位在前,发送24位数据

;入参:

发送的24位数据

;出参:

芯片返回的数据

;-------------------------------------*/

unsignedlongintWTH_2L(unsignedlongintdat)

{

unsignedchari;

unsignedlongintreturn_dat;

WT_CLK=1;

Delay_100us

(2);

for(i=0;i<24;i++)

{

WT_CLK=1;

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<<=1;

Delay_10us(5);//50us

WT_CLK=0;

Delay_10us(10);//100us

}

Delay_10us(5);//50us

if(WT_DO)return_dat|=0x01;

elsereturn_dat&=~(0x01);

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位数据

;入参:

;出参:

0:

芯片未处于播放状态;1:

芯片正在播放状态

;-------------------------------------*/

unsignedcharWTH_Check_sate(void)

{

unsignedchari;

unsignedlongintdat=0x2200;

unsignedlongintreturn_dat;

WT_CLK=1;

Delay_100us

(2);

for(i=0;i<16;i++)

{

WT_CLK=1;

if(dat&0x8000)WT_DI=1;

elseWT_DI=0;

dat<<=1;

Delay_10us(5);//等待50us后才读取DO数据

if(WT_DO)return_dat|=0x01;

elsereturn_dat&=~(0x01);

return_dat<<=1;

Delay_10us(5);//50us

WT_CLK=0;

Delay_10us(10);//100us

}

if(WT_DO)return_dat|=0x01;

return_dat&=0xffff;

if(return_dat&0x80)//只判断第9位数据

return1;//正在播放

return0;//未播放

}

voidMain(void)

{

unsignedlonginttemp;

P2M0=0x00;

P2M1=(1<<3);//P22(DO)为高阻输入,其他为普通IO

WT_CLK=0;

WT_DI=0;

//如果是51系列单片机,请在在此时才给WTH芯片上电初始化。

P01=1;//打开WTH的电源控制

WTH_2L(0xa0140);//芯片初始化

while

(1)

{

if(P3!

=0xff)

{

if(KEY1==0)

{

Delay_1ms(20);

if(KEY1==0)

{

if(Play_voice(VoiceAddr));//每按一次播放下一曲

if(VoiceAddr<255)

{

VoiceAddr++;

}

}

while(KEY1==0);

}

if(KEY2==0)

{

Delay_1ms(20);

if(KEY2==0)

{

Play_voice(VoiceAddr);//每按一次播放上一曲

if(VoiceAddr)

{

VoiceAddr--;

}

}

while(KEY2==0);

}

if(KEY3==0)

{

Delay_1ms(20);

if(KEY3==0)

{

WTH_2L(0x1800c8);//手动播放某一指定地址,方便用于调试

}

while(KEY3==0);

}

if(KEY4==0)

{

Delay_1ms(20);

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2