博客專欄

EEPW首頁 > 博客 > 掃地機(jī)洗地機(jī)語音芯片,WT2003H語音更換+LCD擴(kuò)展的應(yīng)用介紹

掃地機(jī)洗地機(jī)語音芯片,WT2003H語音更換+LCD擴(kuò)展的應(yīng)用介紹

發(fā)布人:唯創(chuàng)知音電子 時間:2022-05-30 來源:工程師 發(fā)布文章

基于 WT2003H語音芯片在掃地機(jī)/洗地機(jī)語音更換+LCD擴(kuò)展的應(yīng)用介紹

一、產(chǎn)品市場

隨著家用電子設(shè)備的普及,各種智能化設(shè)備進(jìn)入人們生活中,如洗地機(jī)、掃地機(jī)等,目前大多數(shù)掃地機(jī)和洗地機(jī)都加了音效提示音,以及人工提示音,但較為單一,且部分應(yīng)用無法隨時更換語音,針對部分客戶的特殊需求,去定制化語音方案。同時一些客戶端的工程師,會經(jīng)常感到主控MCU IO口不夠,需要驅(qū)動電機(jī)、溫度檢測、LCD或數(shù)碼管顯示、語音控制播報等。唯創(chuàng)知音WT2003H語音芯片,能用一個IO實現(xiàn)復(fù)雜功能需求,留出主控MCU更多的IO口,去實現(xiàn)更多交互功能。

本文以WT2003H系列芯片+一顆外掛Flash為例,介紹WT2003H系列芯片即時更換語音功能,及唯創(chuàng)知音后續(xù)推出的擴(kuò)展類,芯片語音播報+LCD驅(qū)動顯示作一些簡單介紹。

二、產(chǎn)品應(yīng)用框圖

語音更新+語音播報+LCD驅(qū)動顯示

單片機(jī)MCU

語音更換: 使用本司W(wǎng)T2003HX系列燒寫下載器+上位機(jī),通過串口快速進(jìn)行語音更換

WT2003X系列語音芯片:WT2003H0-24SS

LCD驅(qū)動顯示:唯創(chuàng)知音擴(kuò)展類系列產(chǎn)品,本文這里僅對LCD12864作簡單概述

三、芯片功能特點

注: COM(位)- IO口可擴(kuò)展作為數(shù)碼管位選使用;

LED(段) - IO口可擴(kuò)展作為數(shù)碼管段選使用;

Key(按鍵)- IO口可擴(kuò)展作為按鍵使用。

WT2003HX-24SS功能特點

(1)工作電壓:2.0-5.2V;

(2)內(nèi)置0.5W D類功放;

(3)控制模式:一線、兩線單雙字節(jié)、UART串口控制、按鍵控制、SPI控制;

(4)UART控制模式,默認(rèn)波特率9600,用戶也可發(fā)送波特率切換指令,自由選擇通信波特率,最大不超過1Mbps,帶有文件索引播放、插播、 單曲循環(huán)、所有曲目循環(huán)、隨機(jī)播放等功能。32級音量可調(diào)、最大可以支持外掛 128Mbit 的 Flash;

(5)支持語音高品質(zhì)音頻格式,支持MP3和WAV格式,(音頻碼率支持8kbps~320kbps)聲音優(yōu)美;

(6)低功耗,芯片設(shè)置5S不播放,自動進(jìn)入休眠模式,功耗可達(dá)5uA以下,如為電池類產(chǎn)品,可大大延長其使用壽命;

(7)16 bit高精度ADC和DAC;

(8)大功率IO驅(qū)動能力,最高可直接驅(qū)動64mA;

(9)單芯片使用(使用內(nèi)置容量)時內(nèi)置語音需出廠前寫入,也可選擇WT2003H0+外掛Flash;

(10)可重復(fù)燒寫芯片程序及語音

(11)搭配唯創(chuàng)知音上位機(jī)軟件,輕松制作語音bin文件,通過程序燒錄串口可自由更換語音;

四、語音播報通信控制介紹

標(biāo)準(zhǔn)UART異步串口接口,屬于3.3V TTL電平接口。通訊數(shù)據(jù)格式是:起始位:1位;數(shù)據(jù)位:8位;奇偶位:無;停止位:1位。使用電腦串口調(diào)試助手,需要正確設(shè)置串口的參數(shù),設(shè)置如圖:

注意:“長度”是指長度+命令碼+參數(shù)+校驗和的長度,“累加和校驗”是指長度+命令碼+參數(shù)的累加和的低字節(jié)。

注意:Flash語音播放可以實現(xiàn)FLash索引播放,組合播放,插播等指令;

五、設(shè)計應(yīng)用案例

1) 器件選型

2)設(shè)計原理圖

如上原理圖所示,LCD12864 的 8 位數(shù)據(jù)口與芯片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命令和數(shù)據(jù)寫入

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) //寫入數(shù)據(jù)到LCD

{

LCD12864_CS = 0; //打開片選

LCD12864_RD = 1; //讀失能

LCD12864_RS = 1; //選擇數(shù)據(jù)

LCD12864_RW = 0; //選擇寫模式

_nop_();

_nop_();


DATA_PORT = dat; //放置數(shù)據(jù)

_nop_();

_nop_();


LCD12864_RW = 1; //寫數(shù)據(jù)

}


控制和發(fā)碼時序圖:
4)應(yīng)用產(chǎn)品

更多詳情可搜索:深圳唯創(chuàng)知音電子有限公司,與在線客服溝通,我們會發(fā)送一份選型表給到大家,芯片 與 模塊 還可以申請免費(fèi)送樣服務(wù),期待您的光臨。



*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

電磁爐相關(guān)文章:電磁爐原理





相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