基于CPLD和VS1011E解码器的电梯语音系统
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时钟范围,能对MPEG12 Laver1、2、3以及MPEG2.5 Layer3格式、WAV格式和PCM格式文件进行解码。
VS1011E的工作流程如图3所示。VS1011E的工作流程为:首先MP3或者WAV格式音频文件通过SDI总线进入芯片内部,并解码。解码后,如果SCL_AIADDR!=0,将会执行应用区代码,代码地址由相应的地址寄存器提供。然后,按照SCL_BASS寄存器(SB_AMPLITUDE位和ST_AMPLITUDE位)的设置,数据可能会被送到低音和高音优化器进行音效处理。此后,数据
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- 用CPLD实现FIR数字滤波器的设计(08-07)
- 基于DSP+CPLD的交流电机调速在水处理控制中的应用(11-27)
- 一种基于DSP的张力、深度、速度测量系统(04-15)
- 用双端口RAM实现与PCI总线接口的数据通讯(05-06)
- 基于DSP和CPLD的宽带信号源的设计(07-26)