新闻  |   论坛  |   博客  |   在线研讨会
WT语音芯片在智能语音感应洗手液机设计方案——WT588F02B-8S
唯创知音电子 | 2022-05-14 10:01:15    阅读:72   发布文章

基于WT588F02B语音芯片的智能语音感应洗手液器设计方案

随着人类文明的进步,人们对健康卫生越来越重视,特别是在当前新冠疫情的情景下,出门戴口罩,回家消毒洗手尤为重要,其中洗手已经成为人们日常生活中必不可少的一个环节。这就诞生了很多与洗手有关的产品,这里主要分析一款接近感应自动出液的产品—智能语音感应洗手液器。

智能语音感应洗手液器相对于传统的按压式洗手液器,它有几方面的优势:

1、非接触式,更加卫生;

2、自动出液,更加便捷;

3、出液量可调,缺液提醒,更加智能;

4、语音提示,更加人性化。基于以上优势,它得到了市场的大力认可,在各大网购平台都能看到它的身影,而且销量可观。

那么它的工作原理呢?

智能语音感应洗手液器它主要由几大功能部件组成:1、主控MCU;2、红外接近传感器;3、减速马达;4、按键和LED灯;5、语音IC和喇叭。工作原理是红外接近传感器检测到有物体接近,然后把信号传给主控MCU,主控MCU收到信号后控制马达转动,从而带动液体从出液口流出。在整个过程和按键操作时都会有语音提示,它是由主控MCU发指令控制语音IC播放声音的。

如果想开发这样一款产品,在多、快、好、省的前提下,如何选择开发方案呢?

这里推荐一套解决方案,主控MCU+WT588F02B语音IC(带红外接近传感功能code)。理由是WT588F02B语音IC解决了红外接近传感这部分的功能,减少了主控MCU的开发工作量,以及前期验证调试时间。而且接近信号的传输和控制声音播放指令都是统一用标准的uart接口,这方便了主控MCU的选型以及降低代码编写的难度,很大程度上减少了产品开发的失败率。

WT588F02B是一颗怎样的IC呢?

首先,WT588F02B这颗芯片是一颗多功能的语音芯片,它有16位的PWM输出,能够直接驱动8欧0.25W的喇叭;其次,它还是一颗强大的数据处理芯片(DSP),自带乘累加器,能够快速的处理压缩和解码算法;再者,它有丰富的引脚,兼容很多通信协议,如一线通信、UART、IIC、SPI等;最后,WT588F02B还是一颗FLASH型的芯片,可以重复擦写,支持掉电记忆功能,还可以不需要多用IO引脚实现电压检测功能。

下面我们详细地了解这个方案:

智能语音感应洗手液器设计方案

1. 智能语音感应洗手液器设计方案概述
1.1、应用框架图
1.2框架图介绍:

1、主控MCU通过Uart发送指令控制WT588F0B播放声音,停止播放;

2、主控MCU通过Uart获取红外传感器信号(或者主动发送接近信号);

3、主控MCU控制马达出液;

4、通过按键设置出液量;

1.3语音提示内容:

1、缺液语音提示;

2、低电量语音提示;

3、按键操作语音提示;

4、讲文明、讲卫生的宣传语(主要应用于公共场所)

如何科学洗手的教学语音(主要适用于儿童,帮助他们养成正确的洗手习惯)

WT588F02B基本功能和特性

(1)16位DSP语音芯片、32Mhz内部振荡;

(2)工作电压2.0~5.5V;

(3)16bit的PWM/DAC输出,可直接驱动8R 0.5W喇叭;

(4)支持6K~32Khz的WAV文件;

(5)客户可以通过配套下载测试板在线更换芯片内部语音内容;

(6).支持32768段地址,有更多需求可以扩展;

(7)芯片内部有200K byte 的存储空间(不包括主控程序);

(8)低电压检测功能;

WT588F02B-8S 设计原理图:
接口介绍:
3.1协议命令格式

WT588F02B-8S内置标准UART异步串口接口,属于3.3V TTL电平接口。通讯数据格式是:起始位:1位;数据位:8位;奇偶位:无;停止位:1位。使用电脑串口调试助手,需要正确设置串口的参数,设置如图:

3.2语音播放指令:
3.3红外检测指令:
4. 程序范例

以STC15 单片机为例:

串口/定时器初始化Init()

/*************************************************************************/

void Init(void)

{

/* *************串口1初始化****************/

SCON = 0x50; //8-bit variable UART

TMOD = 0x20; //Set Timer1 as 8-bit auto reload mode

TH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vaule

TR1 = 1; //Timer1 start run

ES = 1; //Enable UART interrupt

/**************IO供电时钟芯片初始化****************/

P2M0|=0X02;

P21=1; //推挽输出高电平,可提供十几毫安电流给时钟芯片

/* *************定时器0初始化****************/

AUXR &= 0x7F; //定时器时钟12T模式

TMOD &= 0xF0; //设置定时器模式

TL0 = 0x00; //设置定时初始值

TH0 = 0xA8; //设置定时初始值

TF0 = 0; //清除TF0标志

ET0 = 1; //使能定时器中断

TR0 = 1; //定时器0开始计时

/* *************看门启动****************/

WDT_CONTR = 0x04; // //18.432M : 0.68s

WDT_CONTR|=0x20;

EA = 1; //Open master interrupt switch

}

/***********************************************************************/

串口发送函数SendData(byte dat)

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

Send a byte data to UART

Input: dat (data to be sent)

Output:None

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

void SendData(BYTE dat)

{

//Wait for the completion of the previous data is sent

while (busy1);

busy1 = 1;

SBUF = dat; //Send data to UART buffer

}

/*************************************************************************/

语音播放函数 send_uart_play()

void send_uart_play(unsigned char len) // 7E 05 A0 00 01 A6 EF

{

unsigned char i,j,sum=0;

j=len+2;

send2_buf[0]=0x7e;//

send2_buf[1]=len+2;

for(i=0;i<len;i++)send2_buf[2+i]=tempdata[i];

for(i=1;i<j;i++)sum+=send2_buf[i];

send2_buf[len+2]=sum;

send2_buf[len+3]=0xEF;

SendData(0x00);//低电平唤醒串口

for(i=0;i<(len+4);i++)SendData(send2_buf[i]);

}

WT588F02B系列语音芯片目前有3种封装形式,分别为:SOP8、SOP16、SSOP24。唯创知音作为一家专注于语音技术研究的高新技术企业,始终坚持以“服务好工程师”为目标,以行业语音交互器件标准化为方向,致力于让复杂变简单,提供快捷的语音芯片、智能物联网应用解决方案。WT588F系列应用设计方案,在智能闹钟、智能水杯、雾化加湿器等消费电子行业领域内已有成熟的应用案例。消费类电子产品应用是公司重要的发展领域,未来,唯创知音将在更多行业推出标准化语音芯片,进一步提升工程师的设计体验,为消费类电子行业标准化赋能。

更多详情可搜索:深圳唯创知音电子有限公司,与在线客服沟通,我们会发送一份选型表给到大家,芯片 与 模块 还可以申请免费送样服务,期待您的光临。



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客