文字转发音单片处理器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手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
文字
处理器
原理
应用

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved