基于FPGA的出租车计费器设计报告

合集下载

课程设计——基于FPGA的出租车计价器设计1

课程设计——基于FPGA的出租车计价器设计1

××大学××学院××课程设计基于FPGA的出租车计价器设计学生姓名学号所在系专业名称班级指导教师成绩××大学××学院二○一一年六月摘要:本文介绍了一个以Altera公司的CycloneII可编程逻辑芯片EP2C5T144C8为控制核心、运用VHDL硬件描述语言附加一定外围电路组成的出租车计费器系统。

本设计论文主要介绍了出租车计费器系统的组成及工作原理,简述了在EDA平台上用单片FPGA器件构成该数字系统的设计思想和实现过程。

同时,详细论述了人机交互驱动模块、驱动模块、计程模块、计费模块、译码动态扫描模块等的设计方法与技巧。

利用FPGA芯片实现一些功能较复杂的电子产品设计,不仅可以增加系统设计的灵活性,利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。

同时,在进行SOPC设计的时候,我们可以自由调用NIOS资源模块构建软核,从而减小了系统的功耗,实现产品的强大功能。

关键字:FPGA,VHDL,EP2C5T144C8,SOPCAbstract:Th is paper introduces a Altera company to CycloneII programmable logic chips EP2C5T144C8 as control core, useing VHDL hardware description language add a certain peripheral circuit of the message accounting device system of a taxi. This design paper mainly introduced the message accounting device taxi system composition and working principle, this paper expounds on the platform in EDA using single pill FPGA components, the digital system design thought and the implementation process. At the same time, discusses the human-computer interaction driver modules, driving module, taxi module, billing module, decode dynamic scanning module design methods and skills. Use the FPGA chip realize some function is more complex electronic product design, not only can increase the flexibility of the system design, use it for product development, not only the low cost, short cycle, high reliability, and with full intellectual property rights. Meanwhile, during the SOPC design, we can free calls NIOS resource module building soft nuclear, thus reduce power consumption, realizing products of the system of the powerful features.Key words: FPGA,VHDL,EP2C5T144C8,SOPC目录前言1.系统功能软件介绍 (1)1.1 QuartusII软件介绍 (1)1.2 FPGA芯片介绍 (1)1.3 硬件描述语言介绍 (2)2.总体方案设计 (3)2.1 系统框图 (4)2.2 基于MCU的出租车计费器 (4)2.3 基于FPGA的出租车计费器 (5)2.4 总体设计方案 (5)3.单个模块设计 (6)3.1 人机交互驱动模块 (6)3.1.1人机交互模块 (6)3.1.2人机交互模块仿真 (7)3.2 4x4矩阵键盘驱动模块设计 (7)3.2.1 4x4矩阵键盘模块 (8)3.2.2 4x4矩阵键盘仿真图 (7)3.3 二进制BIN转换成BDC(10进制)模块 (9)3.4 FILTER驱动模块设计 (9)3.5 PLS模块驱动设计 (10)3.5.1 PLS模块设计 (10)3.5.2 PLS模块设计仿真图 (11)3.6 出租车控制驱动模块设计 (11)3.7 顶层模块 (12)4.系统功能 ............................ 错误!未定义书签。

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计一、项目背景介绍随着出租车的普及,计程计费器作为出租车必备的设备,主要用于计算乘客的乘车距离和费用,是一个重要的应用。

基于Field-Programmable Gate Array (FPGA)的出租车计程计费器项目,可以帮助学生在实际项目中掌握FPGA系统设计、数字电子技术、计费算法等知识,提高学生的实践能力和创新能力。

二、项目教学目标1. 了解FPGA的基本原理和应用;2. 掌握FPGA系统设计的基本流程;3. 学习数字电子技术在出租车计程计费器中的应用;4. 熟悉计费算法的设计和实现;5. 提高学生的实践能力和创新能力。

三、项目教学内容及步骤1. FPGA基础知识介绍1.1 FPGA的基本原理和结构;1.2 FPGA在数字电子系统中的应用;1.3 FPGA开发环境及工具介绍。

2. 出租车计程计费器功能设计2.1 乘车距离和时间测量模块设计;2.2 价格计算模块设计;2.3 显示模块设计。

3. FPGA系统设计3.1 硬件描述语言(Verilog/VHDL)基础知识介绍;3.2 FPGA系统设计流程;3.3 乘车距离和时间测量模块的Verilog/VHDL实现;3.4 价格计算模块的Verilog/VHDL实现;3.5 显示模块的Verilog/VHDL实现。

4. 计费算法设计与实现4.1 基于乘车距离和时间的计费算法设计;4.2 算法在FPGA系统中的实现。

5. 系统集成与测试5.1 FPGA系统集成;5.2 系统功能测试;5.3 项目演示与验收。

四、项目教学方法1. 理论讲解:介绍FPGA基础知识、出租车计程计费器功能设计、FPGA系统设计流程等内容;2. 设计实践:学生通过指导练习,完成乘车距离和时间测量模块、价格计算模块、显示模块的Verilog/VHDL实现;3. 计费算法设计与实现实践:学生在指导下设计基于乘车距离和时间的计费算法,并在FPGA系统中实现。

基于FPGA的出租车计价器的设计3258950

基于FPGA的出租车计价器的设计3258950

基于FPGA的出租车计价器的设计摘要出租车计价器是乘客与司机双方的交易准则。

具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。

现在各大中城市出租车行业都已普及自动计价器,而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,所以计价器的普及也是毫无疑问的。

