ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:350.84KB ,
资源ID:28388585      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28388585.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(公共汽车智能语音报站系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

公共汽车智能语音报站系统.docx

1、公共汽车智能语音报站系统课题:公共汽车智能语音报站系统一、设计内容1基本要求:采用复杂可编程逻辑器件设计一个功能完善、具有实用价值的智能语音报站系统,通过按键控制可以用语音播报公共汽车所有的到站信息和下一目标站的信息,甚至在站间还可任意穿插简短的广告信息和城市文明规范,给乘客提供轻松、健康的乘车环境。2提高要求:具有站位显示和人性化的录音操作功能。二、技术要求1语音信息分17段以上,至少保证9站线路的语音播报信息的存储;2能按报站要求任意组合放音;3具有正报、反报、重报、回退、复位功能(其中回退为提高要求);4有加、减、正反选择、重复、清零、录音、放音、地址选择等按键或DIP开关;5输出不失真

2、功率大于125mW;6能实现指定地址人工控制长度的录音;7能用LED指示当前站的位置(提高要求);8每次播报时,每条信息必须播报两次;9具有在系统编程功能;三、设计原理1. ISD1420单片20秒高保真语音录放ICISD1420为美国ISD公司出品的单片语音录放电路。内部电路由振荡器、语音存储单元、前置放大电路、抗干扰滤波器和输出放大器组成。最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源和少数电阻电容组成。录音内容存入E2PROM永久存储单元,具有零功率信息存储功能,这个独一无二的方法是借助于美国ISD公司的专利直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直

3、接存储,以其原本的模拟形式进入E2PROM存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现,不仅语音音质优美,而且具有断电语音保护功能。 特点:所需外围元件少,电路简单,操作方便。采用直接模拟量存贮技术DAST(Direct Analog Strorage Technology),再现优质原声,没有常见的背景噪声。零功率信息存贮,省掉备用电源。信息可保存10年以上,可反复录放达10万次之多。语音固化无需专用编程或开发装置。较强的选址能力,可把存储器分成160段来进行管理。具有自动省电模式,此时仅需0.5A的保持电流。单一电源供电。 电气特性:工作电压VDD:5V.静态电流I

4、STB:典型值 0.85A,最大值为2A.工作电流IOP:典型值15mA,最大值30mA 电路图形符号及管脚功能说明图1 电路图形符号各管脚功能如下:名称管脚功能名称管脚功能A0A516地址ANA OUT21模拟输出A6、A79、10地址(MSB)ANA IN20模拟输入VCCD28数字电路电源AGC19自动增益控制VCCA16模拟电路电源MIC17麦克风输入VSSD12数字地MIC REF18麦克风参考输入VSSA13模拟地PLAYE24放音(边沿触发)SP+、-14、15喇叭输出+、-REC27录音XCLK26外接定时器(可选)RECLED25发光二极管接口NC7、8、11、22空脚PLA

5、YL23放音(电平触发)各管脚功能描述如下:1).A0A7地址输入端。ISD1410除A3,其余均为空脚(NC)。ISD1420的地址输入端具有两个功能:作为信息地址线用(A0A7LOW);作为操作模选择用(A6和A7HIGH)。2).MIC驻极体话筒输入端。驻极体话筒通过电容C将音频信号耦合到该输出端,C的电容值与该端内阻(10K)决定ISD1420通频带下限频率。3).MIC REF驻极体话筒参考输入端。4).ANA IN模拟信号输入端。该端经C、R与ANA OUT端相连,语音通频带下限频率取决于C、R和该端输入阻抗(2.7k),除MIC端,该端亦可作为模拟信号输入端。5).ANA OUT

6、来自驻极体话筒的输入信号被放大输出至该端,前置放大器的电压增益取决于AGC电平,对于小信号输入电平,其最大增益为24dB。6).AGC自动增益控制端。AGC可动态地调整前置放大器增益,而且可扩展加大MIC输入端的非失真信号的范围。AGC的响应时间是由AGC内阻抗(5k)和外部电容C来决定的;释放时间是C和R的RC时间常数决定的。7).SP、SP喇叭输出端。该端可直接驱动16喇叭,可利用单端输出驱动喇叭,也可采用双端输出驱动喇叭。双端输出信号的功率是单端的四倍。单端输出则需要该脚与喇叭之间串接100F的交流耦合电容。8).XCLK外接时钟振荡端。该端在实际应用中通常接地,如果需要更高的计时精度,

