1 引言
语音系统是电梯不可缺少的部分,用于楼层报数、方向提示、报警告示、消防对讲以及广告宣传等。传统语音系统绝大多数采用语音器存储和播放语音,但存在比如外电路复杂、音质差、成本高、容量小以及语音不易更改等缺陷。鉴于此,设计了一款基于CPLD和VS1011E解码器的电梯语音系统。
2 系统概述
电梯控制系统的基本功能是根据用户的楼层按键信息,显示楼层数字,播报到达楼层语音。电梯语音系统框图如图1所示。
2.1信息输入
输入信息分为两部分,一是用户通过按键向系统发出楼层请求,二是电梯控制系统根据楼层到达或者取消发出的通知。
2.2处理器
根据用户信息和控制系统信息控制楼层系统,控制分为显示楼层和语音报送两部分。系统要求处理器处理速度快、内存缓冲空间大。
2.3显示模块
用于显示楼层数以及提示超载、消防和紧急状况,甚至还提供日期广告等信息的发布。中低档楼宇电梯系统一般使用LED显示,即点阵块显示。随着液晶显示控制技术的发展与成熟,高档楼宇电梯系统则采用LCD显示。
2.4逻辑器件
主要是能进行强大数据快速处理的CPLD。从整个系统可以看出,处理器需要响应输入信息并能够驱动显示模块工作,还要对扩展的存储器进行读写操作,并将存储器的语音数据送到MP3解码器解码。这些都对处理器提出很大挑战,如果处理器性能低则可能导致整个系统工作紊乱,因此,必须对处理器进行"减负"。
基于上述考虑,本系统使用CPLD。对于MP3解码器的控制,处理器只负责发送控制命令,而具体操作是由CPLD完成。这样就大大提高了系统的速度和可靠性。
2.5存储器
用于存储大量语音数据。市场上MP3播放器的存储器类型有3种:磁性存储器(2.5英寸硬盘)、光学存储器(CD-ROM和DVD)和Flash。其中Flash存储器还可以分为NAND Flash、CF卡、SD卡、SMC卡MMC卡以及SONY存储棒。考虑到系统设计和使用的便利性,系统采用NAND Flash。
2.6 MP3解码器、DAC和功放
作为MP3播放器的核心,MP3解码器负责把由微处理器从存储器中MP3格式数据编码转换成数字音频信号发送给DAC;DAC则把数字音频信号转变成模拟信号,最后模拟音频信号通过耳机或者功放发出声音。
3硬件设计
3.1系统工作原理
根据Flash的读写规则和MP3的解码协议,预先设置CPLD的逻辑规则。控制器根据输人信息,向CPLD发出控制命令和传送数据。CPLD根据接收到的命令按照逻辑规则读写Flash并对MP3设定内部控制寄存器和传送音频数据。MP3解码器输出的模拟信号直接驱动耳机,若要驱动大功率扬声器,还需外接功放。其系统硬件电路如图2所示。
3.2微控制器STC89C58RD+C
STC89C58RD+C是新一代51增强型高性能单片机,具有加密性强、超强抗干扰、超低功耗、在系统可编程、可供应内部集成MAX810专用复位电路等特点。
STC89C58RD+C采用MCS51内核,与AT89S52引脚兼容。需要注意的是,D型内部集成复位电路,复位引脚直接接地。拥有32 KB的Flash和16 KB的EEPROM,内含1 280字节SRAM存储空间。因此,STC89C58RD+C能满足系统控制要求。
D0~D7与CPLD通信,实现数据传输和命令控制,8个端口需要上拉电阻,阻值为10 kΩ,上拉电阻需要3.3 V电源供电,与CPLD电源匹配。DREQ1(P3.2)与CPLD连接,用来读取MP3解码器的忙状态。READY(P2.3)与CPLD连接,判断Flash是否准备好。WR、RD和ALE连接至CPLD,实现对Flash的读写选择和时序控制。
3.3 CPLD电路
CPLD是微控制器、Flash和MP3之间的中介,负责逻辑控制和数据传递。CPLD电路采用Xilinx公司的XC9572-VQ64。XC9572-VQ64具有72个宏单元、1 600个可用门电路、52个I/O端口,具有低至2.5 V供电电源,可在线编程等特性。J1用于ISP下载。晶体振荡器采用40 MHz。
3.4 MP3解码器VS1011E及电路设计
VS1011E音频解码器为VS10xx系列的第三代产品,是单片MP3/WMA/MIDI解码和ADPCM编码器。它内部集成有高性能、低功耗的DSP处理核(VSDSP),5.5 KB片内RAM可供用户存储代码和数据,串行SPI总线接口,双声道高质量的采样频率可调的16位DAC。VSl011E工作在12.288 MHz~14 MHz或者24.576 MHz~28 MHz时钟范围,能对MPEG1&2 Laver1、2、3以及MPEG2.5 Layer3格式、WAV格式和PCM格式文件进行解码。
VS1011E的工作流程如图3所示。VS1011E的工作流程为:首先MP3或者WAV格式音频文件通过SDI总线进入芯片内部,并解码。解码后,如果SCL_AIADDR!=0,将会执行应用区代码,代码地址由相应的地址寄存器提供。然后,按照SCL_BASS寄存器(SB_AMPLITUDE位和ST_AMPLITUDE位)的设置,数据可能会被送到低音和高音优化器进行音效处理。此后,数据通过音量控制单元,同时备份到音频FIFO中。音频FIFO保持数据,并作为采样率转换器和DAC的输入。采样率转换器将所有不同采样率转换成CLKI/512,输送给DAC。DAC按位依次产生立体声模拟信号,这些信号紧接着送到耳机功率放大器中。
由于本系统为电梯系统,推动大功率扬声器发声,需要外置功放。功放采用的是CD4752CZ,该功放具有较大的电压范围和抗干扰能力,适合电压波动大、外界干扰强的电梯工作环境。
关键字:CPLD VS1011E 寄存器
3.5 Flash存储器
采用Samsung公司的NAND Flash K9F5608作为存储器。K9F5608拥有32 MB的空间,完全满足电梯语音系统的要求。
NAND Flash以块(block)和页(page)为存储单元。K9F5608包括2 048块,每一块又包括32页,一页大小为528字节,依次分为2个256字节的数据区,最后是16字节的备用空间。
K9F5608的读、写和擦除操作均由命令完成。读/写操作是以页为单位进行。擦除操作是以块为单位,不能字节擦除,而且在每次改写操作之前需要先擦除一整块;每一块的擦除次数有限,为10万次左右,数据保存时间超过10年。典型的读操作时间为50 ns/字,写操作时间为200 μs/页,擦除操作时间为2 ms/块。
4软件设计
4.1主流程图
电梯在运行过程中,如果无人按键,电梯语音系统则自动播报广告、天气预报等信息,同时伴有点阵或液晶显示。当有按键按下时,语音系统则会根据按键值调用相应的按键语音处理程序。主程序流程图如图4所示。
4.2 YS1011E的软件设计
软件设计采用VS1011E音频解码器,其控制流程如图5所示。
控制MP3解码器时应注意以下几点:
设置内部控制寄存器MODE的参数。包括支持文件格式、软启动设置、数据流模式设置、DCLK触发沿设置以及SDI数据首位设置;
如果时钟速率不是24.576 MHz,则需要设置SCI_CLOCKF寄存器。若通过改变SCI_CLOCKF倍频时钟,应将适当的采样速率写人SCI_AUDATA寄存器,等待至少11 000个时钟后才能SPI通讯;
设置音量寄存器SCI_VOL,0为最大音量,0xFEFE为静音,0xFFFF触发模拟调电模式;
强化低音和高音,可设置寄存器SCI_BASS;
使用用户代码,SCI_AIADDR置为零;
采用RAM级的用户代码,激活SCI_WRAM、SCI_WRAMADDR、SCI_AIADDR装载数据能够实现所需功能。
5 结束语
本系统已经投入市场,音质良好、功能稳定。基于CPLD和VS1011E解码器的语音系统如今被应用到很多领域,如公共汽车的站名播报系统等。