本论文阐述了EDA的发展及其优势、FPGA的发展趋势及结构特点和VHDL语言的优点及语法结构,并分析了出租车计价器各模块的功能要求、基本原理以及实现方法。

本论文的设计采用VHDL硬件描述语言进行编程,基于Quartus II软件平台进行编译和仿真。

论文介绍了采用FPGA芯片设计出租车计价器的方法,阐述了该计价器的主要组成单元:车轮大小选择模块、计程模块、计时模块及计费模块、数据分配模块、分频模块、译码模块的设计方法,同时给出了详细的仿真波形,实现了出租车基本计费功能,还能模拟汽车启动,停止,暂停等状态,同时提高了计费系统的可靠性、通用性。

本设计在FPGA 试验箱上运行良好,实现了计费器的各项功能。

关键字FPGA,VHDL,Quartus II,出租车计价器Subject: The design of the taxi meter based on FPGASpecialty: Microeletronics Science and EngineeringName:Dan Shen (Signature) ___________ Instructor: Gaili Yue (Signature) ___________ABSTRACTTaxi meter is the rule of passenger and driver. Have a good performance of the meter for our taxi driver or passenger is very necessary. Now the automatic taxi meter has popularized, and some small city has not been popular, but with the quickening of city construction, the symbol of the city will accelerate development of the taxi industry.This article elaborates the concept and development of EDA , the development trend and structure of the FPGA, andexplains the advantages and grammar structure of VHDL ,meanwhile, analysed the function request, the basic principle as well as the method ofaccomplishment of each parts. This system's design programmes in the VHDL, compiled and emulated basing on Quartus II platform of Altera consists of four modules, that is speed, mileage, timing and billing module. This paper introduce one method that can use a chip of FPGA to design taxi meter, which consists of four modules, that is speed, mileage, timing and billing module, and then, describe the design of each module and give out the simulation. This taxi meter can be self-charging according to mileage, which also can simulate the state of speed,such as start, stop, and pause, at the same time, its reliability and commonality also can be improved. This design FPGA test box on running well, realize the different functions of the message accounting device.KEY WORDS FPGA , VHDL , Quartus II ,The taxi meter目录第1章绪论 (1)1.1课题研究背景及目的 (1)1.2课题研究现状 (2)1.3课题研究方法 (3)第2章设计相关工具介绍 (4)2.1EDA介绍 (4)2.1.1 EDA的发展 (4)2.1.2 EDA的优势 (5)2.2FPGA介绍 (5)2.2.1 FPGA的发展趋势 (6)2.2.2 FPGA结构及其特点 (7)2.3VHDL介绍 (7)2.3.1 VHDL简介 (7)2.3.2 VHDL代码结构 (8)2.3.3 VHDL语言设计硬件电路的优点 (9)2.4Q UARTUS II (10)2.4.1 QuartusⅡ简介 (10)2.4.2 QuartusⅡ设计流程 (10)2.5实验箱简述 (11)第3章系统的设计 (13)3.1总体设计 (13)3.1.1 出租车计价器的设计要求 (13)3.1.2 总体框架设计 (13)3.1.3流程图 (14)3.2主要模块设计 (16)3.2.1 出租车总体模块设计 (16)3.2.2 车轮大小选择模块设计 (17)3.2.3 计程模块设计 (18)3.2.4 计时模块设计 (18)3.2.5 计费模块设计 (19)3.2.6 数据分配模块设计 (21)3.2.7 译码模块设计 (21)3.2.8 分频模块设计 (22)第4章仿真及调试结果 (23)4.1仿真结果 (23)4.1.1 出租车总体模块仿真波形 (23)4.1.2 车轮大小选择模块仿真波形 (23)4.1.3 计程模块仿真波形 (24)4.1.4 计时模块仿真波形 (24)4.1.5 计费模块仿真波形 (25)4.1.6 数据分配模块仿真波形 (25)4.1.7 译码模块仿真波形 (26)4.1.8 分频模块仿真波形 (26)4.2管脚分配及说明 (27)4.3调试结果及分析 (27)第5章总结 (31)致谢 (34)参考文献 (35)附录 (36)源代码 (36)第1章绪论1.1 课题研究背景及目的出租车计价器是乘客与司机之间用于公平贸易的工具,同时它也是出租车行业发展的重要标志。

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计1. 引言1.1 项目背景出租车计程计费器在现代城市交通中扮演着至关重要的角色,为乘客提供方便、快捷和准确的计费服务。

随着科技的不断发展,传统的计程计费器已经逐渐无法满足市场的需求。

本课题将基于FPGA技术设计和实现一款高性能的出租车计程计费器,以提升其计费精度和效率。

本项目的目标是利用FPGA技术设计出一款功能强大、性能优越的出租车计程计费器,并将其应用于实际交通场景中。

通过本项目,学生可以深入了解FPGA在嵌入式系统设计中的应用,提升其硬件设计和编程能力,同时也能为出租车行业的智能化发展做出贡献。

1.2 项目目的项目目的是通过基于FPGA的出租车计程计费器项目教学设计,帮助学生深入了解FPGA技术,并掌握计程计费器系统的设计和实现方法。

通过这个项目,学生将学习到FPGA技术的基本原理和应用,培养他们的电路设计能力和问题解决能力。

通过实际操作和项目实践,学生将能够提高他们的团队合作能力和创新意识。

通过对项目的评估和教学效果分析,可以及时发现和解决学生在学习过程中遇到的问题,进一步提高教学质量和学生的学习成果。

最终,希望通过这个项目的教学实践,为学生奠定良好的基础,帮助他们在未来的学习和工作中取得更好的成就。

2. 正文2.1 FPGA技术介绍FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,通过用户编程来配置其内部逻辑电路,从而实现特定的功能。

FPGA具有灵活性高、可重构性强等优点,因此被广泛应用于数字系统的设计和实现中。

在FPGA中最基本的单元是可编程逻辑单元(CLB),它由查找表(LUT)、触发器和多路器等组成,用于实现逻辑电路的功能。

FPGA 还包含了输入输出块(IOB)、时序管理器(CMT)等功能模块,以满足不同应用的需求。

FPGA的编程通常通过硬件描述语言(HDL)来实现,主要使用Verilog和VHDL两种语言。

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计一、项目背景随着社会的发展,出租车已经成为了人们出行的主要工具之一,而出租车的计程计费器也是很重要的一部分,它可以确保车主和乘客的权益。

因此,基于FPGA的出租车计程计费器项目旨在帮助学生了解FPGA的应用和计费原理。

二、项目描述本项目中,学生需要设计一个基于FPGA的出租车计程计费器,该计费器可以根据出租车的路程和时间自动计算费用。

具体而言,本项目需完成以下任务:1. 通过FPGA实现出租车计程计费功能;2. 使用FPGA实现电子显示屏显示乘客的车费信息;3. 实现数字输入功能,以便乘客输入所在地和目的地;4. 实现计数器和定时器,以记录时间和路程;5. 可以使用外部电源通过FPGA对计费器进行供电。

三、项目流程1. 了解计费原理:学生需要了解出租车计费器的工作原理,并理解如何计算路程和时间。

2. 设计计费器:根据原理图和电路原理,设计计费器的硬件系统,并编写VHDL代码实现系统。

3. 实现数字输入功能:将外围按键与FPGA相连,设计相关硬件系统,以便乘客输入所在地和目的地。

4. 实现计数器:设计计数器硬件系统,并使用FPGA实现计数器功能,用于记录车辆的路程。

5. 实现定时器:设计定时器硬件系统,并使用FPGA实现定时器功能,用于记录车辆的运行时间。

6. 实现电子显示屏:设计电子显示屏硬件系统,并使用FPGA实现显示屏功能,以便输出乘客的车费信息。

7. 调试和测试:对系统进行调试和测试,确保整个系统能够正常工作。

四、项目教学目标1. 帮助学生了解计费器的原理和工作方式;2. 培养学生硬件设计和FPGA编程的能力;3. 培养学生创新能力,设计出适合自己的计费系统;4. 培养学生团队合作能力,共同完成这个项目。

五、教学方法1. 理论讲解:通过课堂教学,讲解计费器的原理和工作方式,帮助学生理解计费器的基本知识。

2. 实践训练:学生通过设计和编程的实践,巩固所学知识,并提高实际操作技能。

基于FPGA的出租车计价器的设计

基于FPGA的出租车计价器的设计

I 基于FPGA的出租车计价器的设计摘要近年来,我国出租车行业迅速发展,出租车已经成为我国城市公共交通的重要组成部分。

传统的基于单片机的出租车计费系统已经很难满足现在的需要,而FPGA等可编程器件的出现很好地解决了这些问题,FPGA不同逻辑可以并行执行,可以同时处理不同任务,可以根据不同的需要来设计不同模块,能够很快的实现其需要的功能。

本文介绍了基于FPGA的出租车计价器系统的功能、设计思想和实现,以及出租车计价器系统的组成及工作原理描述了研究该课题的意义和应用价值。

该设计采用模块化设计,主要有两大模块和一些子模块,分为计程模块、计费模块、分频模块、译码模块和数据显示模块,各模块采用VHDL设计,完成了可预置自动计价、自动计程、数据显示等多功能的计价器。

在QuartusⅡ下实现编译、仿真等,最后成功下载到FPGA芯片中。

由于FPGA具有高密度、可编程及有强大的软件支持等特点,所以计价器具有功能强、灵活和可靠性高等特点,具有一定的实用价值。

