WT588D语音芯片使用资料
V2.30
广州唯创电子有限公司是一家致力于研发语音芯片的高新科技公司,拥有着雄厚的研发基础和具备开发经验以及实力的研发团队,唯创人秉着对语音芯片的执着和追求,不断的以实力将语音芯片推向一个又一个高峰。有唯创人的地方就有声音的完美展现。
WT588D是一款具有单片机内核的语音芯片,因此,可以冠名为WT588D系列语音单片机。WT588D系列语音单片机是广州唯创电子有限公司联合台湾华邦共同研发出来的集单片机和语音电路于一体的可编辑语音芯片。功能多音质好应用范围广性能稳定是WT588D系列语音单片机的特长,弥补了以往各类语音芯片应用领域狭小的缺陷,MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式,让应用人员能将产品投放在几乎可以想象得到的场所。作为一款以语音为基础的芯片,对音质的追求当然也是精益求精的,完全支持6K~22KHz采样率的音频加载,芯片的独到之处便是将加载的音频音质几乎完整无损的展现出来。WT588D系列语音单片机能通过配套软件WT588D voiceChip轻而易举的做到语音组合播放、插入完美的陶冶静音。静音的时长控制得绝无丝毫误差!可控制的语音地址位能达到220个!每个地址位里能加载可组合语音为128段语音!WT588D系列语音单片机模块内置SPI-FLASH存储器,WT588D系列语音单片机芯片可根据实际用法外置SPI-FLASH存储器,众多的控制模式、语音组合只需更换SPI-FLASH的内容,即可完全实现操作方式的切换。WT588D系列语音单片机支持SPI-FLASH内容在线下载,这是一个应用人员不可或缺的优势!WT588D语音单片机的推出,非常的具有语音市场的前瞻性和革命性,势必会在语音芯片的应用方面卷起一股旋风。如何将WT588D语音单片机在实际应用中发挥得淋漓尽致,还需请您详读WT588D系列语音单片机使用说明书。
最后,感谢您选择WT588D系列语音单片机作为语音电路的核心。希望WT588D系列语音单片机能为您的展飞添加无暇的翅膀。
目 录
1、WT588D语音芯片特征 6
2、WT588D语音芯片功能概述 6
3、WT588D语音芯片选型 7
4、FLASH存储器及语音长度的关系 7
5、应用领域 7
6、WT588D语音芯片应用方框图 8
7、封装示意图 8
7.1、WT588D-18P 8
7.2、WT588D-20SS 9
7.3、WT588D-32L 10
8、引脚详细描述 11
9、电气参数 11
10、环境绝对极限参数 12
11、控制模式 12
11.1、MP3模式 12
11.2、按键控制模式 12
11.2.1、脉冲可重复触发 13
11.2.2、脉冲不可重复触发 13
11.2.3、电平保持可循环 13
11.2.4、电平保持不可循环 13
11.2.5、电平非保持循环 14
11.2.6、播放/停止 14
11.2.7、下一曲不循环 14
11.2.8、上一曲不循环 14
11.2.9、下一曲可循环 15
11.2.10、上一曲可循环 15
11.2.11、暂停 15
11.2.12、停止 15
11.3、3×8矩阵按键控制模式 16
11.4、并口控制模式 16
11.4.1、语音地址对应列表 16
11.4.2、控制时序图 16
11.5、一线串口控制模式 17
11.5.1、端口分配表 17
11.5.2、命令及语音码 17
11.5.3、语音地址对应关系 17
11.5.4、控制时序图 18
11.5.5、一线串口控制时序例子 18
11.5.6、程序范例 18
11.6、三线串口控制模式 19
11.6.1、端口分配方式 19
11.6.2、语音及命令码对应表 19
11.6.3、语音地址对应关系 19
11.6.4、三线串口控制控制端口扩展输出 20
11.6.5、三线串口控制时序 20
11.6.6、命令码发送时间 21
11.6.7、程序范例 21
12、控制时序 22
12.1、控制时序框图 22
12.2、一线串口控制汇编程序 22
12.3、一线串口控制C语言程序 24
12.4、三线串口控制汇编程序 26
12.5、三线串口控制C语言程序 28
13、说明书版本历史记录 29
1、WT588D语音芯片特征• 模块封装(带SPI-Flash及外围电路)有DIP16、DIP28,芯片封装有DIP18、SSOP20和LQFP32形式; • 根据外挂或者内置SPI-Flash的不同,播放时长也不同,支持2M~32Mbit的SPI-Flash存储器; • 内嵌DSP高速音频处理器,处理速度快; • 内置13Bit/DA转换器,以及12Bit/PWM输出,音质好; • PWM输出可直接推动0.5W/8Ω扬声器,推挽电流充沛; • 支持DAC/PWM两种输出方式; • 支持加载WAV音频格式; • 支持加载6K~22KHz采样率音频; • 支持对已加载语音播放试听; • 可通过专业上位机操作软件,随意组合语音,可插入静音,插入的静音不占用内存的容量,一个已加载语音可重复调用到多个地址; • 220段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放; • 最多可加载500段用于编辑的语音; • USB下载方式,支持在线下载/脱机下载;即便是在WT588D语音芯片通电的情况下,也一样可以正常下载数据到SPI-Flash; • 芯片复位时间5ms; |
| • 支持MP3控制模式、按键控制模式、3×8按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式; • 三线串口控制模式切换到三线串口控制控制端口扩展输出模式只需发送数据就可以进行切换。切换后仍可把切换前的最后一工作状态带进切换后的模式工作; • 任意设定显示语音播放状态信号的BUSY输出方式; • 抗干扰性强,可应用在工业领域; • 220段可控制地址位,单个地址位最多可加载128段语音,地址位内的语音组合播放; • 语音播放停止马上进入休眠模式,芯片转为完全停止状态; • 15种按键控制模式,任意一个按键可设定任意一种控制模式; • 配套WT588D VoiceChip上位机软件,接口简单,使用方便。能极大限度的发挥出WT588D语音单片机的各项功能; • 简单的单片机编写方式,摆脱以往复杂繁琐的汇编思维; • 单个芯片支持外挂多个存储器; • 插入的静音时间范围10ms~25min; • 工作电压DC2.8V~5.5V; • 静态休眠电流小于10uA; • 支持8和弦MIDI播放(此功能有待开放)。 |
2、WT588D语音芯片功能概述WT588D语音芯片是一款功能强大的可重复擦除烧写的语音单片机芯片。WT588D让语音芯片不再为控制方式而寻找合适的外围单片机电路,高度集成的单片机技术足于取代复杂的外围控制电路。配套WT588D VoiceChip上位机操作软件可随意更换WT588D语音单片机芯片的任何一种控制模式,把信息下载到SPI-Flash上即可。软件操作方式简洁易懂,撮合了语音组合技术,大大减少了语音编辑的时间。完全支持在线下载,即便是WT588D通电的情况下,一样可以通过下载器给关联的SPI-Flash下载信息,给WT588D语音芯片电路复位一下,就能更新到刚下载进来的控制模式。
支持插入静音模式,插入静音不占用SPI-Flash内存的容量,一个地址位可插入10ms~25min的静音;
MP3控制模式下,完全迎合市场上MP3的播放/暂停、停止、上一曲、下一曲、音量+、音量-等功能;
按键控制模式下触发方式灵活,可随意设置任意按键为脉冲可重复触发、脉冲不可重复触发、无效按键、电平保持不可循环、电平保持可循环、电平非保持可循环、上一曲不循环、下一曲不循环、上一曲可循环、下一曲可循环、音量+、音量-、播放/暂停、停止、播放/停止等15种触发方式,最多可用10个按键触发控制输出;
3×8按键组合控制模式下能以脉冲可重复触发的方式触发24个地址位语音,所触发地址位语音可在0~219之间设置;
并口控制模式可用8个控制端口进行控制,仅限于WT588D-32L、WTW-28P;
一线串口控制模式可通过发码端控制语音播放、停止、循环播放和音量大小,或者直接触发0~219地址位的任意语音,发码速度600us~2000us;
三线串口控制模式和三线串口控制控制端口扩展输出模式之间可通过发码切换,三线串口控制模式下,能控制语音播放、停止、循环播放和音量大小,或者直接触发0~219地址位的任意语音,三线串口控制控制端口扩展输出可以扩展输出8位,在两种模式下切换,能让上一个模式的最后一种状态保持着进入下一个模式。
PWM和DAC输出方式,PWM输出可直接推动0.5W/8Ω的扬声器,DAC输出外接功放,音质好。
应用范围广,几乎可以涉及到所有的语音场所,如报站器、报警器、提醒器、闹钟、学习机、智能家电、治疗仪、电子玩具、电讯、倒车雷达以及各种自动控制装置等场所,工艺上达到工业应用的要求。
3、WT588D语音芯片选型详细的型号信息,可参考《货源信息》。16PIN模块跟28PIN均可外挂2~32Mbit SPI-FLASH。
型号 | FLASH | 控制端口 | 封装形式 | 按键模式 | 并口模式 | 3×8矩阵按键 | MP3模式 | 一线串口 | 三线串口 |
WTW500-16 | 16M | 4 | 16PIN模块 | OK | —— | —— | OK | OK | OK |
WTW500-28 | 16M | 11 | 28PIN模块 | OK | OK | OK | OK | OK | OK |
WT588D-18P | 外挂 | 4 | DIP18 | OK | —— | —— | OK | OK | OK |
WT588D-20SS | 外挂 | 4 | SSOP20 | OK | —— | —— | OK | OK | OK |
WT588D-32L | 外挂 | 11 | LQFP32 | OK | OK | OK | OK | OK | OK |
4、FLASH存储器及语音长度的关系表内数据是在语音为6K采样率时计算所得出来的,在扩展外挂多个存储器时,可获得更大的存储空间和语音地址。
存储器容量 | 2M | 4M | 8M | 16M | 32M |
语音时间 | 30秒 | 100秒 | 200秒 | 500秒 | 1000秒 |
5、应用领域
6、WT588D语音芯片应用方框图![]()

