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

上传人:b****5 文档编号:8103055 上传时间:2023-01-28 格式:DOCX 页数:21 大小:336.72KB
下载 相关 举报
公共汽车智能语音报站系统.docx_第1页
第1页 / 共21页
公共汽车智能语音报站系统.docx_第2页
第2页 / 共21页
公共汽车智能语音报站系统.docx_第3页
第3页 / 共21页
公共汽车智能语音报站系统.docx_第4页
第4页 / 共21页
公共汽车智能语音报站系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

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

《公共汽车智能语音报站系统.docx》由会员分享,可在线阅读,更多相关《公共汽车智能语音报站系统.docx(21页珍藏版)》请在冰豆网上搜索。

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

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

课题:

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

一、设计内容

1.基本要求:

采用复杂可编程逻辑器件设计一个功能完善、具有实用价值的智能语音报站系统,通过按键控制可以用语音播报公共汽车所有的到站信息和下一目标站的信息,甚至在站间还可任意穿插简短的广告信息和城市文明规X,给乘客提供轻松、健康的乘车环境。

2.提高要求:

具有站位显示和人性化的录音操作功能。

二、技术要求

1.语音信息分17段以上,至少保证9站线路的语音播报信息的存储;

2.能按报站要求任意组合放音;

3.具有正报、反报、重报、回退、复位功能(其中回退为提高要求);

4.有加、减、正反选择、重复、清零、录音、放音、地址选择等按键或DIP开关;

5.输出不失真功率大于125mW;

6.能实现指定地址人工控制长度的录音;

7.能用LED指示当前站的位置(提高要求);

8.每次播报时,每条信息必须播报两次;

9.具有在系统编程功能;

三、设计原理

1.ISD1420单片20秒高保真语音录放IC

ISD1420为美国ISD公司出品的单片语音录放电路。

内部电路由振荡器、语音存储单元、前置放大电路、抗干扰滤波器和输出放大器组成。

最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源和少数电阻电容组成。

录音内容存入E2PROM永久存储单元,具有零功率信息存储功能,这个独一无二的方法是借助于美国ISD公司的专利——直接模拟存储技术(DASTTM)实现的。

利用它,语音和音频信号被直接存储,以其原本的模拟形式进入E2PROM存储器。

直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现,不仅语音音质优美,而且具有断电语音保护功能。

⑴特点:

●所需外围元件少,电路简单,操作方便。

●采用直接模拟量存贮技术DAST(DirectAnalogStrorageTechnology),再现优质原声,没有常见的背景噪声。

●零功率信息存贮,省掉备用电源。

●信息可保存10年以上,可反复录放达10万次之多。

●语音固化无需专用编程或开发装置。

●较强的选址能力,可把存储器分成160段来进行管理。

●具有自动省电模式,此时仅需0.5µA的保持电流。

●单一电源供电。

⑵电气特性:

●工作电压VDD:

5V.

●静态电流ISTB:

典型值0.85µA,最大值为2µA.

●工作电流IOP:

典型值15mA,最大值30mA

⑶电路图形符号与管脚功能说明

图1电路图形符号

各管脚功能如下:

名称

管脚

功能

名称

管脚

功能

A0~A5

1~6

地址

ANAOUT

21

模拟输出

A6、A7

9、10

地址(MSB)

ANAIN

20

模拟输入

VCCD

28

数字电路电源

AGC

19

自动增益控制

VCCA

16

模拟电路电源

MIC

17

麦克风输入

VSSD

12

数字地

MICREF

18

麦克风参考输入

VSSA

13

模拟地

PLAYE

24

放音(边沿触发)

SP+、-

14、15

喇叭输出+、-

REC

27

录音

XCLK

26

外接定时器(可选)

RECLED

25

发光二极管接口

NC

7、8、11、22

空脚

PLAYL

23

放音(电平触发)

各管脚功能描述如下:

1).A0~A7地址输入端。

ISD1410除A3,其余均为空脚(NC)。

ISD1420的地址输入端具有两个功能:

①作为信息地址线用(A0~A7=LOW);②作为操作模选择用(A6和A7=HIGH)。

2).MIC驻极体话筒输入端。

驻极体话筒通过电容C将音频信号耦合到该输出端,C的电容值与该端内阻(10KΩ)决定ISD1420通频带下限频率。

3).MICREF驻极体话筒参考输入端。

4).ANAIN模拟信号输入端。

该端经C、R与ANAOUT端相连,语音通频带下限频率取决于C、R和该端输入阻抗(2.7kΩ),除MIC端,该端亦可作为模拟信号输入端。

5).ANAOUT来自驻极体话筒的输入信号被放大输出至该端,前置放大器的电压增益取决于AGC电平,对于小信号输入电平,其最大增益为24dB。

6).AGC自动增益控制端。

AGC可动态地调整前置放大器增益,而且可扩展加大MIC输入端的非失真信号的X围。

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.语音典型电路图

图2ISD1420典型应用电路

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所示。

图3CPLD控制逻辑框图

其中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键即可。

如果出现堵车等特殊情况,需要再次播报已经播报过的信息,驾驶员只需按下REPEAT键即可,该键可任意次重复执行。

