<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 文字轉發(fā)音單片處理器WTS701的原理及應用

文字轉發(fā)音單片處理器WTS701的原理及應用

作者: 時(shí)間:2005-09-28 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:WTS702是華邦公司推出的內建喇叭驅動(dòng)功能的“音”單芯片集成電路。該芯片將連續運算法與華邦專(zhuān)有的多層次儲存技術(shù)相結合,從而實(shí)現了真正將“音”的完整功能。文中介紹了該芯片的及典型,給出了Cygnal F120MPU與的接口電路,并根據相應的芯片指令給出了其控制軟件的代碼程序。

關(guān)鍵詞:音;;C51語(yǔ)言;

1 概述

WTS701是華邦電子推出的第一顆“文字轉發(fā)音”(text-to-speech)單芯片。WTS701使用真人發(fā)音為樣本,從而確保了所輸出的發(fā)音是清晰的真人發(fā)音,而不會(huì )像計算機合成聲音般不自然,因此,通過(guò)該芯片將文字轉換成的發(fā)音更自然、真實(shí)、悅耳。

WTS701單芯片解決方案將連續運算法(concat enation algorithm) 與華邦專(zhuān)有的多層次儲存技術(shù)(Multi-Level Storage,MLS) 相結合。WTS701單芯片內建喇叭驅動(dòng)功能,不需要微處理器或個(gè)人計算機即可運作,因而可廣泛于無(wú)線(xiàn)產(chǎn)品上。舉凡電子郵件的閱讀、實(shí)時(shí)簡(jiǎn)訊、網(wǎng)站、新聞、天氣、運動(dòng)、股價(jià)等信息,或是電子商務(wù)訊息傳遞及衛星導航系統的語(yǔ)音說(shuō)明,皆可使用此款IC將文字轉換成為語(yǔ)音,以聽(tīng)覺(jué)代替視覺(jué)來(lái)讀取。此外,WTS701單芯片處理器還可以運用在學(xué)習輔助教材、視障輔助教材、電子書(shū)、玩具及其它娛樂(lè )產(chǎn)品上。

2 引腳排列及功能

WTS701采用56腳TSOP封裝。其引腳排列如圖1所示,各引腳的功能說(shuō)明如表1所列。

表1 的引腳功能

引腳號 引腳名稱(chēng) I/O

功 能

2,36,44 VSSA G 模擬地
3 VCLK I CODEC主頻時(shí)鐘
4 VFS I CODEC同步信號
5 VDX O CODEC數據輸出
6 MISO O SPI輸出方式,主入從出
7 XTAL2 O 外接時(shí)鐘輸出
8 XTAL1 I 外接時(shí)鐘輸入
9,10 VSSD G 數據地
11,12 VCCD P 數據電源
13 INT O 中斷輸出
14 MOSI I SPI輸出方式,主出從入
15 SS I SPI輸出方式,從方選擇
16 SCLK I SPI串口時(shí)鐘輸入
25 CS I WTS701片選
26 R/B O 數據傳輸空閑或忙引腳
27 RESET I 復位
40 ATTCAP I/O 自動(dòng)靜噪,與模擬地之間連接4.7μF電容
42 SP- O 差分負極揚聲器輸出
46 SP+ O 差分正極揚聲器輸出
48 VCCA OP 模擬電源
52 AUXIN I 模擬輸入
54 AUXOUT O 模擬輸出
1,17-24,28-35,37-39,
41,43,45,47,49-51,
53,55-56
NC  懸空

特性

3.1 芯片工作參數

●采用2.7V~3.3V工作電壓。

●其I/O引腳可耐3V~5V電壓。

●功耗低,工作模式時(shí)的電流為35μA,等待模式時(shí)為1μA。

●工作溫度范圍:-40℃~+85℃。

●采用模擬音頻輸出,可外接8Ω揚聲器。

●發(fā)音語(yǔ)速可調。

●可對ASCII碼或Unicode碼進(jìn)行文字轉發(fā)音。

●支持英語(yǔ)男、女性發(fā)音和中文女性發(fā)音。

3.2 存儲單元和SPI傳輸格式

該芯片內含2組內存數組:其一為語(yǔ)音數據庫所用,另一則為處理核心程序所用。有1組模擬/數字轉換器負責通過(guò)音效PCM輸出音效,另有1組揚聲器驅動(dòng)線(xiàn)路可做為模擬輸出。WTS701支持ASCII碼的文字輸入(國語(yǔ)則需使用Unicode編碼文字),并可通過(guò)串行SPI接口輸入,然后將其轉換為語(yǔ)音并通過(guò)模擬端口輸出,當然,也可輸出至數字CODEC。WTS701芯片的系統工作流程框圖如圖2所示。

WTS701的傳輸協(xié)議采用SPI方式,傳輸格式如圖3所示。

4 典型應用

圖4所示是WTS701與Cygnal F120微控制器的接口電路。系統的應用軟件代碼程序見(jiàn)下文。當微處理器Cygnal F120與WTS701以及相應的外圍電路連接完畢后,便可運行該應用軟件,揚聲器將發(fā)出“大家好”的問(wèn)候語(yǔ)。

#include"c:\cygnaldefiles\c51\inc\c8051f120.h"

#define byte unsigned char

#define uint unsigned int

#define SYSCLK 22118400 //系統時(shí)鐘外部晶體

