1、 目录目录 一总体设计思路 1 1. 设计目的. 1 2系统原理框图 1 二功能模块设计 2 1. 计费模块. 2 2. 数据转换模块. 2 3. 片选信号产生模块. 3 4. 显示模块. 3 5. 数码管控制模块. 4 6. 分频模块. 4 7. 数码管选择模块. 4 三各个模块设计及仿真 5 1计费模块 5 2数据转换模块 8 3片选信号产生模块 11 4显示模块 12 5数码管控制模块 14 6分频模块 15 7 数码管选择模块 17 四总体设计电路图 18 五 硬件实现 19 六心得体会 21 七程序清单 22 八参考文献 32 1 一一总体设计思路总体设计思路 1. 设计目的 随着
2、EDA 技术的高速发展,电子系统的设计技术发生了深刻的变化,大规模可编程逻辑 器件 COLD/FPGA 的出现,给设计人员带来了诸多方便,利用它进行产品开发,不仅成本低, 周期、可靠性高,而且具有完全的知识产权。随着社会的不断进步,人们生活水平的不断提 高,出租车逐渐成为人们日常生活不可缺少的交通工具。而计价器作为出租车的一个重要组 成部分,关系着出租车司机和乘客双方利益,起着重要的作用,因而出租车司机和乘客双方 利益,起着重要的作用,因而出租车计价器的发展非常迅猛。 2系统原理框图 基于 CPLD 的出租车计费器的组成如图 1 所示。各部分主要功能包括:信号输入模块对 车轮传感器的脉冲信号进
3、行计数,并以高低电平模拟出租车启动、停止、暂停、加速按钮, 具有输入信号作用;数据转换模块将计费模块输出的车费和路程换成 4 位的十进制数据;译 码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块 将公里和计费金额用 4 位 LED 数码管显示。 图 1.1 系统总体框图 2 二二功能功能模块模块设计设计 1. 计费模块 此模块为计费模块(即总体结构中的信号输入模块) ,实现计费功能,计费标准为:按 行驶里程计费,起步价为 7.00 元,并在车行 3 公里后按 2.20 元/km 计费,当计数器达到或超 过 20 元时,每公里加收 50%的车费,即按 3.30
4、元/km计费。CLK、START、STOP、PAUSE、 JS 为输入信号,分别代表汽车的起动、停止、暂停和加速,CLK 为扫描时钟,硬件实现时加 入时钟信号,另有两个输出,即 CHEFEI 和 LUC,分别代表车费和路程,当车处于行驶状态 时,此模块会自动记录下路程与车费状况并作为转换模块的输入。其模块生成图如下: 图 2.1 计费模块 2. 数据转换模块 此模块功能是将计费模块产生的车费与路程的模拟量转换成数字量并输出,它是一个模 为 10 的加法计数器,可将计费模块输出的车费和路程转换成 4 位的十进制数。其中 DACLK 为时钟信号,ASCORE、BSCORE 连接计费模块的 CHEF
5、EI 和 LUC,输出为 2 个 4 位的十进 制数,可以分别表示路程和车费情况。当车运行于不同状况时,此模块会将不同的车费与路 程状况转换为数字量并输出。其模块生成图如下: 图 2.2 数据转换模块 3 3. 片选信号产生模块 此模块功能是选择八段数码管按照设计要求进行正确的显示。 其模块生成图如下: 图 2.3 片选信号产生模块 4. 显示模块 此模块为显示模块中的动态扫描/译码/数码管显示模块, 功能是将已转换好的数字量加载 到两个 4 位七段数码管上并加以显示。C20为片选端,用来连接片选模块的片选输出端 A20,A1、A2、A3、A4、B1、B2、B3、B4 分别连接数据转换模块的八
6、个转换输出端, 因为设计要求路程和车费都要用 2 位小数点来表示,所以须设置一个控制小数点的变量,即 程序中的 DP 端,D30连接数码管控制模块的输入端。 其模块生成图如下: 图 2.4 显示模块 4 5. 数码管控制模块 此模块功能是控制七段数码管对转换后的数字量进行显示, 使其完成路程和车费的显示。 其中 D30连接动态扫描/译码/数码管显示模块的 D30端,Q60连接七段数码管,利用 其控制特性在数码管上显示出车费和路程。 其模块生成图如下: 图 2.5 数码管控制模块 6. 分频模块 div模块将实验箱上 50Mhz脉冲信号分频为 500hz。 div生成模块图: 图 2.6 分频模块 7. 数码管选择模块 sel通过 decode3_8 模块选择数码管 decode3_8 生成模块图: 图 2.7 数码管选择模块 5 三各个模块设计及仿真三各个模块设计及仿真 1计费模块 计费模块源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std