7、封装示意图WT588D系列语音单片机的芯片封装有DIP18、SSOP20和LQFP32,适合应用于各种场合,其引脚简图如下图。
7.1、WT588D-18P
WT588D-18P
封装引脚 | 引脚标号 | 简述 | 功能描述 |
1 | P00 | K1 | 按键 |
2 | P01 | K2/DATA | 按键/三线数据输入脚 |
3 | P02 | K3/CS | 按键/三线片选输入脚 |
4 | P03 | K4/CLK/DATA | 按键/三线时钟/一线数据输入脚 |
5 | VDD | VDD | 电源输入脚 |
6 | P17 | BUSY | 语音播放忙信号输出脚 |
7 | CVDD | CVDD | VDD电源调准脚 |
8 | OSCI | OSCI | RC震荡输入脚 |
9 | /RESET | /RESET | 复位脚,低电平保持≥5ms有效 |
10 | PWM+/DAC | PWM+/DAC | PWM+/DAC音频输出脚,视功能设置而定 |
11 | VDD-SPK | VDD-SPK | 音频电源输入脚 |
12 | PMW- | PWM- | PWM-音频输出脚 |
13 | VSS | VSS | 地线脚 |
14 | P13 | DO | SPI-FLASH通讯数据输出脚 |
15 | P14 | DI | SPI-FLASH通讯数据输入脚 |
16 | P15 | CS | SPI-FLASH通讯片选脚 |
17 | P16 | CLK | SPI-FLASH通讯时钟脚 |
18 | VDD-SIM | VDD-SIM | 串口电源管理脚 |
7.2、WT588D-20SS
WT588D-20SS
封装引脚 | 引脚标号 | 简述 | 功能描述 |
1 | P13 | DO | SPI-FLASH通讯数据输出脚 |
2 | P14 | DI | SPI-FLASH通讯数据输入脚 |
3 | P15 | CS | SPI-FLASH通讯片选脚 |
4 | P16 | CLK | SPI-FLASH通讯时钟脚 |
5 | VDD-SIM | VDD-SIM | 串口电源管理脚 |
6 | P00 | K1 | 按键 |
7 | P01 | K2/DATA | 按键/三线数据输入脚 |
8 | P02 | K3/CS | 按键/三线片选输入脚 |
9 | P03 | K4/CLK/DATA | 按键/三线时钟/一线数据输入脚 |
10 | VDD | VDD | 电源输入脚 |
11 | P17 | BUSY | 语音播放忙信号输出脚 |
12 | CVDD | CVDD | VDD电源调准脚 |
13 | OSCI | OSCI | RC震荡输入脚 |
14 | /RESET | /RESET | 复位脚,低电平保持≥5ms有效 |
15 | VSS | VSS | 地线脚 |
16 | PWM+/DAC | PWM+/DAC | PWM+/DAC音频输出脚,视功能设置而定 |
17 | VDD-SPK | VDD-SPK | 音频电源输入脚 |
18 | PWM- | PWM- | PWM-音频输出脚 |
19 | VSS-SPK | VSS-SPK | 音频电源地线脚 |
20 | NC | NC | 空 |
7.3、WT588D-32L
WT588D-32L
封装引脚 | 引脚标号 | 简述 | 功能描述 |
1 | P14 | DI | SPI-FLASH通讯数据输入脚 |
2 | P15 | CS | SPI-FLASH通讯片选脚 |
3 | P16 | CLK | SPI-FLASH通讯时钟脚 |
4 | VDD-SIM | VDD-SIM | 串口电源管理输入脚 |
5 | P00 | K1/L0/SBT | 按键/矩阵列/SBT并口地址触发输入脚/三线串口扩展输出地址口 |
6 | P01 | K2/A0/L1/DATA | 按键/并口地址/矩阵列/三线数据输入脚 |
7 | P02 | K3/A1/L2/CS | 按键/并口地址/矩阵列/三线片选输入脚 |
8 | P03 | K4/A2/L3/CLK/DATA | 按键/并口地址/矩阵列/三线时钟/一线数据输入脚 |
9 | P04 | K5/A3/L4 | 按键/并口地址/矩阵列输入脚/三线串口扩展输出地址口 |
10 | P05 | K6/A4/L5 | 按键/并口地址/矩阵列输入脚/三线串口扩展输出地址口 |
11 | P06 | K7/A5/L6 | 按键/并口地址/矩阵列输入脚/三线串口扩展输出地址口 |
12 | P07 | K8/A6/L7 | 按键/并口地址/矩阵列输入脚/三线串口扩展输出地址口 |
13 | P10 | K9/A7/R1 | 按键/并口地址/矩阵行输入脚/三线串口扩展输出地址口 |
14 | P11 | K10/R2 | 按键/矩阵行输入脚/三线串口扩展输出地址口 |
15 | P12 | R3 | 矩阵行输入脚/三线串口扩展输出地址口 |
16 | VDD | VDD | 芯片电源输入脚 |
17 | P17 | BUSY | 语音播放忙信号输出脚 |
18 | CVDD | CVDD | VDD电源调准脚 |
19 | OSCI | OSCI | RC震荡输入脚 |
20 | /RESET | /RESET | 复位脚,低电平保持≥5ms有效 |
21 | PWM+/DAC | PWM+/DAC | PWM+/DAC音频输出脚,视功能设置而定 |
22 | VDD-SPK | VDD-SPK | 音频电源输入脚 |
23 | PWM- | PWM- | PWM-音频输出脚 |
24 | VSS-SPK | VSS-SPK | 音频电源地线脚 |
25 | VSS | VSS | 地线脚 |
26 | NC | NC | 空 |
27 | NC | NC | 空 |
28 | NC | NC | 空 |
29 | NC | NC | 空 |
30 | NC | NC | 空 |
31 | NC | NC | 空 |
32 | P13 | DO | SPI-FLASH通讯数据输出脚 |
8、引脚详细描述
K1~K10的使用
K1~K10被定义为控制端口按键触发控制端,所对应控制端口分别为P00~P07、P10和P11。通过K1~K10拉低相关控制端口的电平或往相关控制端口输入脉冲,就可达到控制触发语音播放的效果。按键K0~K9的触发模式可以被设置为无效按键、脉冲可重复触发、脉冲不可重复触发、电平保持不可循环、电平保持可循环、电平非保持可循环、上一曲不循环、下一曲不循环、上一曲可循环、下一曲可循环、停止、播放/暂停、音量+、音量-及播放/停止等15种触发方式。
按键模式:P00→K1 P01→K2 P02→K3 P03→K4 P04→K5
P05→K6 P06→K7 P07→K8 P10→K9 P11→K10
一线串口模式:P00→K1 P04→K5 P07→K8
P01→K2 P05→K6 P10→K9
P02→K3 P06→K7 P11→K10
R1~R3、L0~L7的使用
在3×8矩阵按键控制模式下控制端口被定义为R1~R3、L0~L7,R1~R3为矩阵行输入口,L0~L7为矩阵列输入口。当R和L输入口短接时,可触发播放一段语音,3×8矩阵按键模式下所有按键的触发方式被定义为脉冲可重复触发。矩阵的按键接线详见12.3、3×8矩阵按键控制模式。
SBT及A0~A7的使用
在并口控制模式下控制端口P00、P01、P02、P03、P04、P05、P06、P07、P10被分别定义为SBT,A0、A1、A2、A3、A4、A5、A6、A7。SBT为语音触发试听脚,A0~A7为地址位,分别由低到高。具体控制端口分配详见12.4、并口控制模式。
9、电气参数(VDD − VSS = 4.5V, TA = 25°C,没有负载)
参数 | 标记 | 环境条件 | 最小值 | 典型值 | 最大值 | 单位 |
工作电压 | VDD | Fsys=8MHz | 2.8 |
| 5.5 | V |
工作电流 | IOP1 | 没有负载 | - | 4.5 | 5.5 | mA |
停止电流 | IDD2 | 没有负载 | - | 650 |
| uA |
休眠模式电流 | IOP2 | 没有负载 | - | 3 | 7 | uA |
低电压输入 | VIL | 所有引脚输入 | VSS | - | 0.3VDD | V |
高电压输入 | VIH | 所有引脚输入 | 0.7VDD | - | VDD | V |
输入电流 BP1、BP2、RESET | IIN1 | VIN=0V 上拉阻抗=500KΩ | -5 | -9 | -14 | uA |
输入电流 BP1、BP2、RESET | IIN2 | VIN=0V 上拉电阻=150KΩ | -15 | -30 | -45 | uA |
输出电流(BP0) | IOL | VDD=3V,VOUT=0.4V | 8 | 12 | - | mA |
IOH | VDD=3V,VOUT=2.6V | -4 | -6 | - | mA | |
IOL | VDD=4.5V,VOUT=1.0V | - | 25 | - | mA | |
IOH | VDD=4.5V,VOUT=2.6V | - | -12 | - | mA | |
输出电流(BP1) | IOL | VDD=3V,VOUT=0.4V | 4 | 10 | - | mA |
IOH | VDD=3V,VOUT=2.6V | -4 | -6 | - | mA | |
输出电流 PWM+/PWM- | IOL1 | RL=8Ω 【PWM+】--【RL】--【PWM-】 | +200 | - | - | mA |
IOH1 | -200 | - | - | mA | ||
DAC最大电流 | IDAC | RL=100Ω | -2.4 -4.0 | -3.0 -5.0 | -3.6 -6.0 | mA |
上拉电阻测试 | RPL |
| 75 | 150 | 225 |
|
10、环境绝对极限参数参数 | 标记 | 环境条件 | 额定值 | 单位 |
电源 | VDD — VSS | - | -0.3~+7.0 | V |
输入电压 | VIN | 所有输入 | VSS-0.3~VDD+0.3 | V |
存储温度 | TSTG | - | -55~+150 | °C |
使用温度 | TOPR | - | -40~+85 | °C |
11、控制模式
11.1、MP3模式MP3模式下,WT588D语音单片机自动默认6个控制端口的功能,对应列表如下:
控制端口 | P00 | P01 | P02 | P03 | P04 | P05 |
功能 | 停止 | 播放/暂停 | 下一曲 | 上一曲 | VOL+ | VOL- |
11.2、按键控制模式所定义的管脚可以直接触发芯片的一个功能,使芯片动作,每个管脚的触发方式可单独设置。按键控制模式的按键防抖时间为10ms。按键触发模式下包括脉冲可重复触发、脉冲不可重复触发、电平保持可循环、电平保持不可循环、电平非保持循环、上一曲不循环、下一曲不循环、上一曲可循环、下一曲可循环、无效按键、播放/暂停、停止、音量+、音量-以及播放/停止等15种触发方式。详细控制方法见如下触发时序图。
11.2.1、脉冲可重复触发
备注:负脉冲触发。当控制端口检测到有下降沿时(如该控制端口对地短路25ms以上),触发播放语音。在语音播放期间,再检测到下降沿,芯片会打断正在播放的语音,重新播放。只要有下降沿信号,就重新播放。
11.2.2、脉冲不可重复触发
备注:负脉冲触发。当控制端口检测到有下降沿时(如该控制端口对地短路25ms以上),触发播放语音。在语音播放期间,再检测到下降沿时,芯片不动作。直到语音结束后,检测到的下降沿才有效。
11.2.3、电平保持可循环
备注:低电平触发。当控制端口为低电平时,保持播放,高电平则停止。当第一遍结束后,还保持低电平,则继续重新播放,直到转变为高电平才停止。只要是低电平,则有声音;高电平,则没声音。
11.2.4、电平保持不可循环
备注:低电平触发。当控制端口为低电平时,保持播放,高电平则停止。当第一遍播放结束后,还保持低电平,也不会继续播放,触发后只播放一次就结束。如果需要重新播放,则需要让控制端口处于高电平,再拉为低电平,而后保持低电平即可。
11.2.5、电平非保持循环
备注:负脉冲/低电平触发。当控制端口检测到下降沿时(如该控制端口对地短路25ms以上),播放一遍语音然后停止。当控制端口为低电平时,保持播放,播放过程中,就算是给高电平也不停止,直到语音播放结束。当第一遍结束后,如果还保持低电平,则会继续重复播放,只要不保持低电平且播放完当前语音后才停止。
11.2.6、播放/停止
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)开始播放,下一个下降沿结束放音。不管声音是处于播放还是停止状态,都遵照这个规则。
11.2.7、下一曲不循环
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)触发播放下一段语音,下一个下降沿继续触发播放下一段,触发播放完最后一段,则不会再有声音。
11.2.8、上一曲不循环
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)触发播放上一段语音,下一个下降沿继续触发播放上一段语音,播放完最前一段,则不再向前触发播放语音。
11.2.9、下一曲可循环
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)触发播放下一段语音,下一个下降沿继续触发播放下一段语音,重复操作,播放完最后一段语音,则会点播到第一段语音,如此循环触发播放语音。
11.2.10、上一曲可循环
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)触发播放上一段语音,下一个下降沿继续触发播放上一段语音,重复操作,播放完最前一段语音,则会点播到最后一段语音,如此循环触发播放语音。
11.2.11、暂停
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)令正在播放的语音处于暂停状态,下一个下降沿触发暂停的语音从暂停点继续播放。BUSY在暂停状态一直保持。
11.2.12、停止
备注:负脉冲触发。控制端口检测到下降沿时(如该控制端口对地短路25ms以上)令正在播放的语音停止。语音停止后再次触发无效。


