文字转发音单片处理器WTS701的原理及应用

2007-03-09 19:03:27来源: 互联网 关键字:文字  处理器  原理  应用
摘要: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的问世则可把一般文字转化为真人发音的语音输出,从而创造一个更具人性化的语音环境。

关键字:文字  处理器  原理  应用

编辑: 引用地址:http://www.eeworld.com.cn/xfdz/2007/0309/2839.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:语音识别系统中增加图像识别技术的设计
下一篇:智能网络图像监测系统的研究

论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
文字
处理器
原理
应用

小广播

独家专题更多

TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved