基于VHDL语言的汽车测速系统设计_kaic
摘 要
汽车是现代交通工具。车速是一项至关重要的指标。既影响着汽车运输的生产率,又关乎着汽车行驶有没有超速违章,还影响着汽车行驶时人们的人身安全。而伴随着我国国民的安全防范意识的逐步增强,人们也开始越来越关心因为汽车的超速而带来的极其严重的危害,对于汽车的测速系统的精准度也更为严格。因此,与汽车测速相关的研究和开发领域也应运而生,新的技术和新的产品层见叠出。
本设计将采用EDA技术来完成设计,设计采用了“自顶向下”的设计思想,将极其复杂的数字系统划分成一系列的层次分明的相对来说比较小的比较细致的模块,以此来完成系统整体结构的设计。论文采用了硬件描述语言VHDL,逐一逐个地编写各个子模块的相应的程序。然后由Quartus Ⅱ软件平台,完成编译,简化,分割,合成,布局布线,接线和仿真。直到目标芯片的自适应编译,逻辑映射和编程下载。通过Quartus Ⅱ平台,对于各个子模块进行波形的仿真,并且通过观察波形来确认和保证电路设计的正确性。
本文设计一种基于VHDL语言的汽车测速系统。整个系统包括了时序产生和测频时序控制电路、待测信号脉冲计数电路和实时速度计算模块。在设计的系统中,我们记录了汽车车轮每秒转数,然后计算得出了汽车的速度。
关键词:汽车测速系统;VHDL;自顶向下
Abstract
The automobile is a modern vehicle of transportation. Speed is a vital indicator. It not only affects the productivity of automobile transportation, but also affects the safety of people while driving. And accompanied by improvement of China's national security awareness, people began to more and more concerned about because car speeding the extremely serious harm, for the car's speed measuring precision of the system is also more strict. Therefore, the research and development fields related to automobile speed measurement are also emerging, with new technologies and new products emerging in layers.
The design adopted EDA technology to complete the design ,and the design uses "top-down" idea, the extremely complex number system is divided into a series of distinct is relatively small compared detailed module, in order to complete the structural design of the system as a whole. The hardware description language VHDL is adopted in this paper. Then the Quartus Ⅱ software platform, complete compilation, simplify, segmentation, synthesis, layout, wiring and simulation. Until the target chip's adaptive compilation, logical mapping and programming download. Through the Quartus Ⅱ platform, the arrangement of the waveform of simulation modules, and by observing the waveform to confirm and ensure the correctness of the circuit design.
This paper designs a vehicle speed measurement system based on VHDL language. The whole system includes timing generation and frequency measurement timing control circuit, pulse counting circuit of signal to be measured and real-time speed calculation module. In the designed system, we recorded the number of car wheels per second and calculated the speed of the car accordingly.
Key words: vehicle speed measurement system;VHFL; top-down
目录
摘 要
Abstract
1 绪论
1.1 目的意义
1.2 国内外的研究现状
1.3 本文的研究内容
2 技术背景6
2.1 EDA技术
2.1.1 EDA技术的简介
2.1.2 EDA技术的工具软件
2.1.3 EDA技术的应用及发展趋势
2.2 FPGA/CPLD
2.2.1 FPGA/CPLD概述
2.2.2 FPGA/CPLD系统设计流程
2.3 VHDL语言
2.3.1 VHDL语言简介
2.3.2 VHDL语言的基本结构
3 系统设计
3.1系统设计电路图
3.2各个功能模块的设计
3.2.1 时基产生和测频时序控制电路模块
3.2.2 待测信号脉冲计数电路模块
3.2.3 实时速度计算模块
4 硬件系统仿真
4.1 QUARTUS Ⅱ软件
4.1.1 QUARTUS Ⅱ简介
4.1.2 QUARTUS Ⅱ设计流程
4.2 模块仿真波形图
4.2.1 时基产生和测频时序控制电路模块
4.2.2 待测信号脉冲计数电路模块
4.2.3 实时速度计算模块
5 结论
参考文献
谢辞
附录
1 绪论
1.1 目的意义
汽车是一种现代化交通工具。它在大街之上随处可见,在人们的日常生活中很常见,人们的日常出行基本上都会用到它。伴随着人们生活水平的提高,汽车被人们的要求越来越高。汽车在其行驶的过程之中,车辆的速度作为一项极其重要的指标,既影响着汽车运输的生产率,又影响着汽车的行驶安全,还关乎着汽车的行驶是否超速违章[1]。而且伴随着我国国民的安全防范意识的逐步增强,人们也开始越来越关心因为汽车的超速而带来的极其严重的危害,对于汽车的测速系统的精准度也更为严格。因此,与汽车的测速相关的研究和钻研的开发领域因此而应运而生,新的技术和新的产品层见叠出[2]。
电子科学技术的发展可以说得上是日新月异,伴随着电子设计自动化(即EDA,Electronics Design Automation)技术的快速迅猛地发展,大型的可编程逻辑器件FPGA/CPLD(Field Programmable Gate Array/Complex Programmable Logic Device)的发展正在逐步的取代越来越多的国内外的ASIC的市场[3]。世界上有越来越多的设计工程师们在设计的时候会首选大型可编程逻辑器件,因为它有批量很小,投入很低,但是它的密度却很高,性能很高,开发的周期十分的短暂并且能够重复地使用等诸多优点。与此同时,使用硬件描述语言 VHDL (Very-High-Speed Integrated Circuit Hardware Description Language)语言来设计专门的芯片ASIC和特定的数字系统已经成为了一种必然的发展的趋势[4]。VHDL语言与其他的硬件描述语言相比拟,它的功能十分的强大,设计灵活多变,支持的领域十分的广泛,非常容易随时修正,有很是强大的系统体系的硬件描述的能力和很强的移植的本领,容易共享和重复的使用,并且与它的工艺毫不相关,只独立于它的目标器件的设计,是以VHDL语言已经成为EDA技术的一个至关重要的组成部分,已经成为了电子信息工程的领域里的通用的最优秀的硬件描述语言[5]。本篇文章是设计一种基于VHDL语言的汽车测速系统[6]。在设计的系统中,我们记录了汽车车轮每秒转数,然后计算了汽车的速度。我们可以通过在车轮上输入相应的传感器,以脉冲设计系统的形式输入到车轮上,从而得到车轮的旋转圈,然后直接由所设计的系统获得汽车的速度。
1.2 国内外的研究现状
汽车作为现代人日常生活中极为常见的交通工具,承载着其工业发展程度在一定程度上反映了一个国家的现代化水平,是一个重要的标志之一。截至2014年底,全国31个城市的汽车数量超过了100万辆。而北京市的汽车数量在这31个城市里独占鳌头,超过了500万辆,有点儿猛。我国国内的汽车的保有总量从2004年的2400万辆极其迅速地增长到了1.37亿辆。
汽车在其行驶的过程之中,车辆的速度作为一项极其重要的指标,既影响着汽车运输的生产率,又影响着汽车的行驶安全,还关乎着汽车的行驶是否超速违章。伴随着世界上各个国家的的汽车的数目的迅猛增加,人们的出行变得愈发的危险,交通安全成为了一个愈来愈紧张且引人注目的问题。
汽车驾驶员一般会通过两种方法来获知汽车的当前行车的车速:第一种是依据汽车驾驶员自己的主观的判断,但是这种依据自己的主观的判断的方法误差的非常之大,特别容易造成安全隐患,威胁汽车驾驶员和乘客们的人身安全;第二种是汽车驾驶员们直接从汽车的车速表上读取汽车的行驶速度,这种方法就要求汽车的车速表必须具有很高的精准度。出于对于人们的人身安全考虑,设计出来一种简易而有效的测速装置就很重要了。
下面有几种测速的方式[7]:
(1)机械式里程表测速。
世界上的传统的汽车测速系统是机械式的[8]。一个传统的机械式里程表附着在一个软轴上,中间有一根电线。而一个变速器上面的的某一个齿轮的上面就承包了这一根软轴的另外一端。当齿轮开始旋转运动时,钢丝绳可以被驱动,然后开始旋转,随着节拍覆盖在钢丝绳驱动下的圆中的一个里程表磁铁开始旋转跳跃。指针连接到里程表盖的内部,如果指针在零位置,它只能通过导线。由于磁铁在钢丝缆的带动下的旋转跳跃的速度的快慢有所不同,从而引起了磁力线的大小也是变化多端,因此这个存于系统之间均衡就被打破了,所以这个指针就被带动了起来。这样一种汽车的测速系统虽然简单但是非常实用,因此被世界各国广泛地应用在了各种各样的类型的汽车的测速上面。在最早期的汽车测速中最常用的就是这样一种机械结构式的传感器, 它的特点是原理十分的简单,外面的表皮结实且非常耐用。但是,这样的一种机械结构式十分地复杂的传感器,它测量速度的准确性非常的捞。伴随着电子科学技术的发展的日新月异,电子式的传感器取代了这种过去十分常见机械结构式的传感器的高不可攀的地位,从而使得在汽车的测速系统中越来越少地使用机械式的传感器了。
(2)霍尔传感器测量速度。
科学家们结合了集成电路技术与霍尔效应,然后一种叫做霍尔传感器的热传感器就被创造了[9]。这类的传感器或许可以感知到任何与磁信息有关的物理量。在这里,霍尔效应被科学家们使用了。控制电流I在两端的金属或半导体薄片。并施加一个磁场磁感应强度B在垂直于金属或半导体薄片的方向。因此,系统创建一个电动势(霍尔电压)是一个UH= KHIB。它的大小和磁感应强度B和直接成比例控制电流的乘积函数。它的方向垂直于电流和磁场的方向。KH是霍尔元素的灵敏度。霍尔电位是电气市场,霍尔元件是金属或半导体的对应板。典雅随着磁场的磁感应强度发生变化而变化。它有特征对于磁场十分的敏感,它有着结构非常的简单,体积特别的小,频率响应尤其的宽,而且它输出电压变化多端,能够使用的周期也十分的长等诸多优点,因此在测量记录、电子计算机、自动化和信息技术等一系列的范畴得到了极其普遍的应用。霍尔传感器,是放大电信号,是将各种可变信号测量转化而成的相应的。然后分析被进行,对其输入信号进行处理,通过的过程是由单片机进行的。然后进行计算。如果在通过分析处理以及计算的过程之后,行进中汽车的车轮在单位时间内所转动的圈数被得出,那么输入车轮的外径,乘以圈数,就能得到速度。
(3)激光测量速度。
激光测速(measurement of velocity by laser)实际上丈量被测的移动中的物体上面反射回来的光的频率,也就是因为多普勒(Doppler)效应而产生的一定的偏离,它是对被测量的物体使用了两次有特定的时间的间隔的激光测距,然后在此时间内,得到被测物体运动的间隔,从而得到被测物体的速度。激光测速是一种特别优秀的新版本的测速的技术[10]。伴随着电子科技技术的迅猛飞速的成长,激光测速传感器已经被世界上的数不胜数国家普遍采用,在不计其数的测量领域中有着举足轻重的关键作用,它可以应用在出产设备,特种机车,风力发电等方面。若要把激光测速传感器与指定的计算机相接连,是以可以对被测量的物进行自动化和智能化的控制测量,这也是现在的测量的技术与电子计算机技术相互结合的产物。它的优点:结构非常简单,精确度十分高,响应速度特别快,尤其远测量距离。而它的缺点:特别容易受气候的影响,尤其是强烈的光线给它带来的影响。
(4)超声波测速。
因为超声波传感器它自己本身的长处,所以它在测量距离和测量速度的技术之中获得了极其普遍的使用[11]。超声波的传播方向性十分的优秀,并且具有十分强大的穿透物体的能力。可以用来测量距离、测量速度、测量厚度、探究伤口和超声波成像等广泛的范畴之中。超声波可以在空气中传播。会被弹回来在遇到了障碍物之后。测量那个时间之间时间差,这个时间差指得是系统发射超声波的时间,和超声波遇到物体之后反射回来被接手的时间之间的间隔。与上述提到的激光测距的设备相比较, 超声波由于它比较方便、简单、成本低等优秀的因素而被极其广泛的应用于短距离的测量中。它的优点:超声波低low能耗、有强大的指向性并且还能够传输较远的距离在某些介质中。它的缺点:超声波的响应时间会很长,因为声音的传播速度比光的传播速度慢;在有效的测量的距离上要相比上述提到的激光测距要短很多;测量的误差相对来说比较的大,分辨率十分之低;并且不能在运动中测量,只能测量静止的物;测量的过程十分的复杂,需要对准目标;十分容易受到其他物体影响,特别容易受到外部的环境的干扰。
(5)雷达速度测量。
多普勒效应理论应用于雷达测速[12]。奥地利物理学家多普勒首次发现了多普勒效应。当发射体和接受体之间有相对的径向的运动时候,接受到的信号就会发生一系列的转变。当被测目标远离雷达天线时,反射信号的频率将低于发射信号的频率;相比之下,当被测目标接近雷达天线时,反射信号的频率将高于发射信号。因此,工程师可以通过改变频率来计算雷达和被测目标之间的相对速度。它可以被安排在交警车上面,在运动中操作一波车速检测。可以满足交警大哥的需求。它的优点:体积特别的小,携带的时候很方便,造价特别的低,因此应用广泛。
1.3 本文的研究内容
本设计采用EDA技术来完成。 “自顶向下”的设计思想在设计中被发扬光大。将整个系统用时序产生和测频时序控制电路(CTRL)、待测信号脉冲计数电路(CB16、WORD2)和实时速度计算模块(MULTI8X8)。然后使用了硬件描述语言VHDL[5],逐一逐个地编写这些个子模块的相应的程序,设计出一种汽车测速系统。
相关文章:

基于VHDL语言的汽车测速系统设计_kaic
摘 要 汽车是现代交通工具。车速是一项至关重要的指标。既影响着汽车运输的生产率,又关乎着汽车行驶有没有超速违章,还影响着汽车行驶时人们的人身安全。而伴随着我国国民的安全防范意识的逐步增强,人们也开始越来越关心因为汽车的超速而带来的极其严重…...

【数据结构】单链表(笔记总结)
👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&…...

Git操作之 git add 撤销、git commit 撤销
1、git add 添加多余文件 撤销操作 git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行撤销 2、git commit 撤销操作 git reset --soft HEAD^ 这样就成功的撤销了commit操作 注…...

用PyTorch实现MNIST数据集手写数字识别
资源下载:用Pytorch实现MNIST数据集的手写数字识别介绍资源-CSDN文库 手写数字识别是一项相当普遍的应用,因为在现实生活中,我们经常需要对手写数字进行识别,例如在邮政服务中,我们需要对邮件上的邮政编码进行识别&am…...

leetcode3:无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “…...

ChatGPT让现在的软件都土掉渣了
我们家有两个娃,每次我们想要出去时订个酒店时都好麻烦。我在某程上找,我先看有没有家庭房,但家庭房很少,而且有些家庭房实际上只能睡得下两大一小。普通房间能不能睡得下四个人,那可是得查看很多信息,如床…...