关键词: FPGA,VHDL,计价器,QuartusⅡII The Design of Taxi Meter Based on FPGAABSTRACTIn recent years, China's taxi the rapid development of the industry, taxi has become China's urban public transport is an important part of. The traditional based on SCM taxi billing system has been difficult to meet the needs of the present, and FPGA device such as the appearance of programmable very good solution to these problems, the FPGA different logic can be executed in parallel, can also handle different tasks, and may, according to the different needs of different modules, can design soon realize its need to function.This paper introduces the taxi meter system based on FPGA design thinking and the function, realized the meter, and taxi system composition and working principle describes research this topic significance and application value.The design uses a modular design, there are two main modules and a number of sub-modules, divided into the meter module, billing module, frequency module, decoding module and the data modules, each module or graphics neutron module using VHDL Design Method . To achieve the Quartus Ⅱ compile, simulation, etc., and finally successfully downloaded to the FPGA chip. Discusses the meter module, the pricing module, decoding module and other dynamic scan design methods and techniques, auto-completion can be preset pricing, automatic counting process, data and other multi-function meter. As high-density FPGA, programmable, and has a strong software support and other characteristics, so the design is functional strength, flexibility and high reliability, has some practical value.KEY WORDS: FPGA,VHDL,Meter,QuartusⅡIII目录摘要 (I)ABSTRACT (II)1 引言 (1)1.1 课题背景 (1)1.2 出租车计价器现状及发展趋势 (1)1.3 本设计的主要工作 (2)1.4 现代数字系统的设计方法 (3)1.4.1设计步骤 (3)1.4.2 设计优点 (4)1.5 EDA技术 (5)1.5.1 EDA技术的内涵 (5)1.5.2 EDA技术的基本特征 (5)1.5.3 EDA的基本工具 (7)1.6 EDA 技术简介 (7)2 出租车计价器的设计 (9)2.1 出租车计价器总体设计 (9)2.1.1 出租车计价标准 (9)2.1.2 总体框架设计 (9)2.2 VHDL语言介绍 (10)2.2.1 VHDL 定义 (10)2.2.2 VHDL 设计方法 (10)2.2.3 VHDL 设计优点 (12)2.3 FPGA简介 (12)2.3.1 FPGA现状与发展 (12)2.3.2 FPGA的结构特点 (13)2.3.3 FPGA 现代数字系统的设计方法和特征 (16)2.3.4 EPF10K 芯片简介 (17)2.4 出租车计价器程序设计 (18)2.4.1 控制模块 (19)2.4.2 译码显示模块 (21)3 仿真显示 (27)3.1 QuartusⅡ简介 (27)3.1.1 Quartus II 图形用户界面的基本设计流程: (27)IV3.1.2 使用Quartus II 仿真器进行仿真设计 (28)3.2 控制模块系统仿真 (28)3.2.1 计程模块仿真 (28)3.2.2 计价模块仿真 (29)3.2.3 taxi总模块仿真 (29)3.3 译码显示模块系统仿真 (30)3.3.1 分频模块仿真 (30)3.3.2 译码模块仿真 (30)3.3.3 数据显示模块仿真 (30)3.3.4 decoder总模块仿真 (30)4 总结与展望 (32)4.1 总结 (32)4.2 展望 (32)致谢 (33)参考文献 (34)附录 (35)基于FPGA的出租车计价器的设计 11 引言1.1 课题背景随着我国经济的迅速发展,人们生活水平的显著提高,城市交通的日趋完善,出租车逐渐成为人们日常生活不可缺少的交通工具。

出租车计费器的FPGA实现(含VHDL代码)

可编程逻辑器件电路设计课程设计报告出租车计费器的FPGA实现华南农业大学工程学院摘要出租车计费系统利用VHDL语言,以MAX+PLUSⅡ软件作为开发平台而设计。

系统包括五大模块——主控模块、分频模块、里程模块、计费模块和显示模块;预置和模拟汽车启动、停止、计费、暂停等功能,并动态扫描显示车费与里程。

关键词: 出租车计费系统VHDL语言MAX+PLUSⅡFPGA 数字系统目录1 方案比较与选择(须详细阐述创新点或新见解) (1)2 底层文件仿真与分析 (4)2.1 底层文件仿真 (4)2.2 底层文件分析 (4)3 顶层文件仿真与分析 (7)3.1 顶层文件仿真 (7)3.2 顶层文件分析 (7)4硬件验证分析 (8)5课程设计心得 (9)Abstract (10)参考文献 (11)附录(源代码)1.方案比较与选择1.1方案一图1图2出租车计费器方案一原理框图1.1.1出租车计费器方案一原理基于CPLD/FPGA的出租车的组成如图1所示。

各部分主要的功能如下:(1)A计数器对车轮的传感器送来的脉冲信号进行计数(每转一圈送一个脉冲)。

不同车型的车轮可能不一样,通过“设置1”对车型做出选择,以实现对不同车型直径的车进行调整。

(2)B计数器对百米脉冲进行累加,并输出实际的公里数的BCD码给出译码动态扫描模块。

每计,满500送出一个脉冲给出C计数器。

“设置2”实现起步公里数预制。

(3)C计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。

“设置3”用来完成超价加费,起步价预制等。

(4)译码/动态扫描见路程与费用的数字译码后动态扫描的方式驱动数码管。

(5)数码管显示将公里数和计费金额平均用四位数码管显示(三位整数,1为小数)1.1.2出租车计费器方案一优点根据车型的车轮直径来进行脉冲调整,因为实际车轮大小并非完全一致,需要根据实际大小而重新设置;起步价调整。

起步价调整解决了由于地域的同步而导致起步价的不同,从而是出租车计费系统有更广和广阔的市场,同时也解决了由于起步价调整而更换计费系统的问题。

基于FPGA的出租车计程计费器项目教学设计

基于FPGA的出租车计程计费器项目教学设计基于FPGA的出租车计程计费器项目是一个针对电子工程及计算机工程专业的实践项目。

该项目旨在通过使用FPGA(可编程逻辑门阵列)开发一个功能完善的出租车计程计费器系统,并将其用作教学工具,让学生能够了解FPGA的基本原理和相关设计技术,并应用到实际的项目中。

项目概述该出租车计程计费器项目的主要功能是通过计算出租车的里程和行驶时间来计算并显示行程费用。

该系统具有以下主要功能和特点:1. 通过车载传感器实时测量出租车的里程和行驶时间;2. 利用FPGA的计算和控制能力,对测量到的数据进行处理和计算,并通过数码显示器显示费用;3. 支持不同的计费规则,可以设定不同的里程费率和等待费率;4. 具有计费开始与停止的功能,可以记录并显示计费累计时长和里程数;5. 集成人机交互界面,通过按钮和开关来设定计费规则和进行其他设置。

项目实施步骤该项目的实施可以分为以下几个步骤:1. 系统规划和需求分析:明确项目的功能、性能和接口要求,并根据实际情况进行系统设计和规划。

2. 硬件设计和搭建:设计基于FPGA的系统硬件电路,并完成硬件的搭建和连接工作,包括FPGA开发板、数码显示器、传感器等。