data byte SFRPAGE_SAVE;

idata byte status[23];??

sbit cs =P2^0;

sbit ss =P2^1;

sbit mosi=P2^2;?

sbit sclk=P2^3;

sbit miso=P2^4;

sbit rdy =P2^5;

sbit bint=P2^6;

sbit res =P2^7;

void SYSCLK_Init(void)

{ data int i;

// 延時(shí)計數器

SFRPAGE_SAVE=SFRPAGE;

SFRPAGE=CONFIG_PAGE;

OSCXCN=0x67; // 啟動(dòng)外部22.1184MHz晶振

for(i=0;i<255;i++); ? // 等待振蕩器啟動(dòng)

while(!(OSCXCN&0x80?)); // 等待晶體振蕩器穩定

CLKSEL=0x01;

OSCICN=0x00; // 選擇外部振蕩器為系統時(shí)鐘源并使能丟失時(shí)鐘檢測器

SFRPAGE=SFRPAGE_SAVE;

}

void PORT_Init(void)

{ SFRPAGE_SAVE=SFRPAGE;

SFRPAGE=CONFIG_PAGE;

XBR0=0x04; // 使能UART0

XBR1=0x14; // 使能INT0和INT1

XBR2=0x44; // 使能數據交叉開(kāi)關(guān)和弱上拉

P2MDOUT|=0xff; // 允許為推挽輸出

SFRPAGE=SFRPAGE_SAVE;

}

void spi_(kāi)begin()

{ mosi=1;

delay(1);

sclk=1;

delay(1);?

ss=1;

delay(1);?

ss=0;

}

byte spi_(kāi)send_byte(byte d)

?{ idata byte i;

idata byte result=0;

while(!rdy); ?

mosi=1; miso=1;

for(i=0;i<8;i++)

{ sclk=0;

delay(5);?

mosi=(bit)(d&0x80);?

d=d<<1;

delay(5);?

sclk=1;

delay?5??

result*=2?

if(miso) result++;

}

return(result);?

}

void spi_end()

{ mosi=1;

delay(1);?

sclk=0;

delay(1);?

ss=0;

delay(1);?

ss=1;

}

void delay(uint delx)

{ idata uint i=0;

while(i<delx)

{ i++;} ?

}

main()

{ WDTCN=0xde; // 禁止看門(mén)狗定時(shí)器

WDTCN=0xad;

SYSCLK_Init();? // 初始化振蕩器

PORT_Init(); // 初始化數據交叉開(kāi)關(guān)和通用IO口

cs=0; res=1; delay(10); res=0; delay(10);?

spi_(kāi)begin();

status[0]=spi_(kāi)send_byte(0x14);

status[1]=spi_(kāi)send_byte(0x00);?

spi_(kāi)end();??

delay(500); //ready to accept commands but not powered up

spi_(kāi)begin();

status[2]=spi_(kāi)send_byte(0x02);

status[3]=spi_(kāi)send_byte(0x00);?

spi_(kāi)end();

delay(500); //send the power up command

spi_(kāi)begin();

status[4]=spi_(kāi)send_byte(0x06); //send read interrupt command

status[5]=spi_(kāi)send_byte(0x00);

status[6]=spi_(kāi)send_byte(0x00);?

status[7]=spi_(kāi)send_byte(0x00);?

spi_(kāi)end();?

delay(500); //return the status of the wts701,now be ready for conversion

spi_(kāi)begin();?

spi_(kāi)send_byte(0x51);

spi_(kāi)send_byte(0x00);?

spi_(kāi)end();

delay(500); //svol set vol register command

spi_(kāi)begin???

spi_(kāi)send_byte(0x52);?

spi_(kāi)send_byte(0x07);?

spi_(kāi)end();

delay(500);//svol set vol register command

spi_(kāi)begin();

status[8]=spi_(kāi)send_byte(0x81);?

status[9]=spi_(kāi)send_byte(0x00);?

status[10]=spi_(kāi)send_byte(0x10);? //^P

status[11]=spi_(kāi)send_byte('D'); //“大”的拼音

status[12]=spi_(kāi)send_byte('A'??

status[13]=spi_(kāi)send_byte('4');?

status[14]=spi_(kāi)send_byte('J');? //“家”的拼音

status[15]=spi_(kāi)send_byte('I');?

status[16]=spi_(kāi)send_byte('A');?

status[17]=spi_(kāi)send_byte('1');?

status[18]=spi_(kāi)send_byte('H');? //“好”的拼音

status[19]=spi_(kāi)send_byte('A');?

status[20]=spi_(kāi)send_byte('0');?

status[21]=spi_(kāi)send_byte('3');?

status[22]=spi_(kāi)send_byte(' '); //結束符

spi_(kāi)end();?

while(1); ?

}

5 結束語(yǔ)

實(shí)際使用時(shí),可利用華邦WTS701語(yǔ)音芯片的預錄人聲方式來(lái)讓文字轉換后的語(yǔ)音更具有人情味?,F今市場(chǎng)上的TTS產(chǎn)品多半采用計算機合成的語(yǔ)音模式,WTS701的問(wèn)世則可把一般文字轉化為真人發(fā)音的語(yǔ)音輸出,從而創(chuàng )造一個(gè)更具人性化的語(yǔ)音環(huán)境。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>