基于 WT2003H語(yǔ)音芯片在掃地機(jī)/洗地機(jī)語(yǔ)音更換+LCD擴(kuò)展的應(yīng)用介紹
一、產(chǎn)品市場(chǎng)
隨著家用電子設(shè)備的普及,各種智能化設(shè)備進(jìn)入人們生活中,如洗地機(jī)、掃地機(jī)等,目前大多數(shù)掃地機(jī)和洗地機(jī)都加了音效提示音,以及人工提示音,但較為單一,且部分應(yīng)用無(wú)法隨時(shí)更換語(yǔ)音,針對(duì)部分客戶(hù)的特殊需求,去定制化語(yǔ)音方案。同時(shí)一些客戶(hù)端的工程師,會(huì)經(jīng)常感到主控MCU IO口不夠,需要驅(qū)動(dòng)電機(jī)、溫度檢測(cè)、LCD或數(shù)碼管顯示、語(yǔ)音控制播報(bào)等。唯創(chuàng)知音WT2003H語(yǔ)音芯片,能用一個(gè)IO實(shí)現(xiàn)復(fù)雜功能需求,留出主控MCU更多的IO口,去實(shí)現(xiàn)更多交互功能。
本文以WT2003H系列芯片+一顆外掛Flash為例,介紹WT2003H系列芯片即時(shí)更換語(yǔ)音功能,及唯創(chuàng)知音后續(xù)推出的擴(kuò)展類(lèi),芯片語(yǔ)音播報(bào)+LCD驅(qū)動(dòng)顯示作一些簡(jiǎn)單介紹。
二、產(chǎn)品應(yīng)用框圖
語(yǔ)音更新+語(yǔ)音播報(bào)+LCD驅(qū)動(dòng)顯示
單片機(jī)MCU
語(yǔ)音更換: 使用本司W(wǎng)T2003HX系列燒寫(xiě)下載器+上位機(jī),通過(guò)串口快速進(jìn)行語(yǔ)音更換
WT2003X系列語(yǔ)音芯片:WT2003H0-24SS
LCD驅(qū)動(dòng)顯示:唯創(chuàng)知音擴(kuò)展類(lèi)系列產(chǎn)品,本文這里僅對(duì)LCD12864作簡(jiǎn)單概述
三、芯片功能特點(diǎn)
注: COM(位)- IO口可擴(kuò)展作為數(shù)碼管位選使用;
LED(段) - IO口可擴(kuò)展作為數(shù)碼管段選使用;
Key(按鍵)- IO口可擴(kuò)展作為按鍵使用。
WT2003HX-24SS功能特點(diǎn)
(1)工作電壓:2.0-5.2V;
(2)內(nèi)置0.5W D類(lèi)功放;
(3)控制模式:一線(xiàn)、兩線(xiàn)單雙字節(jié)、UART串口控制、按鍵控制、SPI控制;
(4)UART控制模式,默認(rèn)波特率9600,用戶(hù)也可發(fā)送波特率切換指令,自由選擇通信波特率,最大不超過(guò)1Mbps,帶有文件索引播放、插播、 單曲循環(huán)、所有曲目循環(huán)、隨機(jī)播放等功能。32 級(jí)音量可調(diào)、最大可以支持外掛 128Mbit 的 Flash;
(5)支持語(yǔ)音高品質(zhì)音頻格式,支持MP3和WAV格式,(音頻碼率支持8kbps~320kbps)聲音優(yōu)美;
(6)低功耗,芯片設(shè)置5S不播放,自動(dòng)進(jìn)入休眠模式,功耗可達(dá)5uA以下,如為電池類(lèi)產(chǎn)品,可大大延長(zhǎng)其使用壽命;
(8)大功率IO驅(qū)動(dòng)能力,最高可直接驅(qū)動(dòng)64mA;
(9)單芯片使用(使用內(nèi)置容量)時(shí)內(nèi)置語(yǔ)音需出廠前寫(xiě)入,也可選擇WT2003H0+外掛Flash;
(10)可重復(fù)燒寫(xiě)芯片程序及語(yǔ)音
(11)搭配唯創(chuàng)知音上位機(jī)軟件,輕松制作語(yǔ)音bin文件,通過(guò)程序燒錄串口可自由更換語(yǔ)音;
四、語(yǔ)音播報(bào)通信控制介紹
標(biāo)準(zhǔn)UART異步串口接口,屬于3.3V TTL電平接口。通訊數(shù)據(jù)格式是:起始位:1位;數(shù)據(jù)位:8位;奇偶位:無(wú);停止位:1位。使用電腦串口調(diào)試助手,需要正確設(shè)置串口的參數(shù),設(shè)置如圖:
注意:“長(zhǎng)度”是指長(zhǎng)度+命令碼+參數(shù)+校驗(yàn)和的長(zhǎng)度,“累加和校驗(yàn)”是指長(zhǎng)度+命令碼+參數(shù)的累加和的低字節(jié)。
注意:Flash語(yǔ)音播放可以實(shí)現(xiàn)FLash索引播放,組合播放,插播等指令;
五、設(shè)計(jì)應(yīng)用案例
1) 器件選型
2)設(shè)計(jì)原理圖
如上原理圖所示,LCD12864 的 8 位數(shù)據(jù)口與芯片IO口相連, LCD12864 的 RS、RW、EN 腳與語(yǔ)音芯片的 4、5、6 管腳連接,LCD片選腳CS與芯片第20腳相連
3)部分代碼示例
3.1語(yǔ)音芯片串口測(cè)試部分
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[1];>
{
Code_Sum_t += Rx_Buffer_t[i];
}
//校驗(yàn)
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ù)寫(xiě)入
void Lcd_WriteCmd(cmd) //寫(xiě)入命令到LCD
{
LCD12864_CS = 0; //打開(kāi)片選
LCD12864_RD = 1; //讀使能
LCD12864_RS = 0; //選擇命令
LCD12864_RW = 0; //選擇寫(xiě)模式
_nop_();
_nop_();
_nop_();
DATA_PORT = cmd; //放置命令
_nop_();
_nop_();
_nop_();
LCD12864_RW = 1; //寫(xiě)入命令
}
void Lcd_WriteData(dat) //寫(xiě)入數(shù)據(jù)到LCD
{
LCD12864_CS = 0; //打開(kāi)片選
LCD12864_RD = 1; //讀失能
LCD12864_RS = 1; //選擇數(shù)據(jù)
LCD12864_RW = 0; //選擇寫(xiě)模式
_nop_();
_nop_();
?
DATA_PORT = dat; //放置數(shù)據(jù)
_nop_();
_nop_();
?
LCD12864_RW = 1; //寫(xiě)數(shù)據(jù)
}
?
控制和發(fā)碼時(shí)序圖:
更多詳情可搜索:深圳唯創(chuàng)知音電子有限公司,與在線(xiàn)客服溝通,我們會(huì)發(fā)送一份選型表給到大家,芯片 與 模塊 還可以申請(qǐng)免費(fèi)送樣服務(wù),期待您的光臨。
評(píng)論
查看更多