3. 软件设计和开发:利用FPGA开发工具对系统进行软件设计,并根据需求进行相应的编程工作,包括测量数据的采集和处理、计费规则的计算、界面的显示等。

4. 系统测试和调试:验证实现的系统的正确性和稳定性,并进行必要的调试和优化。

5. 系统集成与应用:将开发完成的FPGA系统与实际出租车进行集成,并进行测试和应用。

项目教学设计的目的是让学生能够通过实践项目,将所学的FPGA理论知识应用到实际场景中,提高手机在线的设计和开发能力,并培养团队合作和解决问题的能力。

通过对FPGA项目的设计和开发,可以激发学生对电子工程或计算机工程领域的兴趣和热情,为将来的学习和研究奠定基础。

基于FPGA的出租车计费系统设计(VHDL代码,各个模块均调试通过)

2.3 出租车计费系统FPGA实现的设计方案结合已有的应用分立元件和单片机实现的计费系统,吸收两种设计的优势之处,利用FPGA的可编程性,简洁而又多变的设计方法,使出租车计费器体积更小功能更强大,根据日后的功能所需,可随时在系统中修改其逻辑功能。

根据出租车计费系统的设计要求和FPGA模块化功能实现,确定了以下方案,按照设计要求和系统所具有的功能,出租车计费器设计总框图如图2-5所示。

主控部分采用了FPGA的芯片,使用VHDL语言进行编程,这样能具有更强的移植性,利于产品升级。

这次设计的由FPGA来实现出租车计费系统主要设计思想:主要分为信号输入模块、主控模块和显示模块。

图2-5应用FPGA实现出租车计费系统的设计框图确定应用FPGA实现主控的出租车计费系统如图2-5所示,其主控部分为FPGA,外围有很多的输入信号,可以用来选择计费器不同的工作状态。

其中主控部分又有多个模块组成,如里程分频模块、速度模块、计费模块、计时模块、计程模块、显示模块等。

信号输入模块,该模块主要实现计费功能和现场模拟功能,有复位、行车、暂停和停止功能。

计费标准为:按照在不同速度下发送脉冲个数的不同进行计程,按行驶里程计费,当计费器达到或超过规定行驶里程后,每公里加收50%的车费,车停止则不计费。

并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号的作用。

通过将路程和车费转换为4位的十进制数,便于8位数码管显示。

动态显示模块显示模块是由七段LED数码管译码和动态扫描显示两部分组成。

采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系。

数码管控制及译码显示模块将十进制的输入信号用七段数码管显示由七段发光二极管组成数码显示器,利用字段的不同组合,可分别显示0~9。

本设计中,要求输出的段信号为低电平有效[4]。

3 功能模块的设计与实现结合上述方案,给出一个模拟出租车计费系统为例,具体有以下功能:能实现计费功能,计费的标准为;起步价为8元,即三公里内为8元,超过三公里后每公里2元;当总费用达到或超过40元时,每公里加收50%,为4元/公里;遇到红灯或乘客需要停车等待时,每20S收费1元;此外,本次设计的计费器能够预置起步费、每公里收费、车行加费里程、计时收费,当有乘客上车时,就可调用预置数据;并且可以现场模拟汽车行驶、停止、暂停等状态;显示功能:路程显示精确到十分位,显示三位,最高可显示到十位,车费显示到各位,也是显示三位,并以十进制的方式显示。

基于FPGA的出租车计费系统设计