11.3、3×8矩阵按键控制模式3×8按键组合模式下所有按键被默认为脉冲可重复触发方式,可以直接触发24段语音,各个按键所触发语音地址可定义。
控制端口 | P00 | P01 | P02 | P03 | P04 | P05 | P06 | P07 |
P10 | Key1 | Key2 | Key3 | Key4 | Key5 | Key6 | Key7 | Key8 |
P11 | Key9 | Key10 | Key11 | Key12 | Key13 | Key14 | Key15 | Key16 |
P12 | Key17 | Key18 | Key19 | Key20 | Key21 | Key22 | Key23 | Key24 |
11.4、并口控制模式并口模式的优点是控制速度会比较快,但也会占用较多的控制端口。目前仅有WT588D-32L语音芯片、WTW-28P语音模块支持并口控制模式。P00被定义为SBT触发脚,通过改变地址位An来触发播放语音。并口模式下的脚位定义如下表所示。
封装形式 | 管脚 | ||||||||
P00 | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P10 | |
WTW500-28 | SBT | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 |
WT588D-32L | SBT | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 |
11.4.1、语音地址对应列表语音 | 地址脚 | |||||||
A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | |
播放地址0语音 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
播放地址1语音 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
播放地址2语音 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
…… | …… | …… | …… | …… | …… | …… | …… | …… |
播放地址217语音 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
播放地址218语音 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
播放地址219语音 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
11.4.2、控制时序图先在控制端口P01~P10处设置好地址,然后触发放音脚SBT,即可放音,SBT脚的触发方式可被定义为脉冲可重复触发、脉冲不可重复触发、播放/停止、上一曲不循环触发、下一曲不循环触发、上一曲可循环触发、下一曲可循环触发、电平保持不可循环触发、电平保持可循环触发、电平非保持循环触发和播放/暂停等触发模式。
触发过程中,地址信号稳定时间为5ms,发送地址5ms后才能发送SBT触发语音播放,SBT触发保持时间25ms。连续发送SBT时,要保证两个地址命令之间的间隔时间在85ms以上。
11.5、一线串口控制模式通过一根数据线发送串口数据。一线串口可以实现控制语音播放、停止、音量调节和直接触发语音等功能。P00~P10的按键可以选择屏蔽或者任意触发方式。一线串口控制模式下,芯片无休眠状态,语音停止后电流大约有5mA,电池供电时请慎用。
11.5.1、端口分配表封装形式 | 芯片(模块)控制端口 | |||||||||
P00 | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P10 | P11 | |
WT588D-18P | 按键K1 | 按键K2 | 按键K3 | DATA | --- | --- | --- | --- | --- | --- |
WT588D-20SS | 按键K1 | 按键K2 | 按键K3 | DATA | --- | --- | --- | --- | --- | --- |
WT588D-32L | 按键K1 | 按键K2 | 按键K3 | DATA | 按键K5 | 按键K6 | 按键K7 | 按键K8 | 按键K9 | 按键K10 |
11.5.2、命令及语音码命令码 | 功能 | 描述 |
E0H~E7H | 音量调节 | 在语音播放或者待机状态发此命令可以调节8级音量,E0H最小,E7H音量最大。 |
F2H | 循环播放 | 在语音播放过程中发送此命令可循环播放当前地址语音。 |
FEH | 停止语音播放 | 停止播放语音命令。 |
11.5.3、语音地址对应关系数据(十六进制) | 功能 |
00H | 播放第0段语音 |
01H | 播放第1段语音 |
02H | 播放第2段语音 |
…… | …… |
D9H | 播放第217段语音 |
DAH | 播放第218段语音 |
DBH | 播放第219段语音 |
11.5.4、控制时序图一线串口只通过一条数据通信线控制时序,依照电平占空比不同来代表不同的数据位。先发拉低RESET复位信号5ms,然后置于高电平等待大于17ms的时间,再将数据信号拉低5ms,最后发送数据。高电平与低电平数据占空比1:3即代表数据位0,高电平于低电平数据位占空比为3:1代表数据位1。高电平在前,低电平在后。数据信号先发低位再发高位。在发送数据时,无需先发送命令码再发送指令。D0~D7表示一个地址或者命令数据,数据中的00H~DBH为地址指令,E0H~E7H为音量调节命令,F2H为循环播放命令,FEH为停止播放命令。详细时序请见下图:
说明:/RESET为复位信号,发数据前对芯片进行复位,如不是在特殊的工业场合,可以不使用此复位信号。在每次发送数据前,不需要都发送复位信号,直接发送命令码或者地址数据即可。DATA为一线串口数据通信线,复位芯片稳定后先拉低5ms以唤醒芯片,低位在前,BUSY为语音芯片忙信号输出,数据成功发送后等待20ms,BUSY输出将作出响应。数据位占空比对应详见下图。
11.5.5、一线串口控制时序例子例如,在一线串口控制模式下,发送数据9CH的时序参见下图:
11.5.6、程序范例主控单片机: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:200us,表示发送数据1 */
sda=0;
delay1us(200);}
else{
delay1us(600); /* 高电平比低电平为200us:600us,表示发送数据0 */
sda=0;
delay1us(200); }
addr>>=1; }
sda=1; }
11.6、三线串口控制模式三线串口控制模式由三条通信线组成,分别是片选CS,数据DATA,时钟CLK,时序根据标准SPI通信方式。通过三线串口可以实现语音芯片命令控制、语音播放。三线串口模式下,所有按键均无效。
11.6.1、端口分配方式芯片型号 | 芯片控制端口 | |||||||||
P00 | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P10 | P11 | |
WT588D-18P | --- | DATA | CS | CLK | --- | --- | --- | --- | --- | --- |
WT588D-20SS | --- | DATA | CS | CLK | --- | --- | --- | --- | --- | --- |
WT588D-32L | --- | DATA | CS | CLK | --- | --- | --- | --- | --- | --- |
11.6.2、语音及命令码对应表命令码 | 功能 | 描述 |
E0H~E7H | 音量调节 | 在语音播放或者待机状态发此命令可以调节8级音量,E0H最小,E7H音量最大。 |
F2H | 循环播放 | 在语音播放过程中发送此命令可循环播放当前地址语音。 |
FEH | 停止播放 | 停止播放语音命令。 |
F5H | 进入控制端口扩展输出 | 在常规三线串口模式下,发送此命令可进入控制端口扩展输出状态。 |
F6H | 退出控制端口扩展输出 | 在控制端口扩展输出状态下,发送此命令可进入常规三线串口控制模式 |
11.6.3、语音地址对应关系数据(十六进制) | 功能 |
00H | 播放第0段语音 |
01H | 播放第1段语音 |
02H | 播放第2段语音 |
…… | …… |
D9H | 播放第217段语音 |
DAH | 播放第218段语音 |
DBH | 播放第219段语音 |
11.6.4、三线串口控制控制端口扩展输出在三线串口控制模式下,发送数据F5H,就可进入三线串口扩展输出模式,在这种模式下,发送二进制数据就可以让相关的控制端口输出高电平,从而控制外围电路。再次发送数据F6H,便退出控制端口扩展数据模式,进入常规的三线串口控制模式。
地址 | 控制端口 | |||||||
P12 | P11 | P10 | P07 | P06 | P05 | P04 | P00 | |
00H | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
01H | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
02H | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
…… | …… | …… | …… | …… | …… | …… | …… | …… |
D9H | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
DAH | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
DBH | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
表格里,控制端口所对应的数据中,0为低电平输出,1为高电平输出。从三线串口控制模式切换到控制端口扩展输出时,保留着三线串口控制模式下的最后一次语言触发模式。如果设置为循环播放,则,最后一次被触发的地址语音会继续循环播放,直到切换回常规三线串口模式下,更改其他触发方式为止。从控制端口扩展模式切换到常规三线串口控制模式时,也同样保留着最后一次操作的控制端口扩展功能,如在控制端口扩展输出时,P00为设置为高电平输出,在切换到常规三线串口控制模式后,P00依然是高电平输出,直到切换回控制端口扩展输出,更改其设置为止。
控制端口扩展输出能应用在单片机控制端口紧缺的地方,可以方便的扩展8个控制端口输出。比如说用来控制8位LED显示,8路继电器(需要三极管来驱动)等。
11.6.5、三线串口控制时序三线串口控制模式由片选CS、时钟CLK和数据DATA脚组成,时序仿照标准SPI通信方式,复位信号在发码前先拉低5ms,然后拉高等待17ms。工作时RESET需要一直保持高电平。片选信号CS拉低5ms~10ms以唤醒WT588D语音芯片,推荐使用5ms。接收数据低位在先,在时钟的上升沿接收数据。时钟周期介于300us~1ms之间,推荐使用300us。数据成功接收后,语音播放忙信号BUSY输出在20ms之后做出响应。发数据时先发低位,再发高位。发码完成后DATA、CLK、CS均要保持高电平。在发送数据时,无需先发送命令码再发送指令。D0~D7表示一个地址或者命令数据,数据中的00H~DBH为地址指令,E0H~E7H为音量调节命令,F2H为循环播放命令,FEH为停止播放命令,F5H为进入三线串口控制控制端口扩展输出命令,F6H为退出三线串口控制控制端口扩展输出命令。详细时序图如下:
说明:复位信号仅是在外因干扰比较强烈的环境中使用,如不是特殊的工业场合,不需要发送此复位信号,直接发送片选、时钟和数据信号即可。
11.6.6、命令码发送时间循环播放命令F2H:循环播放命令需要在发送语音地址信号或者其他命令30ms之后、语音停止播放前发送,否则语音芯片不能有效接收。
停止播放命令FEH:在语音播放的过程中发送此命令可以停止播放语音,在发送DATA信号1ms之后、语音停止前发送此命令则有效。
音量调节命令E0H~E7H:在语音芯片工作状态中发送此命令可以调节音量大小,不管语音芯片是否处于语音播放还是语音停止状态。如果是先触发地址语音或者其他的命令,则需要等待90ms才能发送音量调节命令,否则无效。
11.6.7、程序范例(主控单片机PIC16F54,系统频率4MHz)
Send threelines(unsigned char addr)
{rst=0; /* 对芯片进行复位 */
delay1ms(5); /* 复位信号保持低电平5ms */
rst=1;
delay1ms(20); /* 复位信号保持高电平20ms */
cs=0;
delay1ms(5); /* 片选信号保持低电平5ms */
for(i=0;i<8;i++)
{ scl=0;
if(addr & 1)sda=1;
else sda=0;
addr>>=1;
delay1us(150); /* 时钟周期300us */
scl=1;
delay1us(150); }
cs=1;}
12、控制时序
12.1、控制时序框图
12.2、一线串口控制汇编程序说明:此程序跟《WT588D语音芯片及模块应用电路》中的一线串口控制模式应用电路相对应,下面仅以20SS封装片PWM输出作为示范,更详细地电路说明请参阅《WT588D语音芯片及模块应用电路》。测试芯片:AT89C2051。
ORG 0000H
KEY EQU P1.1 ;按键引脚
RST EQU P1.4 ;复位信号引脚
SDA EQU P3.0 ;数据引脚
DAIFAZHI EQU 50H ;发码值暂存地址
MOV DAIFAZHI,#0H;发码初始值为0
MOV R5,#8 ;发码8位循环
MAIN:
JB KEY,MAIN
MOV R6,#20 ;延时20MS
LCALL DELAY1MS
JB KEY,MAIN ;按键去抖判断
JNB KEY,$ ;等待按键释放
LCALL one_line ;调用一线发码子程序
INC DAIFAZHI ;发码值加1
MOV A,DAIFAZHI
CJNE A,#220,XX2 ;是否到达语音段最大值220
XX2: JC XX3
MOV DAIFAZHI,#0H
XX3: LJMP MAIN
one_line: ;////一线发码子程序
CLR RST
MOV R6,#5 ;延时5MS
LCALL DELAY1MS
SETB RST
MOV R6,#20 ;延时20MS
LCALL DELAY1MS
CLR SDA
MOV R6,#5 ;延时5MS
LCALL DELAY1MS
MOV A,DAIFAZHI
LOOP: SETB SDA
RRC A
JNC DIDIANPIN ;高电平脉冲 高:低=3:1
LCALL DELAY200US
LCALL DELAY200US
LCALL DELAY200US
CLR SDA
LCALL DELAY200US
LJMP LOOP1
DIDIANPIN: ;低电平脉冲 高:低=1:3
LCALL DELAY200US
CLR SDA
LCALL DELAY200US
LCALL DELAY200US
LCALL DELAY200US
LOOP1: DJNZ R5,LOOP
MOV R5,#08H
SETB SDA
RET
DELAY200US: MOV R6,#100 ;延时400US子程序
DJNZ R6,$
RET
DELAY1MS: ;延时1ms子程序,可以给R6赋值修改延时时间
L1: MOV R7,#248
DJNZ R7,$
DJNZ R6,L1
RET
END
12.3、一线串口控制C语言程序说明:此程序跟《WT588D语音芯片及模块应用电路》中的一线串口控制模式应用电路相对应。测试芯片:AT89C2051。
#include
sbit KEY=P1^1; /*P1_1为P1口的第2位*/
sbit RST=P1^4; /*P1_4为P3口的第3位*/
sbit SDA=P3^0; /*P3_0为P3口的第4位*/
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(unsigned char count) //100US延时子程序
{ unsigned char i;
unsigned char j;
for(i=count;i>0;i--)
for(j=50;j>0;j--);
}
Send_oneline(unsigned char addr)
{
unsigned char i;
RST=0;
delay1ms(5); /*复位延时5MS*/
RST=1;
delay1ms(20); /* delay 20ms */
SDA=0;
delay1ms(5); /* delay 5ms */
for(i=0;i<8;i++)
{SDA=1;
if(addr & 1)
{delay100us(6); /* 600us */
SDA=0;
delay100us(2); /* 200us */
}
else {
delay100us(2); /* 200us */
SDA=0;
delay100us(6); /* 600us */
}
addr>>=1; }
SDA=1;
}
main()
{unsigned char FD=0;
P3=0XFF;
while(1)
{
if(KEY==0)
{
delay1ms(10);
if(KEY==0) //通过按键P1.1来进行发码值的递增
{
Send_oneline(FD);
FD++;
if(FD==220) //一线串口时,语音段暂时最多为220段
{
FD=0;
}
while(KEY==0); //等待按键释放,以免一次按键误判成几次
}
}
}
}
12.4、三线串口控制汇编程序说明:此程序跟《WT588D语音芯片及模块应用电路》中的三线串口控制模式应用电路相对应,下面仅以20SS封装片PWM输出作为示范,更详细地电路说明请参阅《WT588D语音芯片及模块应用电路》。测试芯片:AT89C2051。
ORG 0000H
KEY EQU P1.1 ;按键引脚
RST EQU P1.4 ;复位信号引脚
CS EQU P3.1 ;CS触发引脚
SCL EQU P3.2 ;时钟引脚
SDA EQU P3.0 ;数据引脚
DAIFAZHI EQU 50H ;发码值暂存地址
MOV DAIFAZHI,#0H;发码初始值为0
MOV R5,#8 ;发码8位循环
MAIN:
JB KEY,MAIN
MOV R6,#20 ;延时20MS
LCALL DELAY1MS
JB KEY,MAIN ;按键去抖判断
JNB KEY,$ ;等待按键释放
LCALL THREE_LINE;调用三线发码子程序
INC DAIFAZHI ;发码值加1
MOV A,DAIFAZHI
CJNE A,#220,XX2 ;是否到达语音段最大值220
XX2: JC XX3
MOV DAIFAZHI,#0H
XX3: LJMP MAIN
THREE_LINE: ;////三线发码子程序
CLR RST
MOV R6,#5 ;延时5MS
LCALL DELAY1MS
SETB RST
MOV R6,#20 ;延时20MS
LCALL DELAY1MS
CLR CS
MOV R6,#5 ;延时5MS
LCALL DELAY1MS
MOV A,DAIFAZHI
LOOP:
CLR SCL
RRC A
MOV SDA,C
LCALL DELAY150US
SETB SCL
LCALL DELAY150US
DJNZ R5,LOOP
MOV R5,#08H
SETB CS
RET
DELAY150US: MOV R6,#75 ;延时150US子程序
DJNZ R6,$
RET
DELAY1MS: ;延时1ms子程序,可以给R6赋值修改延时时间
L1: MOV R7,#248
DJNZ R7,$
DJNZ R6,L1
RET
END
12.5、三线串口控制C语言程序说明:此程序跟《WT588D语音芯片及模块应用电路》中的三线串口控制模式应用电路相对应。测试芯片:AT89C2051。
#include
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 delay150us(void) //150US延时子程序
{
unsigned char j;
for(j=75;j>0;j--);
}
Send_threelines(unsigned char addr) //三线发码子程序
{unsigned char i;
RST=0;
delay1ms(5);
RST=1;
delay1ms(20); /* 复位拉高20ms*/
CS=0;
delay1ms(5); /* 片选拉低5ms */
for(i=0;i<8;i++)
{SCL=0;
if(addr & 1)SDA=1;
else SDA=0;
addr>>=1;
delay150us(); /* 150us */
SCL=1;
delay150us();
}
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); //等待按键释放,以免一次按键误判成几次
}
}
}
}
13、说明书版本历史记录
版本 | 日期 | 描述 |
V1.0 | 2008-5-17 | 初始版本 |
V1.1 | 2008-7-15 | 修正了部分描述 |
V1.2 | 2008-8-22 | 修正触发图、部分描述 |
V1.3 | 2008-8-30 | 修正了部分描述 |
V1.4 | 2008-9-12 | 修正了时序图 |
V1.5 | 2008-11-17 | 修正了一线串口、三线串口控制时序的描述 |
V1.6 | 2008-12-8 | 修正了部分描述 |
V1.7 | 2008-12-26 | 修改一线串口、三线串口控制程序时钟周期 |
V1.8 | 2009-1-13 | 增加存储器容量的描述 |
V1.9 | 2009-8-6 | 增加发码时间描述,修改整个布局及,修正多处错别字。 |
V1.91 | 2009-9-25 | 修改三线串口控制时序及相关描述 |
V2.10 | 2010-9-1 | 增加3×8矩阵按键电路,修改按键跟并口触发时间描述。 |
V2.20 | 2012-4-28 | 芯片部分独立开来,删除模块说明,模块使用V2.10版本 |
V2.30 | 2012-10-18 | 修改一线串口时序图 |
广州唯创电子有限公司(原广州唯创电子有限公司)1999年创立于广州市天河区,是一家集语音芯片研发、语音产品方案设计、语音产品生产、语音编辑上位机软件开发的高新技术公司。业务范围涉及汽车电子、多媒体、家居防盗、通信、家电、医疗器械、工业自动化控制、玩具及互动消费类产品等领域。团队有着卓越的IC软、硬件开发实力和设计经验,秉持着「积极创新、勇于开拓、满足顾客、团队合作」的理念,力争打造“语音业界”的领导品牌。
唯创主要生产WTV系列语音芯片、WT588D系列语音芯片、WTR可录音系列语音芯片、WTM系列高音质语音应用模块、WTF系列的高性价比长时间播放模块,及特约代理的APLUS系列语音芯片、ISD全系列可录放语音芯片等。率先提供最完备、多元化的客需解决方案,节约研发成本,缩短研发周期,使产品在最短的时间内成熟上市。在汽车电子及特种车领域,自主研发的公交车报站器在国内有着很好的市场口碑,为叉车使用安全而开发的叉车超速报警器是国内第一家研发此类产品并大量生产的企业。
唯创坚持“以人为本,不断进行核心技术创新,优良的售后技术跟踪服务”的经营策略,使得唯创能傲立于语音产品行业。WTV系列语音芯片、WT588D系列语音芯片、WTR可录音系列语音芯片、WTM系列高音质语音应用模块、WTF系列的高性价比长时间播放模块等都是唯创的自主品牌,具有很强的市场竞争优势。产品、模块、编辑软件等的人性化设计,使得客户的使用更方便。于2006年新成立的北京唯创虹泰分公司主要以销售完整的方案及成熟产品为宗旨,以便于为国内北方客户提供更好的服务。
唯创持续在研发与技术升级领域大力投资,每年平均提拨超过20%的营业额作为研发经费,在我们的研发团队中,有超过90%员工钻研技术及产品发展。并与同行业大厂合作,勇于迈出下一个高峰。 |
总公司名称:广州市唯创电子有限公司
电话:020-85638557 85638660 38357061 38055581 传真:020-85638637
技术支持E-mail:sos@1999c.com 网址:
地址:广东省广州市天河区棠东东路55号3楼
分公司名称:北京唯创虹泰科技有限公司
电话:010-89756745 传真:010-89750195
E-mail:BHL8664@163.com 网址:www.wcht1998.com.cn
地址:北京昌平区立汤路186号龙德紫金3#902室
广州唯创科技有限公司深圳办事处
电话:0755-83044339 83555462 36956575 传真:0755-83044339转604
业务支持E-mail:sos@1999c.com
地址:深圳市宝区前进一路创业电子城(金丰豪庭大厦)18楼A-B