7、该端可外接时钟电路。9).RECLED发光二极管接口。当录音时,该端输出低电平,发光二极管LED亮。当录音停止或存储器录满时,LED熄灭。10).PLAYE边沿触发放音控制端。当该端输入一低脉冲,电路即进入放音状态,直到结束,电路自动进入准备状态。11).PLAYL电平触发入音控制端。当该端电平变低并保持,电路进入放音状态,放音结束后电路进入准备状态。12).REC录音触发端。录音期间该端必须一直保持低电平。REC键优先于PLAYE或PLAYL其中一个放音键。如果在放音期间,遇REC接低电平,放音立即停止,自动进入录音状态。13).VSSD、VSSA数字地和模拟地。14).VCCD、VCCA数

8、字电路电源正端和模拟电路电源正端。 操作模式应用ISD1420地址输入端具有双重功能,根据地址中的A6、A7的电平状态决定A0A7的功能。如果A6、A7有一个低电平,A0A7输入全解释为地址位,作为起始地址用,此时地址线仅作为输入端,在操作过程中不能输出内部地址信息。根据PLAYE、PLAYL或REC的下降沿信号,地址输入被锁定。如果A6、7同为高电平时,它们即为模式位。 使用操作模式有两点要注意:1)所有初始操作都是从0地址开始。0地址是ISD1420存储空间的起始端,后面的操作可模拟模式的不同,而从不同的地址开始工作。当电路中录放音转换将进入省电状态时,地址计数器复位为0。2)当PLAYE

9、、PLAYL或REC变为低电平,同时A6、A7为高电平时,执行地址线所对应的操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止。操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。A0:信息检索(仅用于放音工作状态)。不知道每个信息的实际地址,A0使操作者快速检索每条信息,A0每输入一个低脉冲,可使利内部地址计数器跳到下一个信息。这种模式仅用于放音工作,通常与A4操作同时应用。A1:用于删除EOM标志(仅用于录音工作状态)。A1可使录入的分段信息成为连续的信息,使用A1可删除掉每段中间信息捷的EOM标志,仅在所有信息后留一个EOM标志。当这个操作模式完成时,录放的所有

10、信息就作为一个连续的信息放出。A3:用于循环重放信息(仅用于放音工作状态)。A3可使存于存储空间始端的信息自动地连续重放。一条信息可以完全占满存储空间,那么循环就可以众头至尾进行工作,并由始至终反复重放。A4:连续寻址。在正常操作中,当一个信息放完,遇到一个EOM标志时,地址计数器就会复位。A4可防止地址计数器复位,使得信息连续不断地放出。A2、A5: 未用2 语音典型电路图图2 ISD1420典型应用电路3. 语音芯片的分段存储设计为了能正确地进行语音播报,必须将20秒的语音芯片分段存储所需的内容,然后根据每条播报信息的要求组合后进行播报。根据分析,一个全长九站的线路,语音信息分18段存储即

11、可,分段表如下:地址(二进制)地址(十进制)单元数时间长度(s)内容00-010-120.25空白02-072-760.75“前往”08-0F8-1581“小龙坎”10-1716-2381“石桥铺”18-1F24-3181“歇台子”20-2732-3981“石油路”28-2F40-4781“大坪”30-3748-5581“鹅岭公园”38-3F56-6381“两路口”40-4764-7181“解放碑”48-4F72-7981“终点站”50-5780-8781“所有”58-5F88-9581“到了”60-6796-10381“下一站”68-6F104-11181“需要在”70-81112-1292

12、43“下车的乘客请下车”74-81*116-129243“(下车)的乘客请下车”82-87116-129243“沙坪坝”88-9F136-159243“的乘客请做好准备”其中74-81是70-81的子集,属于同一个存储段。4. 控制电路CPLD设计系统的几乎所有控制逻辑均由CPLD实现,其逻辑框图如图3所示。图3 CPLD控制逻辑框图其中ADD是加计数按键输入;CLEAR是复位输入;REPEAT是重复播报按键输入;CLK16MHz是时钟输入端,信号频率为16MHz;PLAY_END是ISD1420的放音结束信号,该信号是低有效;P_N_SELECT是方向选择输入端,当该输入端为低电平时,播报信

13、息是正向播报,反之,当为高电平时,播报信息是逆向播报;SUB是减计数按键输入。PLAY_E是触发语音播放的输出端;A7:0是地址输出端,用于给语音芯片播放时提供语音地址;BCD3:0是驱动显示译码的输出端,用于同步显示汽车到站信息。CPLD控制逻辑电路的内部结构如图4所示。系统工作控制过程如下:汽车正向行驶时将P_N_SELECT置为低电平,当需要播报语音信息时,按下ADD键即可。注意,每按一次ADD键,播报的语音信息就自动加1,并立即播报两次,所以正常情况下只需按ADD键即可。如果出现堵车等特殊情况,需要再次播报已经播报过的信息,驾驶员只需按下REPEAT键即可,该键可任意次重复执行。如果出

14、现汽车站点与播报信息错位的情况,则可以通过连续按ADD键快进或连续按SUB键快退进行调整。时钟信号的作用是用于产生按键去抖动的50Hz信号和延时用的1kHz信号。PLAY_END输入端不是一个按键输入,而是语音芯片的输出端,是低有效,该信号有效时表示当前播报的一段语音信息已经结束,利用该信息去触发下一段语音信息的播报,就可以使需要播报的一条完整的语音信息连续流畅地播放出来。一条完整的语音信息由8段组成,如果每一条语音信息播报两次,则需要一个16进制的计数器,如图中的COUNT_16模块,也就是图中的I20。图4 CPLD控制逻辑顶层电路图一条语音信息连续播放的原理如下:任何时候只要按下ADD、

15、SUB、REPEAT、CLEAR四个键中的一个,由于七输入或门I35的作用都会触发一次语音的播报,且存储语音信息的高5位地址已经确定,其中ADR7由P_N_SELECT确定,ADR6:3由双向计数器COUNT16_U_D确定,所以按键ADD可以使ADR6:3加1以指向下一条语音信息地址表的存储位置,同理按键SUB可以使ADR6:3减1以指向上一条语音信息地址表的存储位置,而REPEAT将不改变ADR6:3以指向当前条语音信息地址表的存储位置,按键CLEAR可以使ADR6:3全为0以指向第一条语音信息地址表的存储位置。按键ADD、SUB、REPEAT、CLEAR都有3个功能,第一个功能是前面讲的

16、修改ADR6:3,第二个功能是使16进制计数器I20清零以便从该条信息的第1段开始播放,第三个功能是通过I35产生语音播放信号PLAY_E,该信号连接到语音芯片的边沿触发放音控制端PLAYE,使语音芯片开始播放语音信息。当第1段语音信息播放完后,ISD1420将输出PLAY_END信号,PLAY_END信号作为16进制计数器的CLK输入端将使I20计数为0001,该计数器的低3位输出作为存储器的低3位地址输入将指向当前条语音信息的第2段,同时PLAY_END信号通过I32延时后经I35还将产生语音播放信号PLAY_E,该信号作用于语音芯片ISD1420后又使语音芯片开始播放语音信息,但这次播放

17、的是第2段语音信息。I32延时的目的是保证在PLAY_E信号有效时,PLAY_END已经使16进制计数器完成计数。以此类推,第2段播放完成后又将播放第3段、第4段直到第8段。当第8段播放完后I20的输出为1000,由于计数器的最高位未用,所以语音播放又将从该条的第1段重复播放,接下来是第2段、第3段直到第8段。当第二次的第8段播放完后I20的输出变为0000,因此16进制计数器产生的进位信号CO将屏蔽PLAY_END,使语音播放停止。这样就达到了每条语音信息重复播放两次的目的。值得注意的是,七输入或门I35除了对ADD、SUB、REPEAT、CLEAR和PLAY_END敏感外,它还有两个输入端

18、,分别接的是16进制双向计数器的CO与BO,正常工作时CO与BO都为0,所以不产生任何影响,但当16进制计数器产生了进位CO或借位BO时,将封锁I35使之不能产生PLAY_E信号,即当汽车运行到终点站后,语音播报就将停止,这样就可防止语音播报器又从头播报。因为这样的播报是错误的。正确的播报应该是改变播报的方向重新播报。因此,只有当按下CLEAR键后,CO或BO才会消失,语音播报才会重新正常地工作。(1) 16进制双向计数器COUNT16_U_D该模块有3个输入信号和三个输出信号,其中一个输出信号为逻辑向量输出信号。该逻辑向量输出信号为Q3.0,它是16进制计数器的BCD码输出信号,由4位BCD

