SYN6288語(yǔ)音播放模塊_第1頁(yè)
SYN6288語(yǔ)音播放模塊_第2頁(yè)
SYN6288語(yǔ)音播放模塊_第3頁(yè)
SYN6288語(yǔ)音播放模塊_第4頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、SYN6288 語(yǔ)音播放模塊制作1、 SYN6288 語(yǔ)音芯片封裝圖:2、通信方式:2.1異步串行通訊( UART)接口SYN6288 提供一組全雙工的異步串行通訊 ( UART)接口,實(shí)現(xiàn)與微處理器或 PC 的數(shù)據(jù)傳輸。 SYN 6288利用 TxD 和 RxD 以及 GND 實(shí)現(xiàn)串口通信。其中 GND 作為地信號(hào)。 SYN 6288 芯片支持UART 接口通訊方式,通過(guò) UART 接口接收上位機(jī)發(fā)送的命令和數(shù)據(jù),允許發(fā)送數(shù)據(jù)的最大長(zhǎng)度為206 字節(jié)。2.2通訊傳輸字節(jié)格式1、初始波特率:9600 bps2、起始位 : 13、數(shù)據(jù)位: 84、校驗(yàn)位:無(wú)5、停止位: 16、流控制:無(wú)與 51

2、單片機(jī)通信時(shí),可以用單片機(jī)的串行通信方式1。3、硬件電路搭建:3.1外接電源組接法備注: SYN 6288共有 6組外接電源,每組電源均使用一個(gè)47uF和一個(gè) 0.1uF 的電容;如果用戶想節(jié)省成本,用戶可以在每組電源上均使用0.1uF的電容,并對(duì) VDDPP 、和 VDDA 兩組電源,各加上一 47uF的電容。3.2復(fù)位電路及狀態(tài)指示電路備注: Ready/Busy 此 STATUS引腳信號(hào)為低電平時(shí)說(shuō)明芯片正在等待接收數(shù)據(jù)。在系統(tǒng)設(shè)計(jì)時(shí)可以將此引腳接在MCU的中斷輸入源上, 產(chǎn)生一個(gè)下降沿中斷請(qǐng)求發(fā)送數(shù)據(jù), 以示上位機(jī) MCU可以向語(yǔ)音合成芯片發(fā)送數(shù)據(jù)。3.3 SYN6288 的揚(yáng)聲器輸出

3、( 1) 為了在用戶應(yīng)用中輸出聲音 , SYN6288 置了推挽式( Push-Pull)的 DAC ,可直接驅(qū)動(dòng)喇叭,進(jìn)行聲音播報(bào)。并且 SYN6288 置的 DAC 電路模塊,使用了 VDDPP/VSSPP 供電電源模塊,具體電路說(shuō)明部分請(qǐng)參見 (10.1) 和 (10.2) 節(jié),其供電電壓值可獨(dú)立于其它電源組的供電。 (見右圖)3.4 SYN6288 外接高速晶振3.5 SYN6288 串口通信的參考電路備注:上位機(jī)發(fā)送數(shù)據(jù)給SYN6288 時(shí),中間須加有反向器。在實(shí)際電路中,我們用三極管做了一個(gè)反向器,電路如下圖:該電路的原理是:MCU 的TXD 輸出電平為 0時(shí), NPN三極管截止,

4、RXD 收到的電平為1。MCU 的TXD 輸出電平為 1時(shí), NPN三極管導(dǎo)通,RXD 收到的電平為0。3.6 Res引腳(即第 5 引腳)的接法3.7總體電路原理圖:4、程序的編寫:4.1命令幀格式:芯片支持以下命令幀格式:“幀頭 FD + 數(shù)據(jù)區(qū)長(zhǎng)度 +數(shù)據(jù)區(qū)”格式。 (最大 206個(gè)字節(jié))注意:數(shù)據(jù)區(qū)(含命令字,命令參數(shù),待發(fā)送文本,異或校驗(yàn))的實(shí)際長(zhǎng)度必須與幀頭后定義的數(shù)據(jù)區(qū)長(zhǎng)度嚴(yán)格一致,否則芯片會(huì)報(bào)接收失敗。4.2語(yǔ)音合成播放命令舉例:上位機(jī)發(fā)送給SYN6288 芯片的所有命令和數(shù)據(jù)都需要用“幀”的方式進(jìn)行封裝后傳輸。其它命令請(qǐng)自行參考SYN6288芯片手冊(cè):./S

