基于DSP全数字化语音系统的设计方案
摘要: 本文就是用F206对MSM6588语音芯片进行录音、放间控制,用FLASH存储器AM29F040B进行语音数据存储,用差分线驱动器和接收器SN75LBC180在RS-485总线网络上传输语音数据,从而满足全数字化语言教学实验室对学生机提出的上述要求的。
关键字: 数字信号处理, MSM6588语音芯片, FLASH存储器
“计算机化、软件化、多室合一”是数字语言实验室的发展方向--现代化的教育机构,将不会再分门别类地建设语音教室、多媒体教室、网络教室、考试中心、开放式学习中心,取而代之的是简洁统一的多功能教室。语言教学日趋多样化、个性化,新概念、新标准、新手段、新内容层出不穷。教育机构亟需具有持续更新能力的产品,传统硬件产品无法更新换代的弱点相应凸现。
建立专业语音教室、多媒体教室、网络教室、考试中心、开放式学习中心等多功能合一的专业教学环境,最大限度地简化学校采购、排课、使用、维护和升级工作,大幅度降低投资成本,从而迅速获得国内众多着名高等学府的青睐。
数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
TMS320F206是美国TI(德州仪器)公司继TMS320C2X和TMS320C5X之后推出的一种低价格、高性能的16位定点运算DSP,其CPU接近于TMS320C25,但时钟速率提高、指令集更加丰富和优化、片内外设向TMS320C5X靠拢[1].TMS320F206(以下简称F206)的性价比较高,目前已成为高档单片机理想替代品,在通信、语音/语言、军事、仪器仪表、图像处理、工业控制等领域得到了广泛应用。本文就是用F206对MSM6588语音芯片进行录音、放间控制,用FLASH存储器AM29F040B进行语音数据存储,用差分线驱动器和接收器SN75LBC180在RS-485总线网络上传输语音数据,从而满足全数字化语言教学实验室对学生机提出的上述要求的。图1示出了该语音系统的结构简图。
1 语音录放电路
语音芯片MSM6588是日本OKI公司的产品,内含话简放大器、低通滤波器(LPF)、12位A/D和D/A转换器,语音数据的处理采用ADPCM(自适应差分脉冲编码模式)方式[2].语音芯片主时钟频率确定后,可用DSP通过软件输入控制字来设定采样频率。采样频率设定越高,放间的品质越好,录间的时间就越短。表1给出了MSM6588语音芯片的常用控制命令。
表1 MSM6588的控制命令表
F206和MSM6588的引脚说明见参考文献[1]和[2].U3是总线收发器,用来隔离和驱动DSP的数据线。MSM6588左边的模拟电路用来放大从麦克风给拾取的微弱电信号,左边的模拟电路是功率放大部分,U5即TPA302是音频功率放大器,可驱动32Ω耳机。
2 语音存储电路
Flash闪存 闪存的英文名称是"Flash Memory",一般简称为"Flash",它属于内存器件的一种。 不过闪存的物理特性与常见的内存有根本性的差异: 目前各类 DDR 、 SDRAM 或者 RDRAM 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存;闪存则是一种不挥发性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。
由于语音芯片内无存储器,必须外挂存储器。可采用的存储器很多,如SRAM、PSRAM、DRAM、SDRAM、FLASH等。本方案采用的是AMD公司生产的AM29F040B,它的存储容量为512KB,使用单5V电源进行按扇区的擦除和按字节的写放操作。AM29F040B的非易失性可使语音数据在掉电后不会丢失,它的闪速存储器能可提高语音数据的采样频率,从而提高放间的品质。当采样频率设定为5.86kHz时,录音/放音时间为174.744s.AM29F040B的引脚输出与工业标准的EPROM、E2PROM完全兼容,在电路设计时非常方便。图3示出F206与AM29F040B的接口电路。AM29F040B地址线有19根,设计F206与其接口的关键是将AM29F040B的高位地址线(图3中为A14、A15、A16、A17和A18,可根据分页的多少和页面大小而定)通过八D锁存器74HC574的输出保持,其余地址线直接连到F206的地址总线上。该接口电路将512KB的数据空间分成32页,每页16KB.这16KB的空间被定位在F206数据空间的哪一个范围则由信号线/CSFLASH决定。在对FLASH操作时,先要通过74HC574选择页面,然后便可对当前页面的16KB数据空间读写。
与静态RAM不同,对FLASH的操作是通过一系列命令来实现的。表2给出不AM29F040B的主要命令定义(其中XXX表示任意地址。RA表示要读的存储地址,RD表示要读的数据;PA表示编程地址,PD表示编程数据;SA表示扇区地址A18~A16)。从表2可以看出,读FLASH只需要1个时钟周期,而写入一个字节则需要4个时钟周期,因此FLASH的读写速度比SRAM慢。但FLASH比相同容量的SRAM便宜得多,工作可靠性高,因而FLASH非常适用于需要大容量、非易失性、重复编程存储的场合。
表2 AM29F040B的主要命令
3 语音传输网络
由于F206的片内异步串口(ASP)可以以高达2.5Mbit/s的传送速率进行全双工发送和接收操作,而且在所有方式下发送和接收数据都为双缓冲,故可利用ASP外接差分线驱动器和接收器SN75LBC180构成RS-485总线网络,将所有的学生机节点和教师机连成主从式网络结构。图4给出不F206与SN75LBC180的接口电路。SN75LBC180与F206接口的4根信号线是RX、TX、IO0及IO1,由于在图2中已给出不F206的所有管脚,这里就不再画出DSP不。其中IO0连接到SN75LBC180的接收数据控制引脚/RE,IO1接到SN75LBC180的发送数据控制引脚DE,数据的接收和发送就是靠IO0和IO1的电平高低来控制的。SN75LBC180的总线互连部分只画出不差分接收的电路,差分发送电路与接收电路相同,故没有在电路中示出。由于RS-485的通信载体是双绞线,它的特性阻抗是120Ω,所以在RS-485的网络传输线的始端和末端各接1只120Ω的匹配电阻R3,以减少线路上传输信号的反射。SN75LBC180的A、B输入端接上拉、下拉电阻R1、R2是为不防止F206被误中断而收到乱字符;R4、R5可使本机的硬件故障不影响整个总线的通信;稳压管D1、D2组成吸收回路以抵抗传输线上的各种干扰,用来保护RS-485总线。
4 软件设计简述
该语音教学系统中的学生机单元的软件框架见图5.软件设计的核心是协调各中断(从主机来的串口接收中断、从语音芯片MSM6588来的采样中断和播放中断以及从键盘来的中断)之间的逻辑关系。学生机的主要任务是:在播放的时候,既要保证接收数据完整,又要保证语音播放不间断;在寻间的时候,既要保证采样连续,又要保证完整地发送数据包。本程序采用双缓冲技术来解决这些剖,即在播放时,接收一个数据包到一个缓存区,同时播放另一个缓存区中的数据包;录音时,采样一个缓存区,同时发送另一个缓存区中的数据包。
暂无评论