19、码组成,代表计数器的计数值。另两个输出信号分别是进位输出信号CO和借位输出信号BO。每当加计数从1111变为0000后就使进位输出CO为高电平,每当减计数从0000变为1111后就使借位输出BO为高电平。CP_D是减法计数器的计数输入信号,CP_U是加法计数器的计数输入信号,RD是高有效计数器异步清零信号。16进制双向计数器的工作时序如图5所示。从图中可以看出计数器是双向计数的,在CP_U的作用下是加计数,在CP_D的作用下是减计数,并且不管是加计数还是减计数只要产生了进位信号CO或借位信号BO计数器都将停止计数,直到异步清零信号RD有效后,才会重新开始计数。图5 16进制双向计数器工作时序(

20、2) 16进制计数器COUNT_16该模块有两个输入信号和两个输出信号,其中一个输出信号为逻辑向量输出信号。该逻辑向量输出信号为Q3.0,它是16进制计数器的BCD码输出信号,由4位BCD码组成,代表计数器的计数值。另一个输出信号是进位输出信号CO。每当计数到1111后就使进位输出CO为低电平。clk是计数器的计数输入信号,clear是高有效计数器异步清零信号。16进制计数器的工作时序如图6所示。图6 16进制计数器工作时序(3) 按键处理KEYIN该模块有4个输入信号和三个输出信号,其中一个输入信号为时钟输入信号,其余三个输入信号为按键输入,即key1、key2和key3。输出信号out1、

21、out2和out3分别是三个输入信号的延时去抖动输出信号。延时的长短与输入时钟的周期有关。按键处理的工作时序如图7所示。从图中可以看出按键的抖动被彻底地去掉了。通常按键的抖动时间不大于10ms,因此为去抖动目的输入时钟信号的频率可取50Hz,如本例中的I7和I28,而如果仅仅是延时目的,则输入时钟的频率只与所需延时的长短有关,如本例中的I32。图7 按键处理模块工作时序图(4) 分频模块COUNT_X该模块有一个输入信号和两个输出信号,输入信号为16MHz 时钟输入信号,输出信号为系统所需的1kHz和50Hz信号,即CLK1kHz、CLK50Hz。通常按键的抖动时间不大于10ms,因此为去抖动

22、目的输入时钟信号的频率可取50Hz,延时输入时钟的频率只与所需延时的长短有关,如本例中选用延时输入时钟的频率为1kHz。分频模块的工作时序如图8所示。图8 分频模块工作时序图(5) 256字节只读存储器ROM256 8该模块有三个输入信号和一个输出信号,其中两个输入信号为存储器使能信号g1和g2,另一个输入信号为存储器地址输入信号,即ADR7:0,此为8位逻辑向量,因此存储器的寻址能力为256,即存储器有256个存储单元。输出信号为8位宽度的数据输出。本系统中存储器用于存储语音信息播放时的分段地址。语音芯片ISD1420的分段地址为8位,所以这里设计的存储器的数据宽度也为8位。存储器模块的工作

23、时序如图9所示。图9 存储器模块工作时序图存储器分配原理是这样的,根据分析,每一条播报信息可以又8段组成,因此每一条语音信息占用8个存储单元,这8个存储单元分别存储8段语音信息的在语音芯片中的存储地址。总共9个站,除去起点站外,需要播报的只有8个站。由于每个站需要播报两次,因此共需报站16次。第一次播报在汽车离开上一站的时候,告诉乘客下一站是什么站,提醒需要下车的乘客作好准备,第二次播报在汽车到站以后,告诉乘客什么站已经到了,该下车的乘客请下车。从上面的分析可见,汽车从起点站运行到终点站的过程中,需要播报16条信息,每条信息由8段组成,因此共需要168=128个存储单元。汽车运行到终点站后,还

