当前位置:首页 > 消费电子 > 消费电子
[导读]WTS702是华邦公司推出的内建喇叭驱动功能的“文字转发音”单芯片集成电路。该芯片将连续运算法与华邦专有的多层次储存技术相结合,从而实现了真正将“文字转发音”的完整功能。文中介绍了该芯片的原理及典型应用,给出了Cygnal F120MPU与WTS701的接口电路,并根据相应的芯片指令给出了其控制软件的代码程序。

    摘要:WTS702是华邦公司推出的内建喇叭驱动功能的“文字转发音”单芯片集成电路。该芯片将连续运算法与华邦专有的多层次储存技术相结合,从而实现了真正将“文字转发音”的完整功能。文中介绍了该芯片的原理及典型应用,给出了Cygnal F120MPU与WTS701的接口电路,并根据相应的芯片指令给出了其控制软件的代码程序。

    关键词:文字转发音;WTS701;C51语言;

1 概述

WTS701是华邦电子推出的第一颗“文字转发音”(text-to-speech)单芯片处理器。WTS701使用真人发音为样本,从而确保了所输出的发音是清晰的真人发音,而不会像计算机合成声音般不自然,因此,通过该芯片将文字转换成的发音更自然、真实、悦耳。

WTS701单芯片处理器解决方案将连续运算法(concat enation algorithm) 与华邦专有的多层次储存技术(Multi-Level Storage,MLS) 相结合。WTS701单芯片处理器内建喇叭驱动功能,不需要微处理器或个人计算机即可运作,因而可广泛应用于无线产品上。举凡电子邮件的阅读、实时简讯、网站、新闻、天气、运动、股价等信息,或是电子商务讯息传递及卫星导航系统的语音说明,皆可使用此款IC将文字转换成为语音,以听觉代替视觉来读取。此外,WTS701单芯片处理器还可以运用在学习辅助教材、视障辅助教材、电子书、玩具及其它娱乐产品上。

2 引脚排列及功能

WTS701采用56脚TSOP封装。其引脚排列如图1所示,各引脚的功能说明如表1所列。

表1 WTS701的引脚功能

引脚号 引脚名称 I/O

功    能

2,36,44 VSSA G 模拟地
3 VCLK I CODEC主频时钟
4 VFS I CODEC同步信号
5 VDX O CODEC数据输出
6 MISO O SPI输出方式,主入从出
7 XTAL2 O 外接时钟输出
8 XTAL1 I 外接时钟输入
9,10 VSSD G 数据地
11,12 VCCD P 数据电源
13 INT O 中断输出
14 MOSI I SPI输出方式,主出从入
15 SS I SPI输出方式,从方选择
16 SCLK I SPI串口时钟输入
25 CS I WTS701片选
26 R/B O 数据传输空闲或忙引脚
27 RESET I 复位
40 ATTCAP I/O 自动静噪,与模拟地之间连接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 应用特性

3.1 芯片工作参数

●采用2.7V~3.3V工作电压。

●其I/O引脚可耐3V~5V电压。

●功耗低,工作模式时的电流为35μA,等待模式时为1μA。

●工作温度范围:-40℃~+85℃。

●采用模拟音频输出,可外接8Ω扬声器。

●发音语速可调。

●可对ASCII码或Unicode码进行文字转发音。

●支持英语男、女性发音和中文女性发音。

3.2 存储单元和SPI传输格式

该芯片内含2组内存数组:其一为语音数据库所用,另一则为处理核心程序所用。有1组模拟/数字转换器负责通过音效PCM输出音效,另有1组扬声器驱动线路可做为模拟输出。WTS701支持ASCII码的文字输入(国语则需使用Unicode编码文字),并可通过串行SPI接口输入,然后将其转换为语音并通过模拟端口输出,当然,也可输出至数字CODEC。WTS701芯片的系统工作流程框图如图2所示。

WTS701的传输协议采用SPI方式,传输格式如图3所示。

4 典型应用

图4所示是WTS701与Cygnal F120微控制器的接口电路。系统的应用软件代码程序见下文。当微处理器Cygnal F120与WTS701以及相应的外围电路连接完毕后,便可运行该应用软件,扬声器将发出“大家好”的问候语。

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

#define byte unsigned char

#define uint unsigned int

#define SYSCLK 22118400 //系统时钟外部晶体

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;

// 延时计数器

SFRPAGE_SAVE=SFRPAGE;

SFRPAGE=CONFIG_PAGE;

OSCXCN=0x67; // 启动外部22.1184MHz晶振

for(i=0;i<255;i++); ? // 等待振荡器启动

while(!(OSCXCN&0x80?)); // 等待晶体振荡器稳定

CLKSEL=0x01;

OSCICN=0x00; // 选择外部振荡器为系统时钟源并使能丢失时钟检测器

    SFRPAGE=SFRPAGE_SAVE;

}

void PORT_Init(void)

{ SFRPAGE_SAVE=SFRPAGE;

SFRPAGE=CONFIG_PAGE;

XBR0=0x04; // 使能UART0

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

XBR2=0x44; // 使能数据交叉开关和弱上拉

P2MDOUT|=0xff; // 允许为推挽输出

SFRPAGE=SFRPAGE_SAVE;

}

void spi_begin()

{ mosi=1;

delay(1);

sclk=1;

delay(1);?

ss=1;

delay(1);?

ss=0;

}

byte spi_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; // 禁止看门狗定时器

WDTCN=0xad;

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

PORT_Init(); // 初始化数据交叉开关和通用IO口

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

spi_begin();

status[0]=spi_send_byte(0x14);

status[1]=spi_send_byte(0x00);?

spi_end();??

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

spi_begin();

status[2]=spi_send_byte(0x02);

status[3]=spi_send_byte(0x00);?

spi_end();

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

spi_begin();

status[4]=spi_send_byte(0x06); //send read interrupt command

status[5]=spi_send_byte(0x00);

status[6]=spi_send_byte(0x00);?

status[7]=spi_send_byte(0x00);?

spi_end();?

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

spi_begin();?

spi_send_byte(0x51);

spi_send_byte(0x00);?

spi_end();

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

spi_begin???

spi_send_byte(0x52);?

spi_send_byte(0x07);?

spi_end();

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

spi_begin();

status[8]=spi_send_byte(0x81);?

status[9]=spi_send_byte(0x00);?

status[10]=spi_send_byte(0x10);? //^P

status[11]=spi_send_byte('D'); //“大”的拼音

status[12]=spi_send_byte('A'??

status[13]=spi_send_byte('4');?

status[14]=spi_send_byte('J');? //“家”的拼音

status[15]=spi_send_byte('I');?

status[16]=spi_send_byte('A');?

status[17]=spi_send_byte('1');?

status[18]=spi_send_byte('H');? //“好”的拼音

status[19]=spi_send_byte('A');?

status[20]=spi_send_byte('0');?

status[21]=spi_send_byte('3');?

status[22]=spi_send_byte(' '); //结束符

spi_end();?

while(1); ?

}

5 结束语

实际使用时,可利用华邦WTS701语音芯片的预录人声方式来让文字转换后的语音更具有人情味。现今市场上的TTS产品多半采用计算机合成的语音模式,WTS701的问世则可把一般文字转化为真人发音的语音输出,从而创造一个更具人性化的语音环境。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