第11卷第2期南阳理工学院学报Vol.11No 22019年3月JOURNAL㊀OF㊀NANYANG㊀INSTITUTE㊀OF㊀TECHNOLOGYMar.2019作者简介:任立民(1980-)ꎬ男ꎬ硕士ꎬ讲师ꎬ主要研究方向:信号检测与处理㊁汽车服务方向的教学和科研工作ꎮ基于FPGA的出租车计费系统设计任立民(南阳理工学院机械与汽车工程学院㊀河南南阳㊀473004)摘㊀要:本文基于FPGA芯片EP4CE6F17C8N进行了出租车计费系统的设计ꎮ本设计是利用硬件描述语言VHDL在QuartusII软件平台上进行设计并通过调用第三方软件Modelsim进行仿真实现了出租车计费系统的功能ꎮ该计费系统不仅实现了出租车按里程计费功能ꎬ还模拟了出租车启动㊁暂停和停止等状态ꎮ与传统的计费系统相比较ꎬ本设计不但体积小㊁功能强ꎬ并且可移植性高ꎬ易于开发ꎬ可靠性更高ꎮ关键词:出租车计费ꎻVHDLꎻFPGAꎻQuartusII中图分类号:TP29㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1674-5132(2019)02-0049-04DOI:10.16827/j.cnki.41-1404/z.2019.02.0100㊀引言众所周知ꎬ出租车在我们的生活中承担着非常重要的角色ꎬ一个具有良好性能的出租车计费系统不仅有助于加强行业管理ꎬ还可以减少乘客与司机之间的纠纷[1]ꎮ出租车计费系统可以采用模拟电路和数字电路来实现设计ꎬ这种设计方法是采用搭积木的方式来实现设计ꎬ弊端是整体电路较复杂ꎬ而且出现故障时调试比较困难ꎮ出租车计费系统也可以采用微控器如89C51㊁μPD78F0034单片机等芯片来实现设计[2]ꎬ这是目前市场上普遍的出租车计费系统设计方案ꎬ在稳定性㊁成本上都有一定优势ꎬ但必须搭建更多的外围电路ꎬ而且由于单片机本身的局限性ꎬ有时会有死机的情况ꎮ基于单片机的计费系统如果需要进行产品的更新ꎬ需要的周期比较长ꎬ而且由于不同的单片机有不同的指令集ꎬ所以通用性也比较差ꎬ另外单片机的灵活度不是很高ꎬ如果想实现复杂功能的设计比较困难[3ꎬ4]ꎮ由于计费系统经常需要根据油价进行计费标准的相应更改ꎬ如果采用单片机ꎬ需要每次更改计费标准后再次烧录程序至单片机ꎬ费时费力[5]ꎮ因此对出租车计费系统的更新换代迫在眉睫ꎮ随着大规模可编程逻辑器件的出现ꎬ通过FP ̄GA设计的计费系统逐渐显示其强大的性能ꎬ不仅具有很高的可移植性ꎬ不必拘泥于芯片的某种指令ꎬ根据编程者的VHDL语言的描述就可以方便地实现需要设计的电路ꎬ而且需要更改电路非常方便ꎬ如果计费标准变化ꎬ可以实现现场更新ꎮ可见ꎬ利用FPGA来设计实现出租车计费系统是现代社会的大势所趋ꎮ1㊀系统整体设计方案在本文设计的出租车收费系统中ꎬ时钟㊁停车㊁行驶和清零等信号通过按键来触发ꎬ分频信号是将时钟分化成不同的频率用来进行控制里程和计费的时间ꎬ信号传输到FPGA控制芯片进行数据处理ꎬFPGA控制模块通过计算得到车所走过的里程和所对应的价格ꎬ输出的信号分别传输给计费和里程利用7段数码管显示出来ꎬ计费系统的设计总体框架如图1所示ꎮ图1㊀系统总体结构框图2㊀系统各模块电路设计2.1㊀主程序设计系统程序设计主要包含5个部分的设计ꎬ其中主程序设计流程图如图2所示ꎮ当没有乘客上车的南阳理工学院学报第11卷㊀时候ꎬ车辆处于空载状态ꎬ全部清零ꎬ表示没有乘客上车ꎬ当乘客上车ꎬ按下KEY2键ꎬ车辆正常行驶ꎬ计费器开始计费ꎬ公里数从零开始累加ꎬ每5s采集一次数据进行显示ꎬ因车辆行驶速度不同ꎬ采集时间也不相同ꎬ如果遇到红灯情况下ꎬ车辆停止ꎬ计费器暂停功能计费ꎬ当乘客下车ꎬ车辆属于等待状态ꎬ数码管显示价格ꎬ计费结束ꎬ回到空载状态ꎬ全部清零ꎮ图2㊀主程序流程图2.2㊀分频电路设计本系统各模块所需的时钟信号与系统时钟信号不同ꎬ需要对系统时钟信号进行分频处理[6]ꎮ开发板上的系统时钟50MHzꎬ通过分频得到数码管扫描所用的500Hz频率ꎬ计数所用的20Hz频率等ꎮ2.3㊀控制电路设计控制电路是程序的核心设计ꎬ利用二进制数来控制计费器的工作状态ꎮ出租车一共有4种工作状态ꎬ 00 是出租车空载状态ꎬ 01 按键1按下ꎬ车辆正常行驶ꎬ 10 按键2按下ꎬ车辆暂停ꎬ 11 按键3按下停车ꎬ乘客下车ꎬ由50MHz的主时钟控制[7ꎬ8]ꎮ用3个按键模拟行驶㊁暂停和下车的功能(如图3所示)ꎮ2.4㊀计量电路设计计量电路分为公里计数和计费两部分ꎬ公里计数部分从按键1按下开始计数ꎬ累计3km以内起步价7元ꎬ暂停键按下ꎬ计数暂停ꎮ计费部分当按键1按下时显示7.0ꎬ当走过的路程公里数超过了3kmꎬ计算超过的部分的价格按0.2元/0.1km进行累加ꎬ最后在7元显示的基础上进行改变ꎮ图3㊀控制电路流程图计量模块既能累计公里数据ꎬ也能计价格数据ꎬ乘客未上车时全部清零ꎬ乘客上车计程清零ꎬ计费系统开始显示7元ꎬ车辆行驶ꎬ5s采集一次数据ꎬ精度为0.1kmꎬ之后判断公里数是否大于3ꎬ如果大于3ꎬ则计费系统在7元的基础上累加0.2元/0.1kmꎬ之后判断乘客是否下车ꎬ如果乘客在3km之内下车ꎬ价格7元ꎬ如果不下车继续行驶ꎬ最后下车显示价格ꎬ车载结束ꎮ2.5㊀显示电路设计显示电路是将计量电路输出的16位二进制数通过数码管译码器转换成十进制数进行显示ꎬ包括数码管动态扫描ꎮ3㊀系统仿真与实现3.1㊀系统仿真通过各个子程序部分的模块化设计ꎬ得到各部分的子模块图ꎬ用它们设计而成的顶层电路如图4所示ꎮ将上述顶层设计电路图在Modelsim下进行仿真可以得到如图5所示的结果ꎮ图4中clk的时钟设置为100psꎬret为高电位ꎬkey[2..0]设置[010]ꎬkm_cnt是公里计数ꎬtaxi_charge是计费数ꎮ通过仿真图可以清楚地看出来公里计数时从0开始累加ꎬ计数达到30之前的价格都是70ꎬ也就是在3公里内计费系统显示7元ꎬ而在公里计数的数值超过30之后ꎬ计价部分就开始增加ꎬ以20的数字增加ꎮ05㊀第2期任立民:基于FPGA的出租车计费系统设计图4㊀出租车计费系统的顶层设计图图5㊀出租车计费系统在Modelsim下的仿真结果3.2㊀下载仿真结果和预期的一致ꎬ将电路中的管脚和FPGA芯片上相应的管脚进行锁定以后就可以将生成的∗.sof格式的文件下载至开发板进行实现ꎮ下载成功后里程未超过3km的计价如图6所示ꎬ因为未超出3kmꎬ所以计费系统显示7.0元ꎮ图6㊀里程未超过3km时的计费系统显示里程超过3km后的计价如图7所示ꎬ可以看到计费系统显示8.2元ꎬ超出3公里0.6kmꎬ将0.6乘以2得到1.2元就是超出的价钱ꎬ加上7元的起步价ꎬ得到的正是乘客下车所要付的钱8.2元ꎮ图7㊀里程超过3km时的计费系统显示15南阳理工学院学报第11卷㊀4㊀结论本系统设计了一款出租车计费系统ꎬ通过对该系统在Modelsim下仿真并在实验开发板上进行调试ꎬ结果表明ꎬ该出租车计费系统能实时显示行驶的里程㊁计费数额ꎬ而且能模拟启动㊁暂停和停止等状态ꎬ达到预定目标ꎮ本系统采用了层次化的设计方法ꎬ并基于FPGA来进行设计ꎬ具有灵活性高㊁易于更新㊁功耗低㊁集成度高等优势ꎬ具有广阔的市场应用前景ꎮ参考文献[1]吴承绮ꎬ孙培生.出租汽车计费系统发展历程回顾[J].中国计量ꎬ2010ꎬ4:2-32.[2]张立ꎬ张光新ꎬ柴磊ꎬ等.FPGA在多功能计费器系统中的应用[J].仪器仪表学报ꎬ2005ꎬ26:735-737. [3]王振红.FPGA电子系统设计项目实战:VHDL语言[M].北京:清华大学出版社ꎬ2017:9-12. [4]侯伯亨ꎬ刘凯.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社ꎬ2009:35-36. [5]潘松ꎬ黄继业.EDA技术实用教程:VHDL版[M].北京:科学出版社ꎬ2015:28-29.[6]于斌ꎬ谢龙汉.ModelSim电子系统分析及仿真[M].电子工业出版社ꎬ2014:53-55.[7]焦敏.FPGA在出租车计费器上的应用研究[J].中国科技信息ꎬ2009(9):145-146.[8]王翠.基于FPGA的出租车计价系统设计[J].现代电子技术ꎬ2012(5):187-189.(责任编辑:黄奇瑞)DESIGNOFTAXIBILLINGSYSTEMBASEDONFPGARENLi ̄min(SchoolofMechanicalandAutomotiveEngineeringꎬNanyangInstituteofTechnologyꎬNanyang473004ꎬChina)Abstract:BasedonFPGAchipEP4CE6F17C8Nꎬthetaxibillingsystemisdesignedinthispaper.ThehardwaredescriptionlanguageVHDLisusedtodesignthesystemonQuartusIIsoftwareplatformandrealizesthefunctionoftaximeterbycallingthethird ̄partysoft ̄wareModelsimforsimulation.Thistaxibillingsystemnotonlyrealizesthefunctionoftaxichargingbymileageꎬbutalsosimulatesthestartingꎬpausingandstoppingstatesoftaxi.Comparedwiththetraditionalchargingsystemꎬthisdesignisnotonlysmallerinsizeꎬstrongerinfunctionꎬbutalsohigherinportabilityandeasiertodevelopandhigherinreliability.Keywords:taxichargeꎻVery ̄high ̄speedintegratedcircuithardwaredescriptionlanguageꎻField ̄ProgrammableGateArrayꎻQuartusII25。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告 课程名称: 电子技术课程设计 学 院: 自动化 专 业: 自动化自控 班 级: 自控1201B 学 号: 2012100329055 姓 名: 成 绩:

前言 电子设计自动化(Electronics Design Automation—EDA)技术是现代电子工程领域的一门新技术。它提供了基于计算机和信息技术的电路系统设计方法。 EDA技术就是依赖功能强大的计算机,对用电路描述语言描述的设计文件,自动地完成编译、化简、分割、综合、布线、优化、仿真等,直至实现既定的电子电路系统的功能。 EDA技术打破了软件设计和硬件设计间的壁垒,是一门综合性学科,一种新的技能技术。它将设计效率和产品性能合二为一,代表了电子设计技术和电子应用技术的发展方向。 EDA技术是指以计算机为工作平台,融合应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动化设计。 在EDA技术应用中广泛采用自顶向下的设计方法设计电路工程项目的设计流程包括:用自然语言描述功能特性和技术指标,用硬件描述语言建立系统描述→行为描述→结构描述→逻辑描述,用计算机开发软件进行功能仿真→时序仿真→硬件测试。设计者在整个设计过程中可根据需要,随心所欲的改变器件内部结构乃至期间外部引脚功能,可以将系统电路分解为各个模块,也可以将多个模块集合在一起,而不必顾及各个器件的技术细节。正是采用了基于可编程器件的,利用计算机完成的自顶向下的设计方法,大大减少了功能芯片的数量,减轻了设计电路板图的工作量,缩小了整体电路的体积,提高了系统的可靠性,加快了验发的速度,降低了产品设计的成本。 VHDL的全名是Very High Speed Integrated Circuit Hardware Description Language,于83年由美国国防部发起创建,由IEEE(The Institute of Electrical and Electronics Engineers 电气与电子工程师学会)进一步发展,在87年作为“IEEE标准1076”发布,93年被升级为“IEEE1164”。 硬件描述语言是EDA技术的重要组成部分,VHDL作为电子设计的主流硬件描述语言,被多个EDA公司所引用。 VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,具有良好的移植性和适应性,从而大大简化了硬件设计任务,提高了电子系统设计的效率和可靠性。 用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。 此次课程设计我们组的项目是“出租车计价器”。我们小组通过老师一个星期的知识讲解并自学了《FPGA设计基础》,应用Quartus Ⅱ软件进行了设计和编辑。

