EDA课程设计

发布 2022-09-30 19:22:28 阅读 4212

课程 eda技术课程设计

题目出租车自动计费系统

院系电气与信息工程学院。

专业班级电子091班。

学生姓名何健。

学生学号 0930

指导教师聂辉。

目录。基本要求2

总体思想设计2

基本原理2设计框图2

设计步骤和调试过程3

总体设计电路3

模块设计和相应模块程序3

**及**结果分析5

实验调试结果6

结论及心得体会6

主要参考资料6

引言 1.1课程设计的目的与任务

1)熟练掌握eda工具软件quartusii的使用;

2)熟练用vhdl硬件描述语言描述数字电路;

3)学会使用vhdl进行大规模集成电路设计;

4)学会用cpld\fpga使用系统硬件验证电路设计的正确性;

5)初步掌握eda技术并具备一定的可编程逻辑芯片的开发能力;

1.2课程设计的内容

1)系统功能的分析;

2)实现系统功能的实际方案;

3)编写各功能模块的vhdl语言程序;

4)对各功能模块进行编译、综合、**、分析;

5)顶层文件设计

6)对整个系统进行编译、综合、**、分析;

7)在cpld\fpga实验开发系统试验箱上进行硬件验证;

8)写实验报告;

主要内容、基本要求、主要参考资料等

主要内容: 设计一个最大量程为99.99元的出租车自动计费,计费器具有行车里程计费、等候时间计费及起价三部分功能,并用数码管显示车费的数目。

基本要求:1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元;

2、行车里程单价1元/公里,等候时间单价0.5元/10分钟,起价3元(3公里起价)均能通过人工输入。

3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用bcd码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.

01元/脉冲。

4、用led显示行驶公里数,两个数码管显示收费金额。

一、总体设计思想。

1.基本原理。

可以使用汽车的里程计数脉冲,也可以在车轮上加装电磁继电器,在每行驶一定里程发出一次脉冲。在本实验中假设每10米发出一次脉冲。时间信号可以通过电容电感振荡电路或晶体振荡电路产生分频取得。

本实验中使通过实验箱的固定脉冲产生模块取得。

基于cpld的出租车计费器的组成如下图所示。各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码/动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用4位led数码管显示(2位整数,2位小数)。

2.设计框图。

上电写入程序,后由rst(清零)信号置低电平开始。分别控制计时和计程en开始或停止计费。计程和计费中每km或分钟发一次脉冲给计费模块。

这三个模块的数据处理信息通过总线输送到显示模块。进行译码。译码输出位选和七段数码管显示信息。

由外围电路:74ls138和八位七段数码管显示。前3位金额后四位为里程和计时。

中间一位为f,实际可以使用特殊的数码管显示元。

出租车计费器框图。

二、设计步骤和调试过程

1、总体设计电路。

计程模块是2个100进制计数器,输入的每10米一次脉冲经一次100进制计数获得每km一次的脉冲,由100进制计数输出为2个4位2进制bcd码。接显示模块,得到计程(0-99km)。

计时部分:计算乘客的等待累计时间。等候时间计费需将等候时间转换成脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,例如100个脉冲表示10分钟,而10分钟收费0。

5元,则脉冲当量为0。05元/脉冲,如果将脉冲当量设置成与行车里程计费相同(0。01元/脉冲),则10分钟内的脉冲数应为500个。

计程部分:计算乘客所行驶的公里数。计程器的量程为99km,满量程后自动归零。

显示模块输入计费、计时,计程数据总线通过扫描脉冲选择一个bcd码进行译码,每扫描一次进行一位显示。所以扫描脉冲适当取高一点。考虑视觉暂留25帧乘8得200hz以上为好。

实际实验中使用了5859hz。

其他rst信号,每10米,1hz,74ls38三位八线选择器,八位七段数码管由外围设备和电路提供。

2、模块设计和相应模块程序。

2.1计数器原理:

通过分别设计计程计费计时模块完成各自功能。

2.2计程模块原理

使用4位十进制计数器封装成为8位一百进制计数器。对于外部每10米的里程脉冲,经计数可以每km输出进位脉冲一次。再用一百进制计数器对其进行计数。

通过对计数输出信号的译码可以得到里程显示。

2.3计时模块原理

使用1hz的外部脉冲信号,使用5位60进制计数器。可以得到每分钟一次的脉冲输出。再使用一百进制计数器对其进行计数。通过对计数输出信号的译码可以得到时间显示。

2.4计费模块原理

计费模块是设计中的关键模块,也是最难的模块。逻辑复杂,要求多。 使用前两模块中的分钟信号作为时间输入,千米信号作为路程输入。

使用2个特殊编写的10进制计数器对时间和里程计数。并且在里程计数设置ent输出,在计费小于3元是钳制角金额输出为零。但是角计费照常只是不显示。

在金额超过3元时显示。再使用一十进制计数器进行十元计数。

2.5显示模块原理

通过使用74ls138和七段数码管进行显示和显示位选择。这要求输出使用3位输出为位选,对其译码得到数码管地址,7位数据在相应数码管上显示相应的数据。

2.6综合

通过vhdl和原理图的混合设计完成对各模块的编写,连接。时间。

library ieee;

use use

use entity taxi is

port(clk:in std_logic;

start:in std_logic;

stop:in std_logic;

fin:in std_logic;

cha3,cha2,cha1,cha0: out std_logic_vector(3 downto 0);

km1,km0out std_logic_vector(3 downto 0);

min1,min0out std_logic_vector(3 downto 0));

end taxi;

architecture beh**e of chuzuche is

signal q_1:integer range 0 to 99;

signal w:integer range 0 to 59;

signal c3,c2,c1,c0:std_logic_vector(3 downto 0);

signal k1,k0 :std_logic_vector(3 downto 0);

signal m1:std_logic_vector(3 downto 0);

signal m0:std_logic_vector(3 downto 0);

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...