语音模块使用资料1、WT588S语音芯片产品特点支持多品种SPI-FLASH(4Mbit-128Mbit)一线串口通讯支持上位机软件制做BIN文件,然后下载到FLASH中支持WAV音频格式2、FLASH存储器及语音长度的关系表内数据是在语音为6K采样率时计算所得出来的,在扩展外挂多个存储器时,可获得更大的存储空间和语音地址。存储器容量2M4M8M16M32M64M128M语音时间80秒160秒320秒640秒1280秒2560秒5120秒3、WT588S语音芯片应用方框图4、管脚描述:4.1、WT588S管脚描述:12345109876PA1PA0VCCGNDPWMPPWMN/DACPA2PB0PA3PB1WT588S-10SS4.1.1、WT588S管脚分布图:PadNamePadNo.Description描述PA11DATA脚一线数据输入脚PA02SPI-FLASH数据输出脚VCC3电源正极(3.0V-3.6V)GND4电源负极PWMP5PWM输出脚PWMN/DAC6PWM输出脚、DAC输出脚PA27BUSY脚语音播放忙信号输出脚PA38SPI-FLASH时钟脚控制端WT588SBUSY输出音频输出USB下载SPI-Flash片选脚PB010SPI-FLASH数据输入脚4.2、WT588SM01管脚描述:12345678161514131211109PB3DACPWMPPWMNSISOCLKGNDCSPA1PD1PD2VCCVDDPB2PA2WT588SM014.2.1、管脚分布图:PadNamePadNo.Description描述PB31I/O口暂未使用DAC2DAC输出脚PWMP3PWM输出脚PWMN4PWM输出脚SI5SPI-FLASH数据输入脚SO6SPI-FLASH数据输出脚CLK7SPI-FLASH时钟脚GND8地线脚CS9SPI-FLASH片选脚PA110一线数据输入脚PB211I/O口暂未使用PD112I/O口暂未使用PD213I/O口暂未使用VCC14电源正极(3.0V-3.6V)FLASH供电PA215BUSY脚语音播放忙信号输出脚VDD16电源正极(3.0V-3.6V)5、命令及语音码命令码功能描述0000H~03E7H语音地址播放对应语音地址的内容。FFE0H~音量调节在语音播放或者待机状态发此命令可以调节8级音量,FFE0H最小,FFE7H音量最大。FFF2H循环播放在语音播放过程中发送此命令可循环播放当前地址语音。(没有播放语音时循环播放上一次播放的地址语音)。FFF3H+XXXX连码播放FFF3H+语音地址A+FFF3H+语音地址B+FFF3H+语音地址C,…待指令发送完毕,等待100ms开始播放语音,播完A,再播放B,之后播放C…语音地址XXXX的范围为(0000H~00DFH)。FFF8H+XXXX插入静音FFF8H+静音时间(10MS为单位),播放完语音之后插入静音;在连码播放时,该静音指令的前后两个语音之间插入静音。这里的XXXX范围为(0000H~00DFH)。FFFEH停止语音播放停止播放语音命令。注意:1.上电复位后,芯片默认为最大音量值FFEFH,音量调节命令可以在任何时候发送。播放语音停止,1秒后自动进入休眠状态。芯片休眠后保持当前设置音量。2.FFF3H和FFF8H可以方便的组合不同语音,每次组合语音或静音个数不能超过10个。3.每一条指令,两个字节之间的时间间隔要小于4ms。例如0010,低位10与高位00之间发码等待的时间要小于4ms,建议2ms。4.所有的两个字节控制方式都是先发高字节的低位,例如F501H,发送时先发11110101(F5H)的低位,再发00000001(01H)的低位,即按照1010111110000000的顺序发送。5.连码播放指令,FFF3+XXXX和下一个FFF3+XXXX之间的时间要小于20ms。6.上电后没有播放过语音的情况下不能使用FFF2指令(循环指令)。5.1、语音地址对应关系数据(十六进制)功能0000H播放第0段语音0001H播放第1段语音0002H播放第2段语音…………00D9H播放第217段语音00DAH播放第218段语音00DBH播放第219段语音00DCH播放第220段语音00DDH播放第221段语音…………03E7H播放第999段语音5.2、控制时序图数据信号拉低5ms,最后发送数据。高电平与低电平数据占空比1:3即代表数据位0,高电平于低电平数据位占空比为3:1代表数据位1。高电平在前,低电平在后。D0~D7表示一个地址或者命令数据,数据中的0000H~03E8H为地址指令,FFE0H~FFE7H为音量调节命令,FFF2H为循环播放命令,FFFEH为停止播放命令。详细时序请见下图:高低电平时序范围:50us:150us~~800us:2.4ms(注:1:21:31:5其中的1推荐200us)说明:1.先发高字节的低位,再发送低字节的低位。例如F301接收到的数据是这样的:1100111110000000。2.将数据信号拉低5ms,然后发送数据,每个字节发完后需拉高2ms再拉低5ms,然后发送下一个字节。高电平与低电平数据占空比1:3即代表数据位0,高电平于低电平数据位占空比为3:1代表数据位1。6、应用电路6.1、WT588S一线串口PWM输出模式应用电路注意:电容C3要尽量靠近芯片的VCC管脚。、WT588S一线串口DAC输出模式应用电路注意:电容C3要尽量靠近芯片的VCC管脚。6.3、WT588SM01模块一线串口PWM输出模式应用电路、WT588SM01模块一线串口DAC输出模式应用电路7、控制时序7.1、一线串口控制C语言程序说明:此程序跟《WT588S语音芯片及模块应用电路》中的一线串口控制模式应用电路相对应。测试芯片:AT89C2051。xdataUC8i;bitB_DATA;xdataUC8num_temp=0;xdataUI16ddata_temp;UI16TIME_TEMP;ddata_temp=ddata;//用户数据赋值TIME_TEMP=T4_time*T5_time;num_temp=16;one_line_DATA=0;Delay_10us(T3_time);//T3参数5MSB_DATA=(bit)(ddata_temp&0X0001);for(i=0;inum_temp;i++){if(i==8){=1;Delay_10us(600);one_line_DATA=0;Delay_10us(T3_time);//T3参数}one_line_DATA=1;//拉高数据传输线,准备传输数据if(B_DATA==0){/*表示逻辑电平0*/Delay_10us(T4_time);//延时200usone_line_DATA=0;Delay_10us(TIME_TEMP);//延时600us}else{/*表示逻辑电平1*/Delay_10us(TIME_TEMP);//延时600usone_line_DATA=0;Delay_10us(T4_time);//延时200us}ddata_temp=ddata_temp1;B_DATA=(bit)(ddata_temp&0x0001);}8、说明书版本历史记录版本日期描述V1.002017-6-20初始版本