如果出现汽车站点与播报信息错位的情况,则可以通过连续按ADD键快进或连续按SUB键快退进行调整。

时钟信号的作用是用于产生按键去抖动的50Hz信号和延时用的1kHz信号。

PLAY_END输入端不是一个按键输入,而是语音芯片的输出端,是低有效,该信号有效时表示当前播报的一段语音信息已经结束,利用该信息去触发下一段语音信息的播报,就可以使需要播报的一条完整的语音信息连续流畅地播放出来。

一条完整的语音信息由8段组成,如果每一条语音信息播报两次,则需要一个16进制的计数器,如图中的COUNT_16模块,也就是图中的I20。

图4CPLD控制逻辑顶层电路图

一条语音信息连续播放的原理如下:

任何时候只要按下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以指向上一条语音信息地址表的存储位置,而REPEAT将不改变ADR[6:

3]以指向当前条语音信息地址表的存储位置,按键CLEAR可以使ADR[6:

3]全为0以指向第一条语音信息地址表的存储位置。

按键ADD、SUB、REPEAT、CLEAR都有3个功能,第一个功能是前面讲的修改ADR[6:

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后又使语音芯片开始播放语音信息,但这次播放的是第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敏感外,它还有两个输入端,分别接的是16进制双向计数器的CO与BO,正常工作时CO与BO都为0,所以不产生任何影响,但当16进制计数器产生了进位CO或借位BO时,将封锁I35使之不能产生PLAY_E信号,即当汽车运行到终点站后,语音播报就将停止,这样就可防止语音播报器又从头播报。

因为这样的播报是错误的。

正确的播报应该是改变播报的方向重新播报。

因此,只有当按下CLEAR键后,CO或BO才会消失,语音播报才会重新正常地工作。

(1)16进制双向计数器COUNT16_U_D

该模块有3个输入信号和三个输出信号,其中一个输出信号为逻辑向量输出信号。

该逻辑向量输出信号为Q[3..0],它是16进制计数器的BCD码输出信号,由4位BCD码组成,代表计数器的计数值。

另两个输出信号分别是进位输出信号CO和借位输出信号BO。

每当加计数从1111变为0000后就使进位输出CO为高电平,每当减计数从0000变为1111后就使借位输出BO为高电平。

CP_D是减法计数器的计数输入信号,CP_U是加法计数器的计数输入信号,RD是高有效计数器异步清零信号。

16进制双向计数器的工作时序如图5所示。

从图中可以看出计数器是双向计数的,在CP_U的作用下是加计数,在CP_D的作用下是减计数,并且不管是加计数还是减计数只要产生了进位信号CO或借位信号BO计数器都将停止计数,直到异步清零信号RD有效后,才会重新开始计数。

图516进制双向计数器工作时序

(2)16进制计数器COUNT_16

该模块有两个输入信号和两个输出信号,其中一个输出信号为逻辑向量输出信号。

该逻辑向量输出信号为Q[3..0],它是16进制计数器的BCD码输出信号,由4位BCD码组成,代表计数器的计数值。

另一个输出信号是进位输出信号CO。

每当计数到1111后就使进位输出CO为低电平。

clk是计数器的计数输入信号,clear是高有效计数器异步清零信号。

16进制计数器的工作时序如图6所示。

图616进制计数器工作时序

(3)按键处理KEYIN

该模块有4个输入信号和三个输出信号,其中一个输入信号为时钟输入信号,其余三个输入信号为按键输入,即key1、key2和key3。

输出信号out1、out2和out3分别是三个输入信号的延时去抖动输出信号。

延时的长短与输入时钟的周期有关。

按键处理的工作时序如图7所示。

从图中可以看出按键的抖动被彻底地去掉了。

通常按键的抖动时间不大于10ms,因此为去抖动目的输入时钟信号的频率可取50Hz,如本例中的I7和I28,而如果仅仅是延时目的,则输入时钟的频率只与所需延时的长短有关,如本例中的I32。

图7按键处理模块工作时序图

(4)分频模块COUNT_X

该模块有一个输入信号和两个输出信号,输入信号为16MHz时钟输入信号,输出信号为系统所需的1kHz和50Hz信号,即CLK1kHz、CLK50Hz。

通常按键的抖动时间不大于10ms,因此为去抖动目的输入时钟信号的频率可取50Hz,延时输入时钟的频率只与所需延时的长短有关,如本例中选用延时输入时钟的频率为1kHz。

分频模块的工作时序如图8所示。

图8分频模块工作时序图

(5)256字节只读存储器ROM2568

该模块有三个输入信号和一个输出信号,其中两个输入信号为存储器使能信号g1和g2,另一个输入信号为存储器地址输入信号,即ADR[7:

0],此为8位逻辑向量,因此存储器的寻址能力为256,即存储器有256个存储单元。

输出信号为8位宽度的数据输出。

本系统中存储器用于存储语音信息播放时的分段地址。

语音芯片ISD1420的分段地址为8位,所以这里设计的存储器的数据宽度也为8位。

存储器模块的工作时序如图9所示。

图9存储器模块工作时序图

存储器分配原理是这样的,根据分析,每一条播报信息可以又8段组成,因此每一条语音信息占用8个存储单元,这8个存储单元分别存储8段语音信息的在语音芯片中的存储地址。

总共9个站,除去起点站外,需要播报的只有8个站。

由于每个站需要播报两次,因此共需报站16次。

第一次播报在汽车离开上一站的时候,告诉乘客下一站是什么站,提醒需要下车的乘客作好准备,第二次播报在汽车到站以后,告诉乘客什么站已经到了,该下车的乘客请下车。

从上面的分析可见,汽车从起点站运行到终点站的过程中,需要播报16条信息,每条信息由8段组成,因此共需要168=128个存储单元。

汽车运行到终点站后,还会原路返回。

如果将前面运行的线路定义为正向行驶,那么原路返回的运行线路就定义为反向行驶。

由于反向行驶时播报的内容和顺序不能与正向行驶的公用,因此反向行驶的播报内容也必须单独存储,所以,整个系统所需存储器容量为256字节。

如下是只读存储器存储内容分配表,正向播报时ADR[7]=0,所以占用的是低128个存储器单元,反向播报时ADR[7]=1,所以占用的是高128个存储器单元。

ADR[6:

3]为0000时唯一确定了8个存储器单元,这8个单元由低3位地址ADR[2:

0]确定。

下面的表中每一行括号中的8个数值就是在ADR[7]和ADR[6:

3]确定后的一条播报语音信息中组合的8段语音段的地址表。

其中的“”表示空白语音,用于停顿。

正向播报ADR[7]=0

************************************************************************

ADR[6:

3]:

0000------(09680208136)

“下一站”“小龙坎”“前往”“小龙坎”“的乘客请做好准备”

ADR[6:

3]:

0001------(0888010480112)

“小龙坎”“到了”“需要在”“小龙坎”“下车的乘客请下车”

ADR[6:

3]:

0010------(0961602016136)

“下一站”“石桥铺”“前往”“石桥铺”“的乘客请做好准备”

ADR[6:

3]:

0011------(016880104160112)

“石桥铺”“到了”“需要在”“石桥铺”“下车的乘客请下车”

ADR[6:

3]:

0100------(0962402024136)

“下一站”“歇台子”“前往”“歇台子”“的乘客请做好准备”

ADR[6:

3]:

0101------(024880104240112)

“歇台子”“到了”“需要在”“歇台子”“下车的乘客请下车”

ADR[6:

3]:

0110------(0963202032136)

“下一站”“石油路”“前往”“石油路”“的乘客请做好准备”

ADR[6:

3]:

0111------(032880104320112)

“石油路”“到了”“需要在”“石油路”“下车的乘客请下车”

ADR[6:

3]:

1000------(0964002040136)

“下一站”“大坪”“前往”“大坪”“的乘客请做好准备”

ADR[6:

3]:

1001------(040880104400112)

“大坪”“到了”“需要在”“大坪”“下车的乘客请下车”

ADR[6:

3]:

1010------(0964802048136)

“下一站”“鹅岭公园”“前往”“鹅岭公园”“的乘客请做好准备”

ADR[6:

3]:

1011------(048880104480112)

“鹅岭公园”“到了”“需要在”“鹅岭公园”“下车的乘客请下车”

ADR[6:

3]:

1100------(0965602056136)

“下一站”“两路口”“前往”“两路口”“的乘客请做好准备”

ADR[6:

3]:

1101------(056880104560112)

“两路口”“到了”“需要在”“两路口”“下车的乘客请下车”

ADR[6:

3]:

1110------(09672064080136)

“下一站”“终点站”“解放碑”“所有”“的乘客请做好准备”

ADR[6:

3]:

1111------(07264088080112)

“终点站”“解放碑”“到了”“所有”“(下车)的乘客请下车”

反向播报:

ADR[7]=1

************************************************************************

ADR[6:

3]:

0000------(0965602056136)

“下一站”“两路口”“前往”“两路口”“的乘客请做好准备”

ADR[6:

3]:

0001------(056880104560112)

“两路口”“到了”“需要在”“两路口”“下车的乘客请下车”

ADR[6:

3]:

0010------(0964802048136)

“下一站”“鹅岭公园”“前往”“鹅岭公园”“的乘客请做好准备”

ADR[6:

3]:

0011------(048880104480112)

“鹅岭公园”“到了”“需要在”“鹅岭公园”“下车的乘客请下车”

ADR[6:

3]:

0100------(0964002040136)

“下一站”“大坪”“前往”“大坪”“的乘客请做好准备”

ADR[6:

3]:

0101------(040880104400112)

“大坪”“到了”“需要在”“大坪”“下车的乘客请下车”

ADR[6:

3]:

0110------(0963202032136)

“下一站”“石油路”“前往”“石油路”“的乘客请做好准备”

ADR[6:

3]:

0111------(032880104320112)

“石油路”“到了”“需要在”“石油路”“下车的乘客请下车”

ADR[6:

3]:

1000------(0962402024136)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

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

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