PLD出租车计价器的设计
PLD出租车计价器的设计[20200128190534]
摘要
随着出租车日益普遍,了解在出租车上应用的计费系统,对我们日常生活也有帮助。使用PLD技术实现该系统,是深化PLD技术应用的良好途径。
出租车计价器在最初使用时的基本功能是根据行驶里程计价,要求精度高,可靠性好,但是传统的出租车计价器已经不能满足人们众多的使用要求, 因此必须加强对出租车计价器的多功能设计。本设计通过MAX+PLUS II 软件开发平台进行编程和软件仿真,模拟出租车计价器的各个功能。
*查看完整论文请+Q: 351916072
关键字:出租车计价器;PLD;MAX+PLUSII
引言 2
一、出租车计费器系统设计 4
(一)、系统总体结构 4
(二)、 功能模块 4
1、信号输入模块 5
2、数据转换模块 6
3、片选信号产生模块 9
4、动态扫描/译码/数码管显示模块 9
5、数码管控制模块 模块 10
6、分频模块 11
7、3-8译码器模块 12
二、整体工作情况 13
(一)模块连接 13
(二)硬件连接 13
三、硬件实现 13
结论 14
致谢 15
参考文献 16
附录: 17
引言
出租车行业在我国一项新兴行业,多年来国内大多数使用的计价器只具备比较单一的计量功能。目前全世界的计价器中大多数为台湾所生产。目前我国生产计价器的企业有很多,主要生产地在北京,上海,沈阳等地。出租车的计价器是一种专用的计量器,它安装在出租汽车上,能一直累加,并指示出行程中每一时刻乘客应付费用的总数,其金额值是计程和计时时间的一个函数。我国最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能,可以这么说,早期的计价器就是个里程表。但是伴随着科学技术的发展,慢慢的产生了第二代的计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化的功能,可以同时完成计时和计价的双功能。大规模集成电路的发展使计价器产生了第三代,也就是全电子化的计价器,当然其功能也在不断完善中。
出租车计价器在一开始使用时具备的主要功能是根据行驶里程计价,要求精度和可靠性好。随着电子技术的发展以及对计价器的不断改善,便产生了许许多多的附加功能。
PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确并且 简练地表示电路的逻辑功能,于是在现在的PLD的设计过程中广泛使用。常用的硬件描述语言有VHDL语言,VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁的能表达出其要表达的意思,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主打。
一、出租车计费器系统设计
(一)、系统总体结构
基于 CPLD 的出租车计费器的组成如图 1 所示。各部分主要功能包括:信号输入模块对车轮传感器进行计数,并以高低电平模拟出租车启动、停止、暂停、加速按钮,具有将信号输入的作用;数据转换模块的作用则是把计费模块输出的车费路程换成四位的十进制数据;译码模块是将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里和计费金额用4位LED数码管显示。
图1 系统总体框图
(二)、 功能模块
1、计费模块
此模块为计费模块(即总体结构中的信号输入模块) ,实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在车行3公里后按2.20元/km 计费,当计数器达到或超过20元时,每公里加收50%的车费,即按3.30元/km计 费。CLK、START、STOP、PAUSE、JS为输入信号,分别代表汽车的起动、停止、暂停和加速,CLK为扫描时钟,硬件实现时加入时钟信号,另有两个输出,即 CHEFEI和LUC,分别代表车费和路程,当车处于行驶状态时,此模块会自动记录 下路程与车费状况并作为转换模块的输入。
计费模块生成图 :
图2计费模块生成图
计费模块的时序仿真图:
图3计费模块的时序仿真图
图3中的stop为汽车停止输入端,上升沿有效;start为汽车启动输入端,上升沿有效;pause为汽车暂停输入端,上升沿有效;js为汽车加速输入端,上升沿有效。CLK为时钟源信号;chefei为汽车车费输出端,luc为汽车路程输出端。
由图3可知:当stop,Start,pause,js全为高电平时路程按5的速度增加,车费为700.当路程增加到300时,车费变为920,以后路程每增加100,车费增加220。
2、X模块
此模块为数据转换模块,功能是将计费模块产生的车费与路程的模拟量转 换成数字量并输出, 它是一个模为 10 的加法计数器, 可将计费模块输出的车费 和路程转换成 4 位的十进制数。其中 DACLK 为时钟信号,ASCORE、BSCORE 连接 计费模块的 CHEFEI 和 LUC,输出为 2 个 4 位的十进制数,可以分别表示路程和 车费情况。当车运行于不同状况时,此模块会将不同的车费与路程状况转换为数字量并输出。
X模块生成图 :
图4 X模块生成图
X模块的时序仿真图:
图5 X模块的时序仿真图
由图5看出,此模块会将不同的车费与路程状况转换为数字量并输出。
3、sel 模块
此模块为片选信号产生模块,功能是选择八段数码管按照设计要求进行正确的 显示。
Sel模块生成图 :
图6 Sel模块生成图
sel模块的波形图:
图7 sel模块的波形图
由图7可以看出,当CLK加入时钟信号时,a从000到111逐个变化,该模块可将模拟信号进行片选并有对应的数码管进行显示。
4、xxx1 模块
此模块为显示模块中的动态扫描/译码/数码管显示模块,功能是将已转换好的 数字量加载到两个 4 位七段数码管上并加以显示。 C[2..0]为片选端, 用来连接 片选模块的片选输出端 A[2..0],A1、A2、A3、A4、B1、B2、B3、B4 分别连接 数据转换模块的八个转换输出端,因为设计要求路程和车费都要用 2 位小数点 来表示,所以须设置一个控制小数点的变量,即程序中的 DP 端,D[3..0]连接 数码管控制模块的输入端。
xxx1模块生成图:
图8 xxx1模块生成图
xxx1模块的时序仿真图:
图9 xxx1模块的时序仿真图
由图9可知,输入信号C为3位片选信号其变化范围为0到7,输入信号c从0到7逐个变化时,输出d逐个输a1,a2,a3,a4,b1,b2,b3,b4的输入信号。
5、DI 模块
此模块为数码管控制模块,功能是控制七段数码管对转换后的数字量进行 显示,使其完成路程和车费的显示。其中 D[3..0]连接动态扫描/译码/数码管 显示模块的 D[3..0]端,Q[6..0]连接七段数码管,利用其控制特性在数码管上 显示出车费和路程。
DI模块生成图:
图10 DI模块生成图
DI模块的时序仿真图:
图11 DI模块的时序仿真图
从图11中可看出,此模块可控制数码管完成对数字量的显示。当输入为0000-1000时数码管分别显示0,1,2,3,4,5,6,7,8。当输入为其他时数码管显示9。
6、DIV 模块
DIV模块将实验箱上 50Mhz 脉冲信号分频为 500hz。
DIV模块生成图:
图12 DIV模块生成图
DIV模块时序仿真图:
图13 DIV模块时序仿真图
由图13看出DIV将时钟信号分频,使频率减小。
7、 decode3_8 模块
sel 通过 decode3_8 模块选择数码管
decode3_8 模块源程序:
decode3_8模块生成图:
图14 decode3_8模块生成图
decode3_8模块时序仿真波形图:
图15 decode3_8模块时序仿真波形图
由图15看出,decode3_8模块选择数码管,当sel信号从0-7变化时,依次选择1-8八个数码管。
摘要
随着出租车日益普遍,了解在出租车上应用的计费系统,对我们日常生活也有帮助。使用PLD技术实现该系统,是深化PLD技术应用的良好途径。
出租车计价器在最初使用时的基本功能是根据行驶里程计价,要求精度高,可靠性好,但是传统的出租车计价器已经不能满足人们众多的使用要求, 因此必须加强对出租车计价器的多功能设计。本设计通过MAX+PLUS II 软件开发平台进行编程和软件仿真,模拟出租车计价器的各个功能。
*查看完整论文请+Q: 351916072
关键字:出租车计价器;PLD;MAX+PLUSII
引言 2
一、出租车计费器系统设计 4
(一)、系统总体结构 4
(二)、 功能模块 4
1、信号输入模块 5
2、数据转换模块 6
3、片选信号产生模块 9
4、动态扫描/译码/数码管显示模块 9
5、数码管控制模块 模块 10
6、分频模块 11
7、3-8译码器模块 12
二、整体工作情况 13
(一)模块连接 13
(二)硬件连接 13
三、硬件实现 13
结论 14
致谢 15
参考文献 16
附录: 17
引言
出租车行业在我国一项新兴行业,多年来国内大多数使用的计价器只具备比较单一的计量功能。目前全世界的计价器中大多数为台湾所生产。目前我国生产计价器的企业有很多,主要生产地在北京,上海,沈阳等地。出租车的计价器是一种专用的计量器,它安装在出租汽车上,能一直累加,并指示出行程中每一时刻乘客应付费用的总数,其金额值是计程和计时时间的一个函数。我国最早的计价器全部采用机械齿轮结构,只能完成简单的计程功能,可以这么说,早期的计价器就是个里程表。但是伴随着科学技术的发展,慢慢的产生了第二代的计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化的功能,可以同时完成计时和计价的双功能。大规模集成电路的发展使计价器产生了第三代,也就是全电子化的计价器,当然其功能也在不断完善中。
出租车计价器在一开始使用时具备的主要功能是根据行驶里程计价,要求精度和可靠性好。随着电子技术的发展以及对计价器的不断改善,便产生了许许多多的附加功能。
PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确并且 简练地表示电路的逻辑功能,于是在现在的PLD的设计过程中广泛使用。常用的硬件描述语言有VHDL语言,VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁的能表达出其要表达的意思,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主打。
一、出租车计费器系统设计
(一)、系统总体结构
基于 CPLD 的出租车计费器的组成如图 1 所示。各部分主要功能包括:信号输入模块对车轮传感器进行计数,并以高低电平模拟出租车启动、停止、暂停、加速按钮,具有将信号输入的作用;数据转换模块的作用则是把计费模块输出的车费路程换成四位的十进制数据;译码模块是将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里和计费金额用4位LED数码管显示。
图1 系统总体框图
(二)、 功能模块
1、计费模块
此模块为计费模块(即总体结构中的信号输入模块) ,实现计费功能,计费标准为:按行驶里程计费,起步价为7.00元,并在车行3公里后按2.20元/km 计费,当计数器达到或超过20元时,每公里加收50%的车费,即按3.30元/km计 费。CLK、START、STOP、PAUSE、JS为输入信号,分别代表汽车的起动、停止、暂停和加速,CLK为扫描时钟,硬件实现时加入时钟信号,另有两个输出,即 CHEFEI和LUC,分别代表车费和路程,当车处于行驶状态时,此模块会自动记录 下路程与车费状况并作为转换模块的输入。
计费模块生成图 :
图2计费模块生成图
计费模块的时序仿真图:
图3计费模块的时序仿真图
图3中的stop为汽车停止输入端,上升沿有效;start为汽车启动输入端,上升沿有效;pause为汽车暂停输入端,上升沿有效;js为汽车加速输入端,上升沿有效。CLK为时钟源信号;chefei为汽车车费输出端,luc为汽车路程输出端。
由图3可知:当stop,Start,pause,js全为高电平时路程按5的速度增加,车费为700.当路程增加到300时,车费变为920,以后路程每增加100,车费增加220。
2、X模块
此模块为数据转换模块,功能是将计费模块产生的车费与路程的模拟量转 换成数字量并输出, 它是一个模为 10 的加法计数器, 可将计费模块输出的车费 和路程转换成 4 位的十进制数。其中 DACLK 为时钟信号,ASCORE、BSCORE 连接 计费模块的 CHEFEI 和 LUC,输出为 2 个 4 位的十进制数,可以分别表示路程和 车费情况。当车运行于不同状况时,此模块会将不同的车费与路程状况转换为数字量并输出。
X模块生成图 :
图4 X模块生成图
X模块的时序仿真图:
图5 X模块的时序仿真图
由图5看出,此模块会将不同的车费与路程状况转换为数字量并输出。
3、sel 模块
此模块为片选信号产生模块,功能是选择八段数码管按照设计要求进行正确的 显示。
Sel模块生成图 :
图6 Sel模块生成图
sel模块的波形图:
图7 sel模块的波形图
由图7可以看出,当CLK加入时钟信号时,a从000到111逐个变化,该模块可将模拟信号进行片选并有对应的数码管进行显示。
4、xxx1 模块
此模块为显示模块中的动态扫描/译码/数码管显示模块,功能是将已转换好的 数字量加载到两个 4 位七段数码管上并加以显示。 C[2..0]为片选端, 用来连接 片选模块的片选输出端 A[2..0],A1、A2、A3、A4、B1、B2、B3、B4 分别连接 数据转换模块的八个转换输出端,因为设计要求路程和车费都要用 2 位小数点 来表示,所以须设置一个控制小数点的变量,即程序中的 DP 端,D[3..0]连接 数码管控制模块的输入端。
xxx1模块生成图:
图8 xxx1模块生成图
xxx1模块的时序仿真图:
图9 xxx1模块的时序仿真图
由图9可知,输入信号C为3位片选信号其变化范围为0到7,输入信号c从0到7逐个变化时,输出d逐个输a1,a2,a3,a4,b1,b2,b3,b4的输入信号。
5、DI 模块
此模块为数码管控制模块,功能是控制七段数码管对转换后的数字量进行 显示,使其完成路程和车费的显示。其中 D[3..0]连接动态扫描/译码/数码管 显示模块的 D[3..0]端,Q[6..0]连接七段数码管,利用其控制特性在数码管上 显示出车费和路程。
DI模块生成图:
图10 DI模块生成图
DI模块的时序仿真图:
图11 DI模块的时序仿真图
从图11中可看出,此模块可控制数码管完成对数字量的显示。当输入为0000-1000时数码管分别显示0,1,2,3,4,5,6,7,8。当输入为其他时数码管显示9。
6、DIV 模块
DIV模块将实验箱上 50Mhz 脉冲信号分频为 500hz。
DIV模块生成图:
图12 DIV模块生成图
DIV模块时序仿真图:
图13 DIV模块时序仿真图
由图13看出DIV将时钟信号分频,使频率减小。
7、 decode3_8 模块
sel 通过 decode3_8 模块选择数码管
decode3_8 模块源程序:
decode3_8模块生成图:
图14 decode3_8模块生成图
decode3_8模块时序仿真波形图:
图15 decode3_8模块时序仿真波形图
由图15看出,decode3_8模块选择数码管,当sel信号从0-7变化时,依次选择1-8八个数码管。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4594.html