课题:公共汽车智能语音报站系统一、设计内容1.基本要求:采用复杂可编程逻辑器件设计一个功能完善、具有实用价值的智能语音报站系统,通过按键控制可以用语音播报公共汽车所有的到站信息和下一目标站的信息,甚至在站间还可任意穿插简短的广告信息和城市文明规范,给乘客提供轻松、健康的乘车环境。
2.提高要求:具有站位显示和人性化的录音操作功能。
二、技术要求1.语音信息分17段以上,至少保证9站线路的语音播报信息的存储;2.能按报站要求任意组合放音;3.具有正报、反报、重报、回退、复位功能(其中回退为提高要求);4.有加、减、正反选择、重复、清零、录音、放音、地址选择等按键或DIP开关;5.输出不失真功率大于125mW;6.能实现指定地址人工控制长度的录音;7.能用LED指示当前站的位置(提高要求);8.每次播报时,每条信息必须播报两次;9.具有在系统编程功能;三、设计原理1. ISD1420单片20秒高保真语音录放ICISD1420为美国ISD公司出品的单片语音录放电路。
内部电路由振荡器、语音存储单元、前置放大电路、抗干扰滤波器和输出放大器组成。
最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源和少数电阻电容组成。
录音内容存入E2PROM永久存储单元,具有零功率信息存储功能,这个独一无二的方法是借助于美国ISD公司的专利——直接模拟存储技术(DAST TM)实现的。
利用它,语音和音频信号被直接存储,以其原本的模拟形式进入E2PROM存储器。
直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现,不仅语音音质优美,而且具有断电语音保护功能。
⑴特点:●所需外围元件少,电路简单,操作方便。
●采用直接模拟量存贮技术DAST(Direct Analog Strorage Technology),再现优质原声,没有常见的背景噪声。
●零功率信息存贮,省掉备用电源。
●信息可保存10年以上,可反复录放达10万次之多。
●语音固化无需专用编程或开发装置。
●较强的选址能力,可把存储器分成160段来进行管理。
●具有自动省电模式,此时仅需0.5µA的保持电流。
●单一电源供电。
⑵电气特性:●工作电压V DD:5V.●静态电流I STB:典型值0.85µA,最大值为2µA.●工作电流I OP:典型值15mA,最大值30mA⑶电路图形符号及管脚功能说明图1 电路图形符号各管脚功能如下:名称管脚功能名称管脚功能A0~A5 1~6地址ANA OUT 21 模拟输出A6、A7 9、10 地址(MSB)ANA IN 20 模拟输入VCCD 28 数字电路电源AGC 19 自动增益控制VCCA 16 模拟电路电源MIC 17 麦克风输入VSSD 12 数字地MIC REF 18 麦克风参考输入各管脚功能描述如下:1).A0~A7地址输入端。
ISD1410除A3,其余均为空脚(NC)。
ISD1420的地址输入端具有两个功能:①作为信息地址线用(A0~A7=LOW);②作为操作模选择用(A6和A7=HIGH)。
2).MIC驻极体话筒输入端。
驻极体话筒通过电容C将音频信号耦合到该输出端,C的电容值与该端内阻(10KΩ)决定ISD1420通频带下限频率。
3).MIC REF驻极体话筒参考输入端。
4).ANA IN模拟信号输入端。
该端经C、R与ANA OUT端相连,语音通频带下限频率取决于C、R和该端输入阻抗(2.7kΩ),除MIC端,该端亦可作为模拟信号输入端。
5).ANA OUT来自驻极体话筒的输入信号被放大输出至该端,前置放大器的电压增益取决于AGC电平,对于小信号输入电平,其最大增益为24dB。
6).AGC自动增益控制端。
AGC可动态地调整前置放大器增益,而且可扩展加大MIC输入端的非失真信号的范围。
AGC的响应时间是由AGC内阻抗(5kΩ)和外部电容C来决定的;释放时间是C和R的RC时间常数决定的。
7).SP+、SP-喇叭输出端。
该端可直接驱动16Ω喇叭,可利用单端输出驱动喇叭,也可采用双端输出驱动喇叭。
双端输出信号的功率是单端的四倍。
单端输出则需要该脚与喇叭之间串接100μF的交流耦合电容。
8).XCLK外接时钟振荡端。
该端在实际应用中通常接地,如果需要更高的计时精度,该端可外接时钟电路。
9).RECLED发光二极管接口。
当录音时,该端输出低电平,发光二极管LED亮。
当录音停止或存储器录满时,LED熄灭。
10).PLAYE边沿触发放音控制端。
当该端输入一低脉冲,电路即进入放音状态,直到结束,电路自动进入准备状态。
11).PLAYL电平触发入音控制端。
当该端电平变低并保持,电路进入放音状态,放音结束后电路进入准备状态。
12).REC录音触发端。
录音期间该端必须一直保持低电平。
REC键优先于PLAYE或PLAYL其中一个放音键。
如果在放音期间,遇REC接低电平,放音立即停止,自动进入录音状态。
13).VSSD、VSSA数字地和模拟地。
14).VCCD、VCCA数字电路电源正端和模拟电路电源正端。
⑷操作模式应用ISD1420地址输入端具有双重功能,根据地址中的A6、A7的电平状态决定A0~A7的功能。
如果A6、A7有一个低电平,A0~A7输入全解释为地址位,作为起始地址用,此时地址线仅作为输入端,在操作过程中不能输出内部地址信息。
根据PLAYE、PLAYL或REC 的下降沿信号,地址输入被锁定。
如果A6、7同为高电平时,它们即为模式位。
使用操作模式有两点要注意:1)所有初始操作都是从0地址开始。
0地址是ISD1420存储空间的起始端,后面的操作可模拟模式的不同,而从不同的地址开始工作。
当电路中录放音转换将进入省电状态时,地址计数器复位为0。
2)当PLAYE、PLAYL或REC变为低电平,同时A6、A7为高电平时,执行地址线所对应的操作模式。
这种操作模式一直执行到下一个低电平控制输入信号出现为止。
操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。
A0:信息检索(仅用于放音工作状态)。
不知道每个信息的实际地址,A0使操作者快速检索每条信息,A0每输入一个低脉冲,可使利内部地址计数器跳到下一个信息。
这种模式仅用于放音工作,通常与A4操作同时应用。
A1:用于删除EOM标志(仅用于录音工作状态)。
A1可使录入的分段信息成为连续的信息,使用A1可删除掉每段中间信息捷的EOM标志,仅在所有信息后留一个EOM标志。
当这个操作模式完成时,录放的所有信息就作为一个连续的信息放出。
A3:用于循环重放信息(仅用于放音工作状态)。
A3可使存于存储空间始端的信息自动地连续重放。
一条信息可以完全占满存储空间,那么循环就可以众头至尾进行工作,并由始至终反复重放。
A4:连续寻址。
在正常操作中,当一个信息放完,遇到一个EOM标志时,地址计数器就会复位。
A4可防止地址计数器复位,使得信息连续不断地放出。
A2、A5:未用2.语音典型电路图图2 ISD1420典型应用电路3. 语音芯片的分段存储设计为了能正确地进行语音播报,必须将20秒的语音芯片分段存储所需的内容,然后根据每条播报信息的要求组合后进行播报。
根据分析,一个全长九站的线路,语音信息分18段存储即可,分段表如下:地址(二进制) 地址(十进制) 单元数时间长度(s) 内容00-01 0-1 2 0.25 空白02-07 2-7 6 0.75 “前往”08-0F 8-15 8 1 “小龙坎”10-17 16-23 8 1 “石桥铺”18-1F 24-31 8 1 “歇台子”20-27 32-39 8 1 “石油路”28-2F 40-47 8 1 “大坪”30-37 48-55 8 1 “鹅岭公园”38-3F 56-63 8 1 “两路口”40-47 64-71 8 1 “解放碑”48-4F 72-79 8 1 “终点站”50-57 80-87 8 1 “所有”58-5F 88-95 8 1 “到了”60-67 96-103 8 1 “下一站”68-6F 104-111 8 1 “需要在”70-81 112-129 24 3 “下车的乘客请下车”74-81* 116-129 24 3 “(下车)的乘客请下车”82-87 116-129 24 3 “沙坪坝”88-9F 136-159 24 3 “的乘客请做好准备”其中74-81是70-81的子集,属于同一个存储段。
4. 控制电路CPLD设计系统的几乎所有控制逻辑均由CPLD实现,其逻辑框图如图3所示。
图3 CPLD控制逻辑框图其中ADD是加计数按键输入;CLEAR是复位输入;REPEAT是重复播报按键输入;CLK16MHz是时钟输入端,信号频率为16MHz;PLAY_END是ISD1420的放音结束信号,该信号是低有效;P_N_SELECT是方向选择输入端,当该输入端为低电平时,播报信息是正向播报,反之,当为高电平时,播报信息是逆向播报;SUB是减计数按键输入。
PLAY_E 是触发语音播放的输出端;A[7:0]是地址输出端,用于给语音芯片播放时提供语音地址;BCD[3:0]是驱动显示译码的输出端,用于同步显示汽车到站信息。
CPLD控制逻辑电路的内部结构如图4所示。
系统工作控制过程如下:汽车正向行驶时将P_N_SELECT置为低电平,当需要播报语音信息时,按下ADD键即可。
注意,每按一次ADD键,播报的语音信息就自动加1,并立即播报两次,所以正常情况下只需按ADD键即可。
如果出现堵车等特殊情况,需要再次播报已经播报过的信息,驾驶员只需按下REPEA T 键即可,该键可任意次重复执行。
如果出现汽车站点与播报信息错位的情况,则可以通过连续按ADD键快进或连续按SUB键快退进行调整。
时钟信号的作用是用于产生按键去抖动的50Hz信号和延时用的1kHz信号。
PLAY_END输入端不是一个按键输入,而是语音芯片的输出端,是低有效,该信号有效时表示当前播报的一段语音信息已经结束,利用该信息去触发下一段语音信息的播报,就可以使需要播报的一条完整的语音信息连续流畅地播放出来。
一条完整的语音信息由8段组成,如果每一条语音信息播报两次,则需要一个16进制的计数器,如图中的COUNT_16模块,也就是图中的I20。
图4 CPLD控制逻辑顶层电路图一条语音信息连续播放的原理如下:任何时候只要按下ADD、SUB、REPEAT、CLEAR 四个键中的一个,由于七输入或门I35的作用都会触发一次语音的播报,且存储语音信息的高5位地址已经确定,其中ADR[7]由P_N_SELECT确定,ADR[6:3]由双向计数器COUNT16_U_D确定,所以按键ADD可以使ADR[6:3]加1以指向下一条语音信息地址表的存储位置,同理按键SUB可以使ADR[6:3]减1以指向上一条语音信息地址表的存储位置,而REPEA T将不改变ADR[6:3]以指向当前条语音信息地址表的存储位置,按键CLEAR可以使ADR[6:3]全为0以指向第一条语音信息地址表的存储位置。