24、会原路返回。如果将前面运行的线路定义为正向行驶,那么原路返回的运行线路就定义为反向行驶。由于反向行驶时播报的内容和顺序不能与正向行驶的公用,因此反向行驶的播报内容也必须单独存储,所以,整个系统所需存储器容量为256字节。如下是只读存储器存储内容分配表,正向播报时ADR7=0,所以占用的是低128个存储器单元,反向播报时ADR7=1,所以占用的是高128个存储器单元。ADR6:3为0000时唯一确定了8个存储器单元,这8个单元由低3位地址ADR2:0确定。下面的表中每一行括号中的8个数值就是在ADR7和ADR6:3确定后的一条播报语音信息中组合的8段语音段的地址表。其中的“”表示空白语音,用于停

25、顿。正向播报ADR7=0*ADR6:3:0000 - (0 96 8 0 2 0 8 136) “下一站”“小龙坎” “前往” “小龙坎”“的乘客请做好准备”ADR6:3:0001 - (0 8 88 0 104 8 0 112) “小龙坎”“到了” “需要在”“小龙坎” “下车的乘客请下车”ADR6:3:0010 - (0 96 16 0 2 0 16 136) “下一站”“石桥铺” “前往” “石桥铺”“的乘客请做好准备”ADR6:3:0011 - (0 16 88 0 104 16 0 112) “石桥铺”“到了” “需要在”“石桥铺” “下车的乘客请下车”ADR6:3:0100 - (

26、0 96 24 0 2 0 24 136) “下一站”“歇台子” “前往” “歇台子”“的乘客请做好准备”ADR6:3:0101 - (0 24 88 0 104 24 0 112) “歇台子”“到了” “需要在”“歇台子” “下车的乘客请下车”ADR6:3:0110 - (0 96 32 0 2 0 32 136) “下一站”“石油路” “前往” “石油路”“的乘客请做好准备”ADR6:3:0111 - (0 32 88 0 104 32 0 112) “石油路”“到了” “需要在”“石油路” “下车的乘客请下车”ADR6:3:1000 - (0 96 40 0 2 0 40 136) “下

27、一站”“大坪” “前往” “大坪”“的乘客请做好准备”ADR6:3:1001 - (0 40 88 0 104 40 0 112) “大坪”“到了” “需要在”“大坪” “下车的乘客请下车”ADR6:3:1010 - (0 96 48 0 2 0 48 136) “下一站”“鹅岭公园” “前往” “鹅岭公园”“的乘客请做好准备”ADR6:3:1011 - (0 48 88 0 104 48 0 112) “鹅岭公园”“到了” “需要在”“鹅岭公园” “下车的乘客请下车”ADR6:3:1100 - (0 96 56 0 2 0 56 136) “下一站”“两路口” “前往” “两路口”“的乘客请

28、做好准备”ADR6:3:1101 - (0 56 88 0 104 56 0 112) “两路口”“到了” “需要在”“两路口” “下车的乘客请下车”ADR6:3:1110 - (0 96 72 0 64 0 80 136) “下一站”“终点站” “解放碑” “所有”“的乘客请做好准备”ADR6:3:1111 - (0 72 64 0 88 0 80 112) “终点站”“解放碑” “到了” “所有”“(下车)的乘客请下车”反向播报:ADR7=1*ADR6:3:0000 - (0 96 56 0 2 0 56 136) “下一站”“两路口” “前往” “两路口”“的乘客请做好准备”ADR6:3

29、:0001 - (0 56 88 0 104 56 0 112) “两路口”“到了” “需要在”“两路口” “下车的乘客请下车”ADR6:3:0010 - (0 96 48 0 2 0 48 136) “下一站”“鹅岭公园” “前往” “鹅岭公园”“的乘客请做好准备”ADR6:3:0011 - (0 48 88 0 104 48 0 112) “鹅岭公园”“到了” “需要在”“鹅岭公园” “下车的乘客请下车”ADR6:3:0100 - (0 96 40 0 2 0 40 136) “下一站”“大坪” “前往” “大坪”“的乘客请做好准备”ADR6:3:0101 - (0 40 88 0 104 40 0 112) “大坪”“到了” “需要在”“大坪” “下车的乘客请下车”ADR6:3:0110 - (0 96 32 0 2 0 32 136) “下一站”“石油路” “前往” “石油路”“的乘客请做好准备”ADR6:3:0111 - (0 32 88 0 104 3

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1