Abstract
在DE2上用FSM实现汽车尾灯控制电路。
Introduction
使用环境:Quartus II 9.1 web ediTIon + DE2
假设汽车尾部左右两侧各有3个指示灯,要求设计一个电路实现如下功能:
1. 汽车正常行驶时,尾部两侧的6个灯全灭;
2. 刹车时,尾部两侧的灯全亮,即紧急状态;
3. 右转弯时,右侧3个灯按向右的顺序循环点亮,每次只有一个灯亮,左侧灯全灭;
4. 左转弯时,左侧3个灯按向左的顺序循环点亮,每次只有一个灯亮,右侧灯全灭;
5. 右转弯刹车时,右侧的3个灯顺序循环点亮,左侧的灯全亮;左转弯刹车时,左侧的3个灯顺序循环点亮,右侧的灯全亮;
6. 倒车时,尾部两侧的6个灯不停的按一定频率闪烁。
假设电路的输入钟信号为cp,cp的频率等于汽车尾灯所要求的闪烁频率。SpecificaTIon
State diagram
1. 输出状态表
2. 状态图如图 1 汽车尾灯状态图
图 1 汽车尾灯状态图
完成状态图后,这个系统的设计就完成一大部分,剩下的工作就是用HDL描述电路,仿真、下载、验证功能。
完整代码
/*
(C) yf.x 2010 http://halflife.cnblogs.com/
Filename : part1.v
Compiler : Quartus II 9.1 Web EdiTIon
DescripTIon : Demo how to use Switch and led
Release : 03/23/2010 1.0
*/
taillight.v
指定
Conclusion
整个设计最具创意也是最难的部分就是设计状态图,在状态转移描述的部分,我采用了独热码(one-hot code)同时在状态编码的后6位包含输出状态,这样做的优点是简化了译码电路,同时避免毛刺。因为针对DE2上的fpga设计,所以相对占用触发器的资源比其他编码方式要多。但fpga的优点就是触发器资源多。
目前验证已知存在的问题,汽车尾灯作为一个经典的课设,在John.F wakerly的《数字设计—原理与实践》的第7章有详细的描述,但不包括第5条(转弯时刹车),所以设计状态图,还是不确定足够完美。在DE2上验证时,转弯时刹车必须先转弯(激活转弯的信号)再刹车才会正常显示上述输出状态表的状态。当然这也是刹车的优先级最高决定的,还没发现大问题,但总觉得不够完美,希望有兴趣的同好,能测试一下,看如何改进。
Reference
1. John,F, Wakerly 《数字设计原理与实践(4th)》 机工
2. 罗杰 《Verilog HDL与数字ASIC设计基础》 华科
关键字:FSM 汽车尾灯 控制电路
引用地址:
基于FSM实现的汽车尾灯控制电路设计
推荐阅读最新更新时间:2024-11-09 14:00
PLC应用:三相感应电动机故障警报控制电路图
PLC程序设计,一般均采用直觉法,也就是说它植基于电路设计者本身之学习经验,较为主观及直接。须经历一段瞎子摸象的尝试错误(tryanderror)时期,对程序进行除错之后才能符合所需功能或动作要求;因此设计出来的程序因人而异,除了原程序设计者之外,使用者或维修人员较不易理解其动作流程,亦即程序的可读性较低。 但程序设计其实有些许脉络可循,只是坊间的书籍很少提及这一部分。以下姑且抱着野人献曝的心情,以『三相感应电动机故障警报控制』电路为例,由传统电工图转换为阶梯图的过程,浅谈程序设计,相信尔后对于相关的回路转换或程序设计,您或许可触类旁通。 传统电工图 已知的三相感应电动机故障警报控制电路,其传统电工图,如图1所示: 图
[嵌入式]
直流电机的正反转控制电路图解
今天我们来看 一下直流电机的正反转控制电路,首先我们分析一下电路图。 电路图 三部分 电路图分为三部分,整流电路主电路和控制电路。整流电路我们要根据电机选择合适的整流变压器,直接单相电输入直流电输出。 这种直流电机只需要把供电的正负极对调就可以实现正反转,所以我们可以用两个接触器互锁实现控制。电机的电源线在两个接触器上要对调一下,这样输出端才能实现正反转控制。 按下SB1 图中的红色线为电流的走向,这是按下正转按钮SB1的效果,按下的瞬间KM1线圈得电,KM1的辅助常闭点断开使得KM2无法工作,KM1和KM2形成电气互锁。KM1自身的常开点闭合给线圈供电,所以松开按钮SB1以后,KM1自锁持续工作。电机的电源接的是
[嵌入式]
两台电动机顺序启/停的PLC控制电路
PLC控制电路图如下: PLC控制l/O分配表如下: 梯形图如下: 具体启动过程为: 当按下电动机M1启动按钮sB2时,其将pLc内的×2置1,即该触点接通,使得输出继电器Y0得电,控制pLc外接交流接触器线圈KM1得电。 Y0得电,其常开触Y0(KM1-1)闭合自锁,控制Y1线路的常开触点Y0(KM1-3)接通,为Y1得电,即KM2得电,为电动机M2启动做好准备,也用于防止接触器KM2线圈先得电,使电动机M2先运转,起顺序启动的作用。 KM1线圈得电,主电路中的主触点KM1-2闭合,接通电动机M1电源,电动机M1启动运转。 当按下电动机M2启动按钮sB4时,其将pLc内的×4置1,即该触点接通,使得Y1得电,控制PL
[嵌入式]
常用电动机控制电路整理汇总
1.1概述 继电器一接触器控制电路由各种低压电器所组成。一个最简单的三相异步电动机控制电路,可以用一个闸刀开关控制电动机的启动运行和停止。 实际应用中要达到自动控制的要求,电路中需要借助各种开关、继电器、接触器等电器元件,它们能够根据操作人员所发出的控制指令信号,实现对电动机的自动控制、保护和监测等功能。
[嵌入式]
如何搭建一个基本的步进电机控制电路?
摘要: 本节介绍如何搭建一个基本的步进电机控制电路,所用材料均为常见的模块,简单高效的方式搭建起硬件环境 一、硬件清单 ①51单片机最小控制系统1个(图1) ②USB转TTL模块1个(图2) ③稳压电源1个(图3) ④TB6600步进电机驱动器1个 (图4) ⑤二相四线步进电机1个(图5) ⑥电线若干 二、接线 2.1原理图 2.2实物连接图 三、补充说明 3.1 稳压电源到驱动器的两根线用0.5平方以上的电线,如无合适的线也可并联多根杜邦线使用 3.2 51单片机拉电流能力很弱,驱动器ENA/DIR/PUL只能采用共阳极接法 **3.3 **步进电机电线同相简单区分方法。方法一:将步进电机任意两个线接在一起,用手
[嵌入式]
单相电动机控制电路简析
单相电动机控制电路 单相 电阻 启动电动机可逆运转控制电路 单相电动机主绕组电抗器调速 控制电路 单相 电容 运转电动机控制电路 单相电容启动、电容运转电动机控制电路 单相电容启动电动机控制电路 单相电容启动电动机可逆控制电路 单相电阻启动电动机控制电路
[嵌入式]
电动机自动循环控制电路图和工作原理讲解
定时自动循环控制电路 三相异步电动机容量为1.5KW,要求电路能定时自动循环正反转控制;正转维持时间为20秒钟,反转维持时间为40秒钟。时间继电器的延时时间不得小于15秒,时间调整应从长向短调。 定时自动循环控制电路工作原理 合上电源开关QF,按保持按钮SB2,中间继电器KA吸合,KA的自保触点与按钮SB2、KT1、KT2断电延时闭合的动断触点组成的串联电路并联,接通了起动控制电路。按起动按钮SB3,时间继电器KT1得电,其断电延时断开的动合触点KT1闭合,接触器KM1线圈得电,主触点闭合,电动机正转(正转维持时间为20秒计时开始)。同时KM1动合触点接通了时间继电器KT2,其串联在接触器KM2线圈回路中的断电延时断开的动合触
[嵌入式]
音频音调控制电路图 音频音调控制电路设计方案
使用音频音调电路有两个基本原因。第一个原因是调节信号进入音频功率放大器时的带宽。如果带宽不受限制,则可能无法在扬声器处恢复原始信号。第二个原因是音乐让我快乐。控制音频功率放大器放大的信号的频率称为音频音调控制。混合频率音频信号是最常见的音频信号类型。 BASS是指音频传输中的低频,而TREBLE是指高频。当谈到分离音频流中的频率时,我们会想到音频音调电路。 音频音调控制电路可分为两类。第一个是有源音调控制电路,第二个是无源音调控制电路。如果音频电路中存在放大器,则它被认为是活动的。当没有放大器时,该电路称为无源音调控制电路。 本文向您介绍如何设计增益约为 25 的音频音调电路。这种设计需要的元件数量较少,并且具有成本效益。
[嵌入式]