一、课程设计任务 1.1出租车计费设计目标 ⑴ 首先显示起步价,车在行驶3km以内起步费为白天10元,夜晚11元。 ⑵ 车行驶超过3km(含)按白天2.0元/km、夜晚3.0元/km计算标准累加计费。 ⑶ 实时显示百里以内总里程以及结算金额。 ⑷ 白天、夜晚以5:00到23:00界定。 程序及对应模块设计思路: 模块1 分频器 分频器:此模块作用主要是通过时钟脉冲分频实现不同的要求,对应现实中当车轮转两圈,表示车已经行驶100m; 模块2 计程器 计程器:此模块作用主要是记录车辆行驶的距离,当车辆行驶的距离不满3km时,计程器中的信号cn保持为零,使计费器保持在起步价,在数码管显示为该起步价,当车辆行驶的距离大于或者等于3km时,产生的信号cn为1,并一直保持下去,此时计费器开始正常工作; 模块3 计费器 计费器:此模块主要是记录当前车辆行驶所产生的费用,通过计程器cn信号,有两个状态,一个是保持在起步价,一个是以0.2(白天)元/km和0.3(夜晚)元/km两种方式计费。 模块4 白天、夜晚选择器 白天、夜晚选择器:此模块主要是控制当前车辆工作的状态时白天还是夜晚,通过按键的设置可以选择当前车辆的计费方式。 注:计费器运用了两种编写方式,一种(白天)是以计数器为原型设计,一种(夜间)是直接通过程序的编写得到。 二、系统设计框图 三、系统电路设计陈述 3.1主路控制器模块设计 1、分频器: (1)作用:分频产生计时 (2)分频器控制模块编程程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity coun_100 is

port(clk:in std_logic; co:out std_logic); constant d:integer:=50; end; architecture w1 of coun_100 is begin process(clk) variable q:std_logic_vector(7 downto 0); begin if clk'event and clk='1'then if q=d-1 then q:=(others=>'0');co<='1'; else q:=q+1;co<='0'; end if; end if;

分频器模块

计程器模块

计费器模块

显示模块 end process; end;

(3)分频器图元文件

(4)分频器仿真图 2、计程器 (1)作用:通过控制信号的产生,实现在前3Km的时候不产生进位cn,即cn=‘0’, 此时计费器通过数码管一直显示为出租车起步价白天10元,夜晚11元,当里程数大于3Km时,产生进位cn=‘1’,让计费器开始正常计费 。 (2)计程器控制模块程序: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.ALL; ENTITY kilo IS PORT(clk:IN std_logic; start:IN std_logic; stop:IN std_logic; k1:OUT std_logic_vector(3 DOWNTO 0); k2:OUT std_logic_vector(3 DOWNTO 0); k3:OUT std_logic_vector(3 DOWNTO 0); cn:out std_logic); END kilo; ARCHITECTURE behav OF kilo IS BEGIN PROCESS(clk,start,stop) VARIABLE k_v:std_logic_vector(11 DOWNTO 0); BEGIN IF stop='1' THEN k_v:=(OTHERS=>'0'); ELSIF clk'EVENT AND clk='1'THEN IF start='1' THEN IF k_v(3 downto 0)="1001" THEN k_v:=k_v+"0111"; ELSE k_v(3 downto 0):=k_v(3 downto 0)+1; END IF; IF k_v(7 downto 4)="1010" THEN k_v:=k_v+"01100000"; END IF; END IF; END IF; IF k_v(11 downto 0)>="000001000000" THEN cn<='1';else cn<='0'; END IF; k1<=k_v(3 downto 0); k2<=k_v(7 downto 4); k3<=k_v(11 downto 8); END PROCESS; END behav;

(3)计程器图元文件 (4)计程器仿真图 3、计费器(此部分包括三部分,分别为零位、个位、十位) (1)作用:通过计程器产生的进位信号cn,一开始的时候数码管显示的是出租车起步价10元,当进位信号cn为1时,计费器开始正常工作,0.2元/km产生费用。 3.1、基本计费器控制模块程序: 零位 LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; entity counter110 is port(clk:in std_logic; en:in std_logic; rest:in std_logic; cq:out std_logic_vector(3 downto 0); cout:out std_logic); end counter110; architecture behav of counter110 is begin process(clk,rest,en) variable cqi:std_logic_vector(3 downto 0); begin if rest='1' then cqi:=(others=>'0'); elsif clk'event and clk='1' then if en='1' then if cqi<8 then cqi:=cqi+2; else cqi:=(others=>'0'); end if; if cqi=8 then cout<='1'; else cout<='0'; end if; end if; end if; cq<=cqi; end process; end behav;

个位 LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY counter10 IS PORT(clk:IN std_logic; en:IN std_logic; rest:IN std_logic; cq:OUT std_logic_vector(3 downto 0); cout:out std_logic); end counter10; architecture behav of counter10 is begin process(clk,rest,en) variable cqi:std_logic_vector(3 downto 0); begin if rest='1' then cqi:=(others=>'0'); elsif clk'event and clk='1' then if en='1'then

相关文档
最新文档