WT588D使用记录

这里写目录标题

写在前面

WT588D在3年以前的一个比赛里曾经用过,但是当时自己并不是负责这一部分的人,所以也没有接触。但一直感觉应该挺简单的。
直到最近突然有一个项目需要用到,才买了芯片和下载器。本来以为水到渠成的事情,却把自己折腾的死去活来,今天晚上终于把东西调通了。回顾这一路,坑还是比较多的,还有自己的轻视态度。如果是第一次接触,可能中间花费的时间和精力会少很多。
趁着刚刚调通,把过程记录一下,也方便其他人。

正文

设备

1.16pWT588D
2.11键下载器
WT588D使用记录

WT588D使用记录

语音烧录

  1. 将模块放在下载器上
    模块靠底放置,缺口对着锁紧座的摇杆。放反会导致模块芯片发热。
    但质量还是不错的,我放反了好几次,以为会烧了,但一直没坏。
  2. 喇叭接在白色插槽上
    上正下负
  3. 安装电脑上位机WT588D VioceChip软件
    不要不信邪,这个软件只能在32位的win7(实测系统为旗舰版)上使用。
    不要想着用虚拟机什么花里胡哨的,没用,xp,win7都不行。
    具体是指 工具 下载 连接 时失败,弹出如下窗口
    WT588D使用记录
    主界面有音频装载区和音频编辑区两个部分,这是重点
  4. 准备要播报的语音
    推荐使用资料包里提供的“语音合成工具”,啥事没有。MP3可能需要转成WAV的格式,没有实测。
  5. 烧录语音的过程
    1 新建工程
    2 装载语音到音频装载区
    3 音频编辑区每个地址序号插入一个音频装载区的语音
    4 选择模式 按键模式
    5 操作 编译并存为BIN
    6 工具 下载 连接 下载到SPI存储区
    7 按下下载器的按键,会播报对应序号的语音

嵌入式设备上的使用

  1. 为了能在嵌入式设备上使用,将模式改为三线串口模式,其他设置默认
  2. 操作 编译并存为BIN
  3. 工具 下载 连接 下载到SPI存储区
  4. 将芯片拔下来,与嵌入式设备进行连接
    参考连线如下
    WT588D使用记录

软件设置:三线串口控制模式。
控制端口定义:P01 为 DATA,P02 为 CS,P03 为 CLK。由 MCU 发送信息对 WT588D 进行控制。
BUSY 输出:P17 为 BUSY 忙信号输出端,可从上位机软件端设置为播放状态输出为高电平或低电平。高电平时电压接近 VDD
供电电压。用于接发光二极管做放音状态指示或忙信号判断。
供电电压:VDD=DC2.8~5.5V,VCC=DC2.8~3.6V。采用 DC3.3V 供电时,可以直接短接 VDD 跟 VCC,采用 DC5V 供电时,
VDD 端接 5V,VCC 端需要从 VDD 端串接两个二极管以提供工作电压。VDD1 为 MCU 工作电压。如果 VDD1 跟 VDD 存在压差,需
要在 MCU 跟 WTW-16P 的通信线 DATA、CS、CLK 上串接电阻。
音频输出:PWM 输出方式,直接接扬声器。此种输出方式下,PWM+、PWM-均不能短接到地或者接电阻电容到地。

  1. 调用代码(STM32版本)
void voice_broadcast(unsigned char voice)   //语音芯片三线发码子程序 
{   
	unsigned char i; 
	RST_L; 
	delay_ms(10); 
	RST_H; 
	delay_ms(20); /* 20ms*/ 
	CS_L; 
	delay_ms(5); 
	for(i=0;i<8;i++) 
	{
		SCL_L; 
		if(voice & 1)
			SDA_H; 
		else 
			SDA_L; 
		voice>>=1; 
		delay_us(100); /* 100us */
		SCL_H; 
		delay_us(100); 
	} 
	CS_H; 
}

写在最后

由于不是教程,所以很多不太重要的地方都省略掉了。
参考资料也不罗列了,就是WT588D资料包中的文档,很容易就能找到。
过程中的坑主要是两个
一是烧录软件找不到老电脑来安装
二是调用函数中的延时过小,导致程序不正常(因为以前在另外一块32上用过,程序没问题,所以感觉是个玄学。后来仔细看了参考资料,修改了复位后的延时,程序正常了)

上一篇:防抖与节流


下一篇:AUD: Audit Commit Delay exceeded, written a copy to OS Audit Trail