出租车自动计费器设计(课程设计报告模板)课件_第1页
出租车自动计费器设计(课程设计报告模板)课件_第2页
出租车自动计费器设计(课程设计报告模板)课件_第3页
出租车自动计费器设计(课程设计报告模板)课件_第4页
出租车自动计费器设计(课程设计报告模板)课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目目 录录 1 绪论.1 1.1 设计背景.1 1.2 QUARTUS II 简介.1 1.3 VHDL 语言基础 .2 2 出租车计费器总体设计结构.2 2.1 系统设计要求和目的.2 2.2.1 系统设计要求.2 2.2.1 系统设计目的.2 2.2 设计思路.3 2.3 系统总体结构.3 2.4 出租车计费器系统工作流程图.4 3 出租车计费器的实现.5 3.1 出租车计费器的顶层原理图.5 3.2 系统各功能模块的实现.5 3.2.1 计费模块 JIFEI.5 3.2.2 计量模块 JILIANG.6 3.2.3 显示控制模块 SELTIME.7 3.2.4 显示模块 DELED .7 4 出租车计费器系统仿真及分析.8 4.1 计费系统的仿真.8 4.2 单元模块的仿真及分析.10 4.2.1 译码显示模块的仿真及分析.10 4.2.2 显示控制模块的仿真及分析.11 4.2.3 计量模块的仿真及分析.12 4.2.4 计费模块的仿真及分析.12 5 锁定管脚及硬件实现.13 5.1 锁定管脚图.13 5.2 硬件实现.13 5.2.1 显示结果的几种情况.14 5.2.2 硬件实现总结.15 6 设计体会与总结.16 参考文献.17 附 录.18 1 JILIANG 模块的 VHDL 程序.18 2 JIFEI 模块的 VHDL 程序.19 3 SELTIME 控制模块的 VHDL 程序.20 4 DELED 模块的 VHDL 程序 .21 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 1 1 绪论绪论 1.1 设计背景设计背景 随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速, 出租车已经成为人们日常出行选择较为普通的交通工具。于是,出租车行业以 低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业 的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。汽车计 价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租 车中最重要的工具,它关系着交易双方的利益。具有良好性能的计价器无论是 对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究 也是具有一定意义的。出租车计费器是出租车营运收费的专用智能化仪表,是 出租车市场规范化,标准化以及减少司机与乘客之间发生纠纷的重要设备。一 种功能完备,简单易用,计量准确的出租车计费器是加强出租车行业管理,提 高服务质量的必需品。本设计就是采用 VHDL 硬件描述语言作为设计手段,采 用自己的设计思路,得到一种出租车计价系统的软件结构,通过 Quartus II 6.0 软件下进行仿真,证明所设计的电路系统完成了出租车计价的功能,各项指标 符合设计要求,具有一定的实用性。 1.2 QUARTUS II 简介简介 QUARTUS II 是 Altera 公司的综合性 CPLD/FPGA 开发软件,支持原理图、 VHDL、VerilogHDL 等多种设计输入形式,内嵌自有的综合器以及仿真器,可 以完成从设计输入到硬件配置的完整 CPLD 设计流程。QUARTUS II 支持 Altera 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可 编程逻辑设计于一体,是一种综合性的开发平台。Altera QUARTUS II 作为一 种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越 受到数字系统设计者的欢迎。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 2 1.3 VHDL 语言基础语言基础 一般而言,一个相对完整的 VHDL 语言程序至少应三个基本组成部分: 库(Library)、程序包(Package)使用说明;实体(Entity)说明;实体 对应的结构体(Architecture)说明。其中,库、程序包使用说明用于打开(调 用)本设计实体将要用到的库、程序包;实体说明用于描述该设计实体与外界 的接口信号说明,是可视部分;结构体说明用于描述该设计实体内部工作的逻 辑关系,是不可视部分。在一个实体中,允许含有一个或多个结构体,而在每 一个结构体中又可以含有一个或多个进程以及其他的语句。根据需要,实体还 可以有配置说明语句。配置说明语句主要用于以层次化的方式对特定的设计实 体进行元件例化,或是为实体选定某个特定的结构体。 2 出租车计费器出租车计费器总体设计结构总体设计结构 2.1 系统设计要求和目的系统设计要求和目的 2.2.1 系统设计要求系统设计要求 1.起步价为 5.0 元,起步公里为 3 公里; 2.超过 3 公里,每公里按 1 元收费,也可每 0.1 公里按 0.1 元收费; 3.等候时间累计 1 分钟,按每分钟 0.1 元收费; 4.用三个数码管显示总金额,最大值为 99.9 元;用三个数码管显示总里程, 最大值 99.9 公里;用两个数码管显示等待时间,最大值 99 分钟。 2.2.1 系统设计目的系统设计目的 1.通过这次实验设计使我们加深对 EDA 技术与数字系统设计相关理论和概 念的理解,培养我们的理论联系实际的能力,特别是实际动手能力。 2.学习使用 QUARTUS II 软件设计。 3.根据原理图学会用 VHDL 语言设计时序电路。 4.学会绘制功能仿真波形图。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 3 2.2 设计思路设计思路 根据设计要求,电路具有计时、计程、计费功能,用数码管显示行驶公里 数、等待时间、收费金额,行车里程和等待时间的处理电路将汽车行驶的里程 数、转换成与之成正比的计费脉冲,然后由计费电路转换成收费金额,实验中 以一个脉冲模拟汽车前进十米,则每 100 个脉冲表示 1 公里,3 公里以后每 0.1 公里产生一个计费脉冲,一个 1HZ 的脉冲用来表示等待时间,60 个脉冲代表 1 分钟,1 分钟即 60 个脉冲产生一个等待计费脉冲,然后用计费电路对计费脉冲 进行计费。 2.3 系统总体结构系统总体结构 图 2-1 系统总体结构图 出租车计费器的组成如上图所示,通过控制模块以高低脉冲模拟出租汽车 启动、行驶、暂停,具有控制作用;通过控制模块控制出租车的状态来选择出 租车是计里程还是计等待时间,相应产生的时间计费脉冲信号和里程脉冲信号 来计费,译码/动态扫描模块将等待时间、路程与费用的数值译码后用动态扫描 的方式驱动数码管;数码管显示模块将里程数、等待时间和计费金额用数码管 显示。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 4 2.4 出租车计费器系统工作流程图出租车计费器系统工作流程图 图 2-2 出租车计费系统工作流程图 出租车载客后,启动计费器,整个系统开始工作,进入初始化状态,即计 程从 0 开始,计费从 5.0 元开始。再根据 BREAK 信号判断行驶还是暂停。若是 行驶状态,计费器开始进行里程计数,当里程超过 3 公里时,计费器开始累加, 按每 0.1 公里收费 0.1 元计算,计程器则继续,否则计费器不变。若是暂停状态, 计费器开始进行等候时间计数,当等候时间累计 1 分钟,则每分钟 0.1 元计费。 最后将等候时间、里程、计费都显示出来。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 5 3 出租车计费器的实现出租车计费器的实现 3.1 出租车计费器的顶层原理图出租车计费器的顶层原理图 图 3-1 出租车计费器顶层原理图 原理图中输入部分分别是 CLK:秒脉冲信号,1 个脉冲代表 1 秒,则 60 个 脉冲表示 1 分钟。CLK1:10 米脉冲信号,1 个脉冲代表 10 米,则 10 个脉冲表 示 100 米,100 个脉冲代表 1 公里。START:计程车开启信号;DRIVE:计费器 启动信号;BREAK:等待信号,SEL 为计数控制信号输出端。 3.2 系统各功能模块的实现系统各功能模块的实现 3.2.1 计费模块计费模块 JIFEI 计费(JIFEI)模块也是本系统的核心,完成起步价计费,等待时间计费, 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 6 里程计费功能。计费器启动,显示起步价 5.0 元,之后每来一个行驶里程计费 脉冲或者等待时间计费脉冲,计费金额自动加 0.1 元。计费显示用 3 位数码管, 所以计费最大值为 99.9 元。其中 CH2 表示费用的十位,CHI 表示费用的个位, CH0 表示费用的十分位。B 为等待时间计费脉冲信号或里程计费脉冲信号。 图 3-2 JIFEI 模块图 3.2.2 计量模块计量模块 JILIANG 图 3-3 JILIANG 模块图 本模块是系统的核心模块之一,能够对外部的行驶距离脉冲、等待时间脉 冲进行计数。因为行驶距离每脉冲代表 10 米,所以计满 100 个数就输出一个行 驶距离计费脉冲,因为 3 公里之内属于起步价,所以前 3 公里内不输出行驶距 离计费脉冲,因为用 3 位数码管来显示行驶距离,其中两位整数,一位小数, 所以行驶距离最小分辨率为 0.1 公里,行驶距离脉冲每计 10 个数,行驶距离输 出加 0.1,行驶距离最大值为 99.9 公里。其中 KM2 为里程的十位,KM1 为里程 的个位,KM0 为里程的十分位。等待时间脉冲频率为 1HZ,所以一个脉冲代表 1 秒,60 个等待脉冲是 1 分钟,输出等待时间加 1,等待时间满 1 分钟计一次 费,所以对等待时间脉冲计数,计满 60 个数就输出一个等待计费脉冲。等待时 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 7 间最大值为 99 分钟。MIN1 为等待时间的十位,MIN0 为等待时间的个位。将 行驶距离、等待时间送到 SELTIME 模块,时间与里程计费脉冲送到计费模块完 成里程、等待时间的计费功能。B1 为超过 3 公里后,每 0.1 公里产生的计费脉 冲。B2 为每等待一分钟产生的计费脉冲。 3.2.3 显示控制模块显示控制模块 SELTIME 图 3-4 SELTIME 模块图 SELTIME 模块起显示控制作用,控制等待时间、行驶里程、费用在数码管 上的显示位置。sel 为计数控制信号输出端,功能主要是利用其计数的八个状态, 使 daout 在其每个状态下选择某一输入数据,进而将选择的的数据送入到 DELED 模块。dp 为小数点脉冲控制信号,当该模块输出的值为里程的个位、 费用的个位时,需要考虑小数点的存在,即此时 dp=1,在其他不需要小数 点的情况下,dp=0,最后 dp 将信号输出到 DELED 模块。 3.2.4 显示模块显示模块 DELED 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 8 图 3-5 DELED 模块图 DELED 模块把送入的每个四位数据转换为 7 段码送出显示,能够使数码管 正常显示送入的数据。其中 DP 为小数点输入信号。 4 出租车计费器系统仿真及分析出租车计费器系统仿真及分析 4.1 计费系统的仿真计费系统的仿真 图 4-1 出租车启动时计费系统功能仿真图 由图 4-1 可知,当出租车未启动时,里程、等待时间、费用均为 0。出租 车刚启动时,里程、等待时间为 0,费用为出租车起步价 5 元。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 9 图 4-2 出租车等待时计费系统功能仿真图 由图 4-2 可知,当出租车在等待过程中,行驶里程 16.2 公里,等待时间为 32 分钟时,出租车的费用为:5+(16.2-3)1+320.1=21.4 元,与仿真结果 一致。 图 4-3 出租车行驶时计费系统功能仿真图 由图 4-3 可知,当出租车行驶到 66.6 千米,等待时间 60 分钟时,由仿真结 果可得出费用为 74.6 元;根据设计要求计算可得费用为:5+(66.6-3) 1+600.1=74.6 元。仿真结果与计算值一致,验证了设计的正确性。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 10 图 4-4 出租车停车时计费系统功能仿真图 当出租车停车时,出租车上的时间、里程和费用清零,为下次计费的开始 做准备。 4.2 单元模块的仿真及分析单元模块的仿真及分析 4.2.1 译码显示模块的仿真及分析译码显示模块的仿真及分析 图 4-5 译码显示模块的功能仿真图 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 11 图 4-5 为译码显示模块的功能仿真波形图,DP、S 为信号输入端,也是显 示控制模块的信号输出端口,ABCDEFGH 八个端口为八位二进制的输出端口。 假设 DOUT=“HGFEDCBA”,由上图可以看出: 1. DP=0 时: 当 S(3 downto 0)=”0000”,则 DOUT=”; 当 S(3 downto 0)=”0001”,则 DOUT=”; 当 S(3 downto 0)=”0010”,则 DOUT=”; 当 S(3 downto 0)=”0011”,则 DOUT=”; 当 S(3 downto 0)=”0100”,则 DOUT=”; 当 S(3 downto 0)=”0101”,则 DOUT=”; 当 S(3 downto 0)=”0110”,则 DOUT=”; 当 S(3 downto 0)=”0111”,则 DOUT=”; 当 S(3 downto 0)=”1000”,则 DOUT=”; 当 S(3 downto 0)=”1001”,则 DOUT=”; 当 S(3 downto 0)等于上述值以外的值时,则 DOUT=”。 2. DP=1 时: 当 S(3 downto 0)=”0000”,则 DOUT=”; 当 S(3 downto 0)=”0001”,则 DOUT=”; 当 S(3 downto 0)=”0010”,则 DOUT=”; 当 S(3 downto 0)=”0011”,则 DOUT=”; 当 S(3 downto 0)=”0100”,则 DOUT=”; 当 S(3 downto 0)=”0101”,则 DOUT=”; 当 S(3 downto 0)=”0110”,则 DOUT=”; 当 S(3 downto 0)=”0111”,则 DOUT=”; 当 S(3 downto 0)=”1000”,则 DOUT=”; 当 S(3 downto 0)=”1001”,则 DOUT=”; 当 S(3 downto 0)等于上述值以外的值时,则 DOUT=”。 4.2.2 显示控制模块的仿真及分析显示控制模块的仿真及分析 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 12 图 4-6 显示控制模块的功能仿真图 图 4-6 为显示控制模块功能仿真图,其中 clk 为时钟脉冲输入端,sel 为计 数控制信号输出端,daout 为 sel 所控制状态下的输出到数码管的位选信号,dp 为小数点控制输出信号。可以看出,当时钟沿上升时刻到来时,计数器的输出 sel 就自动加 1,当计数器输出端加到“111”时,再来一个脉冲上升沿,则计数的 输出端 sel 变为“000”,该显示控制模块的功能主要是利用其计数的八个状态, 进而去轮流控制数码管的位选信号。由图 4-6 可知:当 sel=“000”时,则 daout=CH0;当 sel=“001”时,daout=CH1;当 sel=“010”时,daout=CH2; 当 sel=“011”时,daout=KM0;当 sel=“100”时,daout=KM1;当 sel=“101”时,daout=KM2;当 sel=“110”时,daout=MIN0;当 sel=“111” 时,daout=MIN1。由于 KM1、CH1 表示里程的个位和费用的个位,其后都存 在小数,故在设计中当显示 KM1、CH1 时须加入小数点,此时 dp=1,在 其他没有小数点的情况时 dp=0。 4.2.3 计量模块的仿真及分析计量模块的仿真及分析 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 13 图 4-7 计量模块的功能仿真图 图 4-7 为计量模块的功能仿真图,START 信号为高电平时(即出租车启动) 。当 DRIVE 为高电平且 BREAK 为低电平时,出租车为行驶状态,此时里程计 数模块开始计数,每经过 10 个 CLK1 脉冲信号,里程加 0.1 公里,当里程计数 大于 3 公里时,每计 0.1 公里产生 1 个 B1 脉冲信号。当 DRIVE 为高电平且 BREAK 为高电平时,出租车为暂停状态,此时等待时间计数模块开始计数,每 经过 60 个 CLK 脉冲信号,时间加 1 分钟,每计 1 分钟产生一个 B2 脉冲信号。 B1 和 B2 分别为里程计费脉冲和等待时间计费脉冲。 4.2.4 计费模块的仿真及分析计费模块的仿真及分析 图 4-8 为计费模块的功能仿真图当 START 处于高电平且 DRIVE 处于高电 平时,每送入一个计费脉冲且计费脉冲处于上升沿时,CH0 自动加 1(即每送 入一个计费脉冲加 0.1 元)。CH0、CH1、CH2 为十进制计数。CH2 表示费用 的十位,CH1 表示费用的个位,CH0 表示费用的十分位,计费的最大值为 99.9 元。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 14 图 4-8 计费模块的功能仿真图 5 锁定管脚及硬件实现锁定管脚及硬件实现 5.1 锁定管脚图锁定管脚图 在验证出租车计费器系统的功能之前,需要清楚实验箱与各个信号之间的 对应关系,参照资料得出本设计中各引脚的对应情况如下: 图 5-1 顶层原理图 5.2 硬件实现硬件实现 通过硬件下载,该电路可以完成硬件实现,芯片管脚定义可以直接用编 辑pin 文件。完成管脚定义后选择器件,编译后生成.sof 文件。选择.sof 文件 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 15 进行下载。 下载完成后,将第一全局时钟 CLK1 的跳线器接 1Hz(作为秒脉冲信号),将 第二全局时钟 CLK2 的跳线器接 1Hz(作为十米脉冲信号),将第三全局时钟 CLK3 的跳线器接 32768Hz,用拨位开关模拟控制出租车的启动、行驶、暂停。 观察数码管上数据的变化是否符合设计标准。在试验箱上八个数码管从左至右 分别显示的是:等待时间的十位、等待时间的个位、里程的十位、里程的个位、 里程的十分位、费用的十位、费用的个位、费用的十分位。 5.2.1 显示结果的几种情况显示结果的几种情况 图 5-2 验证结果 1 图 5-2 表示出租车等待了 1 分钟,行驶了 3.9 公里,即时车费为 6.0 元。根 据设计要求计算所得费用为:5 元+(3.9-3)公里1 元/公里+1 分钟0.1 元/分 钟=6.0 元,计算结果与试验箱上所得显示结果相同。 图 5-3 表示出租车等待了 3 分钟,行驶了 6.8 公里,即时车费为 9.1 元。根 据设计要求计算所得费用为:5 元+(6.8-3)公里1 元/公里+3 分钟0.1 元/分 钟=9.1 元,计算结果与试验箱上所得显示结果相同。 在试验箱验证过程中,我们可以看到,八位数码管的右三位显示起步价 05.0,中间三个数码管在以 0.1 为步长进行加法显示行驶里程,当行驶里程超过 3 公里之后,每 0.1 公里计费金额加 0.1 元,当我们按下等待暂停键,每分钟左 边两个数码管加 1,其显示的等待时间,当等待时间到 1 分钟时,计费金额加 0.1 元,由此我们可以判断,系统设计符合要求。 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 16 图 5-3 验证结果 2 5.2.2 硬件实现总结硬件实现总结 通过对每一模块的仿真和下载,可以实现各个模块的逻辑功能,验证了各 个模块的正确性。在出租车计费系统的 4 个模块中,重点在于计量模块 (JILIANG),计费模块(JIFEI),显示控制模块(SELTIME),译码显示模 块(DELED)。JILIANG 模块主要有汽车的开始、运行、暂停,JILIANG 模块 主要记录出租车的行驶里程和等待时间,并将等待时间计费脉冲和行驶里程计 费脉冲送入 JIFEI 模块;JIFEI 模块主要是完成起步价计费、等待时间计费、行 驶里程计费,并完成总费用;SELTIME 模块起显示控制作用,控制等待时间、 行驶里程、费用在八个数码管上的位置。DELED 模块是把送入的每个四位数据 转换为 7 段码,从而能在数码管上正确的显示。这四个模块的组合成完整的出 租车系统,在设计过程中还需要改进的是控制出租车计费系统的控制功能。 出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车开始、 启动、暂停、停止等功能,由数码管显示出租车等待时间,行驶里程,费用。 车暂等待时停止行驶里程计费,车费仅由等待时间计费;出租车正常行驶时, 仅根据里程收费方式。若停止则车费清零,等待下一次计费的开始。出租车计 费系统的设计中体现了 VHDL 覆盖面广,描述能力强,是一个多层次的硬件描 述语言本设计在实用方面具有一定的价值。 该计费器实现了按预置参数自动计费(最大计费金额为 99.9 元)、自动计程 (最大计程公里数为 99.9 公里)等功能;能够实现起步价、每公里收费、等待时 巢湖学院 2013 级EDA 技术课程设计 出租车自动计费器设 计 17 间计费的参数预置(如:起步价 5.0 元;3 公里后 1 元每公里;等待时间 0.1 元每 分钟),且预置参数可调范围广。由于采用 CPLD 大规模可编程逻辑器件,整机 功耗小、抗干扰能力强、系统稳定、工作可靠、升级方便。 6 设计体会与总结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论