语音合成芯片MSM6585及其应用


    语音提示已经用得非常广泛,如无人售票公交车上的报站器、高档玩具、一些带语音提示的仪器仪表等。日本OKI公司生产的语音合成芯片MSM6585放音质量好、使用简单可靠、控制灵活,非常适合做语音提示方面的产品。

1 特点

    MSM6585采用4位的ADPCM语音数据存储格式,内置一个12位数转换器和一个低通滤波器,采样频率在主时钟频率为640kHz时可通过芯片引脚在4/8/16/32kHz四种频率中进行选择。MSM6585内部不含语音数据存储器,也不包含用于驱动外部存储器的控制电路,所以语音数据必须存放于外部半导体存储器或其它存储媒质如CD-ROM中,这十分方便用户使用。作者在实际应用中,采用计算机声卡将语音录到计算机中,通过第三方的共享软件GoldWave对音源进行编辑、修改等处理后,再通过软件AWave将录制好的音源转换成MSM6585所需要的ADPCM数据存储格式,写入到存储媒质中。MSM6585提供DIP-18、SOP-24、SSOP-30三种引脚封装,采用DC5V电源供电。MSM6585的功能框图如图1所示。

2 引脚说明

MSM6585的引脚见表1。

表1 MSM6585引脚

图1 MSM6585功能框图

引脚

符号

说 明

DIP

SOP

SSOP

1

1

1

S1

用于选择采样频率

2

2

2

S2

3

3

6

T3

用于测试内部电路(厂家使用,用户可不予理睬)

8

11

14

T4

12

16

21

T1

13

17

22

T2

4~7

5,7,8,10

7~10

D0~D3

ADPCM四位数据输入引脚

10

13

16

AOUT

经过低通滤波器后输出的模拟声音

11

14

17

DAO

经过数模转换后输出的模拟声音

14

18

23

语音数据请求信号

15

20

24

RESET

复位输入

16

22

25

XT

用于连接振荡器

17

23

29

18

24

30

VDD

电源

9

12

15

GND

电源地

 

3 采样频率

MSM的采样频率fSAM与S1、S2的关及截止频率fCUT如表2所示。

4 MSM6585在公交车语音提示中的应用

4.1 硬件设计

系统原理图如图2所示。

表2 fSAM与S1、S2的关系及fCUT

1

S2

采样频率fSAM

截止频率fCUT

L

L

4kHz

1.6kHz

H

L

8kHz

3.2kHz

L

H

16kHz

6.4kHz

H

H

32kHz

12.8kHz

图2 系统原理图

    由于公交车的提示语音数据比较大,在此系统中选用了一片27C040。27C040是512K字节的存储器,若采样频率为8kHz,总放音时间可达128秒钟。512K字节的存储器有19根地址线,其低16位地址线直接与MCU的地址总线连接(低8位通过锁存器373),另三根地址线通过P3口的P3.3、P3.4、P3.5控制。

    监控芯片X25045除了能保证系统的工作可靠性外,内部还有512字节的EEPROM保存提示系统的分段及分段组合数据,当需要提示放音时,MCU从中首先找到需放音的组合段,根据组合段中的选段信息将所要放音的段连续放出。

    MCU采用GMS97C51。GMS97C51内部有4K字节的程序存储器和128字节的内部RAM,不需要扩展外部程序存储器和临时数据存储器,可缩小系统体积。GMS97C51的保密性很好,不易解密,而且价格便宜,指令和Intel的8051兼容。

    语音合成芯片MSM6585和MCU之间只有4根数据线和一根数据请求线连接。在放音时,MCU首先将语音数据准备好,MSM6585在为高电平时将语音数据读入,当由高向低跳变时,就向MCU发送一个中断请求,MCU在为低电平期间将下一个语音数据准备好。如此连续,就可正常放音。

    键盘显示部分另外采用了一片GMS97C2051。由于GMS97C2051价格便宜,且能直接驱动LED,在显示位数不多的情况下,性价比极好。而且在此系统中97C51的全部地址总线都被27C04所用,所以也只能以串行口发送命令的方式控制放音。在此系统中,显示部分由2位LED显示器组成,可显示当前公交车运行的站号。键盘部分由12个键组成,司机可通过键盘对当前站号调整,可选择特定提示放音如:“车上请不要吸烟”等,也可选择当前站报站提示,可重复多次放音等。在键盘的功能设计上,保证司机只需按一次键,就能放出当前所需的提示语音。

4.2 软件设计

   此系统包含有二片MCU,对于控制键盘显示部分的MCU,由于控制程序比较简单,在此不作介绍,只介绍控制放音的MCU的INT0中断服务程序和串行口中断服务程序。

    串行口中断服务程序的主要作用是接收命令、分析命令,按所给的命令正确控制放音部分的正常运行。如接收到一个放音命令后,则首先从X25045中读出相应的组合信息存放在MCU内部RAM中开辟的缓冲区,然后对放音所需数据进行初始化,再启动放音。

    INT0中断服务程序则主要根据缓冲区中所需播放的段信息,连续从27C040中读出语音数据,送到MSM6585合成输出。当放音完成后就关闭放音,并向控制键盘显示的MCU发送放音完毕信号。

    这两部分的程序流程图如图3所示。

 图3 程序流程图

 

欢迎来电洽购我司产品或免费详细资料、设计指南和光盘

传感网物联网传感器网:HTTP//WWW.SENSOR-IC.COM/

工控安防网:HTTP//WWW.PC-PS.NET/

消费电子专用电路网:HTTP://WWW.SUNSTARE.COM/

地址: 深圳市福田区福华路福庆街鸿图大厦1602    E-MAILszss20@163.com

电话:0755-83387030  83387016

传真:0755-83376182  83376182   邮编:518033  手机:(0)13902971329

E-MAIL:xjr5@163.com
    MSN: SUNS8888@hotmail.com
    QQ: 195847376
    技术支持: 0755-83394033 13501568376

深圳展销部:深圳华强北路赛格电子市场2583  TEL/FAX0755-83665529  13823648918 FAX:0755-83376182

北京分公司:北京海淀区知春路132号中发电子大厦3097

TEL  13823791822  FAX010-62543996 

上海分公司:上海市北京东路668号上海賽格电子市场地下一层D25号

TEL  13823676822  FAX021-56703037

西安分公司:西安高新开发区20(中国电子科技集团导航技术研究所

           西安劳动南路88号电子商城二楼D23 

TEL  18926764199  FAX:029-77678271