本文以WT2003H系列芯片+一颗外挂Flash为例,先容WT2003H系列芯片即时改换语音功能,及唯创知音后续推出的扩展类,芯片语音播报+LCD驱动显示作一些大略先容。
二、产品运用框图语音更新+语音播报+LCD驱动显示
单片机MCU
语音改换: 利用本司WT2003HX系列烧写下载器+上位机,通过串口快速进行语音改换
WT2003X系列语音芯片:WT2003H0-24SS
LCD驱动显示:唯创知音扩展类系列产品,本文这里仅对LCD12864作大略概述
三、芯片功能特点注: COM(位)- IO口可扩展作为数码管位选利用;
LED(段) - IO口可扩展作为数码管段选利用;
Key(按键)- IO口可扩展作为按键利用。
WT2003HX-24SS功能特点(1)事情电压:2.0-5.2V;
(2)内置0.5W D类功放;
(3)掌握模式:一线、两线单双字节、UART串口掌握、按键掌握、SPI掌握;
(4)UART掌握模式,默认波特率9600,用户也可发送波特率切换指令,自由选择通信波特率,最大不超过1Mbps,带有文件索引播放、插播、 单曲循环、所有曲目循环、随机播放等功能。32 级音量可调、最大可以支持外挂 128Mbit 的 Flash;
(5)支持语音高品质音频格式,支持MP3和WAV格式,(音频码率支持8kbps~320kbps)声音幽美;
(6)低功耗,芯片设置5S不播放,自动进入休眠模式,功耗可达5uA以下,如为电池类产品,可大大延长其利用寿命;
(7)16 bit高精度ADC和DAC;
(8)大功率IO驱动能力,最高可直接驱动64mA;
(9)单芯片利用(利用内置容量)时内置语音需出厂前写入,也可选择WT2003H0+外挂Flash;
(10)可重复烧写芯片程序及语音
(11)搭配唯创知音上位机软件,轻松制作语音bin文件,通过程序烧录串口可自由改换语音;
四、语音播报通信掌握先容标准UART异步串口接口,属于3.3V TTL电平接口。通讯数据格式是:起始位:1位;数据位:8位;奇偶位:无;停滞位:1位。利用电脑串口调试助手,须要精确设置串口的参数,设置如图:
把稳:“长度”是指长度+命令码+参数+校验和的长度,“累加和校验”是指长度+命令码+参数的累加和的低字节。
把稳:Flash语音播放可以实现FLash索引播放,组合播放,插播等指令;
五、设计运用案例
1) 器件选型
2)设计事理图
如上事理图所示,LCD12864 的 8 位数据口与芯片IO口相连, LCD12864 的 RS、RW、EN 脚与语音芯片的 4、5、6 管脚连接,LCD片选脚CS与芯片第20脚相连
3)部分代码示例3.1语音芯片串口测试部分
extern u8 Rx_Buffer_t[UART_MAX_RX_BETY];
extern u32 Rx_Len_t;
extern u8 wt_uart_rx_flag_a;
static u8 test_mode = 0;
u8 Uart_Receive_Deal(void)
{
u16 Code_Sum_t = 0;
u32 code_num = 0;
code_num = Rx_Len_t;
put_buf(Rx_Buffer_t,Rx_Len_t);
if(Rx_Buffer_t[0] != CODE_HEAD)
{
//uart_buff();
return 0;
}
if(Rx_Buffer_t[code_num - 1] != CODE_TAIL)
{
//uart_buff();
return 0;
}
//累加和
for(u8 i=1; i<Rx_Buffer_t[1]; i++)
{
Code_Sum_t += Rx_Buffer_t[i];
}
//校验
if(Rx_Buffer_t[code_num - 2] != (Code_Sum_t & 0xff))
{
//uart_buff();
return 0;
}
if(Rx_Buffer_t[2]==0xA1)
{
test_mode = Rx_Buffer_t[3];
test_set_mode(test_mode);
}
else
{
log_info("Comand Erro!\n");
}
return 1;
}
3.2 LCD命令和数据写入
void Lcd_WriteCmd(cmd) //写入命令到LCD
{
LCD12864_CS = 0; //打开片选
LCD12864_RD = 1; //读使能
LCD12864_RS = 0; //选择命令
LCD12864_RW = 0; //选择写模式
_nop_();
_nop_();
_nop_();
DATA_PORT = cmd; //放置命令
_nop_();
_nop_();
_nop_();
LCD12864_RW = 1; //写入命令
}
void Lcd_WriteData(dat) //写入数据到LCD
{
LCD12864_CS = 0; //打开片选
LCD12864_RD = 1; //读失落能
LCD12864_RS = 1; //选择数据
LCD12864_RW = 0; //选择写模式
_nop_();
_nop_();
DATA_PORT = dat; //放置数据
_nop_();
_nop_();
LCD12864_RW = 1; //写数据
}
掌握和发码时序图:
4)运用产品更多详情可搜索:深圳唯创知音电子有限公司,与在线客服沟通,我们会发送一份选型表给到大家,芯片 与 模块 还可以申请免费送样做事,期待您的光临。