IU5708D低静态电流同步升压DC-DC 控制器
IU5708D是高性能宽输入范围 (4.5V~40V) 同步升压控制器,支持高达52V的输出电压。输出电压采用恒定频率电流模式脉宽调制(PWM) 控制来实现调节。 芯片通过外部定时电阻器或通过与外部时钟信号同步来设置开关频率。在电阻编程模式下,开关频率可从50KHz编程…...

ubuntu查看软件安装路径
ubuntu怎么查看软件安装位置在哪 - 服务器 - 亿速云 1、执行程序查看 在终端使用type执行软件程序查看。 type google-chrome 2、通过进程查看对应的软件程序 在终端使用以下命令查看所有进程名。 ps -e 再使用以下过滤命令查看对应的进程信息即可。 ps aux|grep 软件名 …...

动态规划总结
1,01背包dp(每件物品最多选一次): 因为背包为0 的时候,什么都装不了,所以为零 ,就是他们的最优解。 最后一个单元格为最后的答案。 01背包模板 public class Knapsack {public static int kn…...

分享:数据库存储与索引技术(一)存储模型与索引结构演变
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 本文来自OceanBase社区分享,仅限交流探讨。原作者马伟,长期从事互联网广告检索系统的研发,对数据库,编译器等领域也有浓厚兴趣。 文章目录综述传统单…...

ZeusAutoCode代码生成工具(开源)
ZeusAutoCode代码生成工具 一、简介 Zeus代码生成器是一款自动代码生成工具,旨在快速生成基础的CRUD代码,在此基础上也提供了一些高级功能,做到灵活配置,生成可扩展性强的代码。 后端是基于springboot、freemarker、mybatisplu…...

算法题记录
力扣的算法题:1154 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date “2019-01-09” 输出:9 解释:给定日期是2019年的第九天。 示例…...

章节2 行走数据江湖,只需一行代码
目录6. 函数填充,计算列6.1 excel操作6.2 pandas操作16.3 pandas操作28. 数据筛选、过滤,[绘图前的必备功课]8.1 excel操作8.2 Python操作http://sa.mentorx.net 蔓藤教育6. 函数填充,计算列 书的编号、书的名字、标价、折扣、最终价钱 最终…...

springboot集成xx-job;
概念理解: xx-job是一个分布式任务调度平台。比如你有AB两个项目。 AB的定时任务就要在xx-job上个注册。同时AB要配置对应的依赖。 所以集成xx-job要分2步骤:第一步:先搭建xx-job服务 第二步,在A项目中导包并引用。 第一步&am…...

35岁,失业6个月终于接到降薪offer:有面就面,薪酬不限,随机应变说瞎话,对奇葩面试官保持礼貌克制,为拿offer什么都能忍...
被裁后为了生存,人需要做出什么改变?一位35岁网友在失业6个月后终于拿到offer,虽然降薪到四年前的水平,但能继续养家糊口,楼主已经很满意了,并分享了自己的个人经验:1.挖掘历史项目经验…...

如何有效管理项目进度 都有哪些解决方法
项目进度管理是确保项目按时完成的关键因素之一。如果一个项目不能按时完成,那么它可能会导致成本超支、客户不满意和失去信誉等问题。因此,有效的项目进度管理至关重要。在本文中,我们将探讨如何有效管理项目进度以及可以采取哪些解决方法。…...

互联网随想(三) 光纤与电路交换
光纤的 “纤”,读 xian(先),第一声,而不是 qian(千)。 光纤之于通信,就像半导体之于计算机。光纤突破了通信的电子瓶颈,就像半导体集成电路突破了计算机的电子管瓶颈一样。 但本文不是赞美光纤的,本文为反…...

electron之旅(二)react使用
首先使用react模板 我们这里使用的是vite和yarn yarn create vite #创建vite的react-js模板初始化依赖 yarn添加依赖 state(状态管理) yarn add redux react-reduxroutes(react路由) yarn add react-router-domelectron依赖 yarn add electron vite-plugin-electron cross-env…...

ChatGPT基础知识系列之Prompt
ChatGPT基础知识系列之Prompt 在 ChatGPT 中,用户可以输入任何问题或者话题,如天气、体育、新闻等等。系统将这个输入作为一个“提示”(prompt)输入到 GPT 模型中进行处理。GPT 模型会基于其学习到的语言规律和上下文知识,生成一个自然语言回答,并返回给用户。 例如,当…...

SpringBoot3 - Spring Security 6.0 Migration
Spring Security 6.0 Migration https://docs.spring.io/spring-security/reference/5.8/migration/servlet/config.html 最近在做SpringBoot2.x到3.0的升级。其中最主要的一部分是javax -> jakartapackageName的变更,另外一部分是对一些废弃/删除的类进行替换。…...

【新2023Q2模拟题JAVA】华为OD机试 - 最少停车数
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最少停车数 题目 特定大小的…...

《代码实例前端Vue》Security查询用户列表,用户新增
login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>系统登录-超市订单管理系统</title><link rel"stylesheet" href"../css/style.css"><script type&qu…...

CANopenNode学习笔记(一)--- README翻译
CANopenNode学习笔记 文章目录CANopenNode学习笔记特性CANopen其他CANopenNode 流程图文件结构对象字典编辑器CANopenNode 是免费开源的CANopen协议栈。 CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息&#…...

关于Android 11、12和13服务保活问题
物联网环境,为了解决不同厂商、不同设备、不同网络情况下使用顺畅,同时也考虑到节约成本,缩小应用体积的好处,我们需要一个服务应用一直存在系统中,保活它以提供服务给其他客户端调用。 开机自启动,通过广播…...

Java 泛型 使用案例
参考资料 Java 基础 - 泛型机制详解路人甲-Java泛型专题 目录一. 通用Mapper1.1 实体类1.2 Mapper基类1.3 自定义接口1.4 抽象基类Service1.5 调用二. session和bean的获取一. 通用Mapper 1.1 实体类 ⏹ Accessors(chain true): 允许链式调用 import lombok.Data; import …...

进程与线程
文章目录什么是线程线程与进程的关系线程与进程的区别什么是线程 上一篇文章中我们介绍了什么进程,我们把进程比作一个工厂,那么线程就是工厂中的流水线。引入进程的目的就是为了实现多个任务并发执行,但是如果频繁的创建销毁进程࿰…...

骑友,怎么挑选适合自己的赛事
骑友,怎么挑选适合自己的赛事一、从场地、路况、天气,各个方面了解赛事的要求。二、看完赛事,要知道自己适合参加什么样的比赛。三、通过比赛成绩,对比自己的实力。四、综合考虑自己的经济能力,根据自己的经济能力选择…...

【Java 数据结构与算法】-遍历Map和Set的方式
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Java 数据结构与算法】 文章目录一、遍历Map法一 先获取Map集合的全部key的set集合,遍历map的key的Set集合法二 把map的key和value打包成Set的key后的这个Set集合法…...

组件、套件、 中间件、插件
组件、套件、 中间件、插件 组件 位于框架最底层,是由重复的代码提取出来合并而成。组件的本质,是一件产品,独立性很强,组件的核心,是复用,与其它功能又有强依赖关系。 模块 在中台产品和非中台产品中&…...

自动化工具 pytest 内核测试平台落地初体验
测试平台,有人说它鸡肋,有人说它有用,有人说它轮子,众说纷纭,不如从自身出发,考虑是否要做测试平台: 第 1 阶段,用 Pythonrequests 写接口自动化。 第 2 阶段,选择 unit…...