基于SST89V58和ISDl760的语音费额显示器的设计
扫描二维码
随时随地手机看文章
语音费额显示器是用于普通和高速公路收费车道向应缴费车辆和人员显示车型及收费金额等信息的一种机电设备。通常安装于收费车道出入口的侧部,可显示车型、金额、余额及汉字信息等,同时具有通行指示、语音提示等功能。本文以SST89V58单片机和语音芯片ISDl760为核心,给出了一种语音费额显示器的设计方法。
1 语音芯片ISDl760简介
ISDl760是华邦公司新推出的单片优质语音录放电路ISDl700系列芯片中的一款。该芯片可用来替代已经停产的ISD2560芯片。用户可利用振荡电阻来自已设定芯片的采样频率,从而决定芯片的录放时间(40~120 s)和录放音质(4~12kHz)。相比过去的ISD2560芯片,ISDl760在功能上集成了录放功能,并增加了一些更加人性化的提示功能以及对存储空间的精确操作功能,而且音质也有了明显的提高。
ISDl760芯片提供的多项新功能包括内置多信息管理系统、新信息提示(vAlert)、双运作模式(独立模式和SPI模式)以及可定制的信息操作指示音效等。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等全方位整合系统功能。此外,该芯片还具有专利技术的模拟处理存储方式,且录放音质极佳,背景噪音很小,语音内容保存时间长且不易丢失。非常适用于公路收费站和公交车等场合进行语音播报。
ISDl760有独立模式和SPI模式两种工作模式。本系统采用SPI工作模式,其中单片机为主机,ISDl760作为从机。主控单片机主要通过四线(SCLK,MOSI,MISO,/SS)SPI协议来与ISDl760进行串行通信,而且几乎所有的操作都可以通过SPI协议来完成。
2 语音费额显示器的硬件设计
一个语音费额显示系统可由主控制模块、存储模块、语音模块、功放模块,串口通信模块、驱动模块和显示模块等模块组成,其主控系统框图如图1所示。费额显示器的通信命令来源于收费系统的车道控制计算机。计算机可将根据车型、轴载重量、行驶公里数、计费标准等数学计算公式得到的最终数据,通过串口发送给费额显示器的RS-232通信芯片,再由RS-232通信芯片将数据输入单片机进行处理。单片机处理后的数据可分两路输出,其中一路输出至解码、驱动芯片,以用于驱动数码管的费额显示;另一路则输出至语音芯片,以用于进行同步语音报价。
由于本系统采用的是2MB的串行FLASH芯片SST25LF020A来存储字库内容,故可采用带有SPI接口的SST89V58单片机作为主控制芯片,并使用模拟SPI方式与ISDl760进行串行通信。
单片机上具有IO功能的四个管脚可分别与ISDl760上的SCLK、MOSI、MISO和连接;ISDl760的ROSC端可用一个80 kΩ的电阻接地,即设置的采样频率为8 kHz。该采样率下的最大录放音时间为60s;SP+、SP-端外接TDA2009A组成的功率放大电路可实现播报语音的音量控制。 TDA2009A是双路音频功率放大器,它具有过热保护电路,而且外接元件少,安装简单。
费额显示器的语音播报内容主要包括播报欢迎词、车型、收费金额、车重、警报音等。本系统使用ISDl700语音编程拷贝机将录制好的语音分段录制到语音芯片中。另外,通过语音编程拷贝机也可以很方便地读取每段语音信息的开始和结束地址,并可进行多片芯片语音信息的拷贝。
在语音录制过程中,需要注意的问题首先是在烧录语音前应检查电脑声卡驱动,应保证有驱动并且最新,最好将声卡声音输出设置中的喇叭组态设置为耳机,输出音量大小设置到三分之二的状态;其次是在烧录语音时,电脑除了运行烧录语音的程序外,将其它的应用软件(如杀毒软件等)关闭,以保证没有噪音混入;最后,在烧录语音芯片结束后,可循环播放试听一下,如果对音质不满意,可使用Goldwave或者Adobe Audition等音频编辑软件再对语音文件进行编辑,已达到满意的效果。
3 软件程序设计
语音费额显示器的系统软件要实现的任务是处理收费亭中收费计算机发送的串行通信数据,完成相应的显示功能并进行语音播报。其中的语音处理程序主要判断是否需要播报语音信息,以及找到相应语音信息的存储地址,播报制定段语音。其系统程序流程图如图2所示。下面是模拟SPI发送数据子程序和播放制定地址段的子程序:
/*模拟SPI发送数据子程序*/
4 结束语
本系统采用单片机的IO口来模拟SPI接口以对ISDl760进行控制,适用于大多数的单片机与ISDl760进行通信。在实际应用中,模拟元件(AGC电阻和电容、耦合电容等)要尽量靠近ISD器件,元件的引脚要短,应把模拟和数字电源引脚都接到电源端,并在这两个电源端口添加高频去耦电容,且其等效串联电阻要小,同时,电源本身一定不能有噪声。