5、YN6288.aspx4.3文本程序發(fā)送:中文系統(tǒng)電腦的文本編碼格式一般為: ANSI即GB2312 編碼體系 ,這個(gè)可以用二進(jìn)制文本編輯器(如 BinaryEditor )打開并對(duì)照 GB2312編碼表察看。參考程序:/speaker.c#include #include #include #include typedef.h#include SPEAKER.hvoid delayMs(uint16 xms)uint16 i,j;for (i=0;ixms;i+)for (j=0;j123;j+);/語(yǔ)音模塊初始化void SpeakerInit()/*串口的初始化*/TL1=0XFA;/在

6、 11.0592MHZ 下,設(shè)置波特率9600bps,工作方式2TH1=0XFA;TMOD=0X20;SCON=0X50;/串口工作方式1,允許接收PCON=0X80;EA=0;REN=1;TI=0;RI=0;TR1=1;/發(fā)生中斷標(biāo)志位置零/接收中斷標(biāo)志位置零/定時(shí)器 1用做波特率發(fā)生/語(yǔ)音播報(bào)程序uint8 Speaker(char * pString)uint8 headOfFrame5;uint8 length;uint8 ecc = 0;uint16 i = 0;/ 定義字符串長(zhǎng)度/ 定義校驗(yàn)字節(jié)if (pString = NULL)return -1;/ 空字符串/*發(fā)送過(guò)程 */

7、headOfFrame0=0XFD;/ 構(gòu)造幀頭 FDheadOfFrame1=0X00;/構(gòu)造數(shù)據(jù)區(qū)長(zhǎng)度的高字節(jié)length = strlen(pString);/需要發(fā)送文本的長(zhǎng)度headOfFrame2=length+3;/構(gòu)造數(shù)據(jù)區(qū)長(zhǎng)度的低字節(jié)headOfFrame3=0X01; /構(gòu)造命令字:合成播放命令headOfFrame4=0X00; / 構(gòu)造命令參數(shù):編碼格式為GB2312for(i=0;i5;i+)/依次發(fā)送構(gòu)造好的5個(gè)幀頭字節(jié)ecc=ecc(headOfFramei); / 對(duì)發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)SBUF=headOfFramei;while (TI=0);TI=0;/

8、 等待發(fā)送中斷標(biāo)志置位/發(fā)送中斷標(biāo)志位清零for(i=0;ilength;i+)/ 依次發(fā)送待合成的文本數(shù)據(jù)ecc=ecc(*pString);SBUF = (*pString);pString +;while(TI=0);TI=0;SBUF=ecc;while(TI=0);TI=0;return 0; /成功返回0/語(yǔ)音讀整數(shù)uint8 SpeakerInt(int ida)uint8 i;uint8 negative=0;uint8 intLen=5;char cdat5=0;/負(fù)數(shù)標(biāo)志位if (ida 0)ida = abs(ida);negative = 1;/若為負(fù)數(shù)取絕對(duì)值cdat

9、 0 = (char)(ida / 10000 ) ;cdat 1 = (char)(ida - (cdat0 * 10000) /1000 );cdat 2 = (char)(ida - (cdat0 * 10000) - (cdat1 * 1000) /100 );cdat 3 = (char)(ida - (cdat0 * 10000) - (cdat1 * 1000) - (cdat2 * 100) /10 ); cdat 4 = (char)(ida - (cdat0 * 10000) - (cdat1 * 1000) - (cdat2 * 100) - (cdat3 *10) /1

10、 );for (i=0;i5;i+)cdati = (char)(cdati + 48);if (cdat0 = 0)intLen = 4;if (cdat1 = 0)intLen = 3;if (cdat2 = 0)intLen = 2;if (cdat3 = 0)intLen = 1;if (negative = 1)Speaker( 零下 );delayMs(1000);Speaker(& cdat5-intLen);return 0;void main()SpeakerInit();while(1)Speaker( 現(xiàn)在的室外溫度是);delayMs(3000);SpeakerInt(-37);delayMs(1500);Speaker( 度);delayMs(1000);/Speaker.h#ifndef _SPEAKER_H_#define _SPEAKER_H_extern void SpeakerInit();extern uint8 Speaker(char * pString);extern uint8 SpeakerInt(int id

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論