论文网
首页 理科毕业汽车毕业正文

基于VHDL的汽车尾灯控制电路设计

  • 投稿洪嘉
  • 更新时间2015-09-24
  • 阅读量896次
  • 评分4
  • 30
  • 0

于明军,郭 跃,郝甜甜,何瑞强

(赤峰学院 物理与电子信息工程学院,内蒙古 赤峰 024000)

摘 要:本设计利用硬件描述语言(VHDL)对汽车尾灯控制电路进行描述并通过Altera公司Quartus II软件对源程序进行编译、仿真,调试后的程序下载到FPGA开发板FA280上,通过实验板上的发光二极管模拟汽车尾灯的工作状态.可以完成汽车行驶状态、左转状态、右转状态、刹车状态时的尾灯动态显示功能.

教育期刊网 http://www.jyqkw.com
关键词 :EDA;VHDL;汽车尾灯控制电路

中图分类号:TN79文献标识码:A文章编号:1673-260X(2015)04-0058-03

1 实验开发板及VHDL介绍

本设计用到的实验板是FPGA开发板FA280,FA280板载有SDRAM,FLASH以及USB Blaster下载线电路,这里主要介绍关于HDL的程序开发.利用QuartusⅡ集成开发环境来完成前期设计,以FPGA实验开发板为运行载体,来完成VHDL、Verilog HDL等一些硬件语言的运行显示.

本文应用FPGA开发板FA280,其核心器件为Altera CycloneⅡ系列的EP2C8Q208,是包含192个引脚,其中I/O口有183个的,最新采用逻辑单元为单位来衡量内部资源的芯片.EP2C8的工作电压为1.2V,是运用Verilog硬件描述语言来实现对EEPROM进行读写操作.EPCS4为EP2C8的配置芯片,其成本低、外形封装小、灵活性高.

接口包括:PS2接口、VGA接口、RS232串口、USB下载接口.开发板具有USB Blaster下载线电路,插上USB线即可进行下载,通过拨动USB接口开关选择JTAG或AS下载方式.

显示设备包括6位7段红光数码管,8位绿色LED发光二极管,LCD1602和LCD12864显示屏接口插座.

复位电路由一个复位按键和一个复位芯片组成的,可以将电路恢复到起始状态(相当于清零按钮).复位芯片为MAX811R,可将输出脉冲宽度为140ms、门限为2.63V的低电平有效复位脉冲信号提供给FA280.

电源部分包括1117-3.3和1117-1.2各一片,从功能板分别引入3.3V和1.2V的直流电源作为EP2C8的核心电源电压,并在核心板上加入滤波电容,以确保芯片和电源系统的稳定性.

其他还包括一个蜂鸣器、4位独立按键、电源插座和开关、SD卡座、扩展总线(GPIO)和有源晶振.其外观如图1所示.

VHDL高级硬件描述语言已成为IEEE标准,VHDL的描述能力最强,因此运用此结构进行复杂电路设计时,常采用“自顶向下”的结构化设计方法.适用于行为级和RTL级的描述,最适于描述电路行为,并在设计时可以不了解电路的结构细节.VHDL主要用于描述数字系统的结构、行为、功能和接口,其设计的基本点是将设计实体分成内、外部分.适用于电路高级建模,综合的效率和效果较好.而且采用的模块化、逐步细化的设计方法能够及早的发现各子系统及模块中的错误,而且有利于系统的分工合作,这就提高了系统设计的效率,特别适用于可编程逻辑器件的应用设计.完整的VHDL程序要包含库、程序包、实体、构造体和配置等部分,它的描述语句和常用语句都有其固定的格式,并且有自己的语法,不允许不同类型的数据在表达式中自由组合.

QuartusⅡ作为一个综合性的开发平台,可以完成多种功能的实现.QuartusⅡ的设计流程:首先输入HDL等形式的设计文本,接着根据设计要求进行编译,然后进行设计校验(仿真和定时分析),最后进行编程与验证(将编程文件配置到PLD中).设计过程中,如果出现错误,则回到设计输入阶段改错,然后重复以上步骤.

设计输入:设计输入可以用HDL方式或原理图录入方式.一般可以使用原理图来设计最顶层,将整个设计的结构描述清楚,对于HDL方式的设计输入,可以采用Verilog和VHDL,我们这里采用VHDL语言来实现.

综合:综合工具将设计转换成包含逻辑单元和逻辑单元间连接的网络表.

功能仿真:对已经综合的电路的功能进行验证,功能仿真不涉及任何时序方面的内容.

配置:将综合产生的网络表中的逻辑单元映射到CPLD/FPGA器件中的LE,这里还包含器件中LE间连接和路由的选择.

时序分析和时序仿真:通过分析配置后的电路各个路径上的传输延时,获得电路的性能情况.这里的时序仿真将结合器件时间参数,与前面的功能仿真不同,功能仿真只关注源程序的逻辑是否正确.

编程:在CPLD/FPGA器件内实现设计,包括逻辑单元和逻辑单元间的连接.

2 功能设计及分析

对该汽车尾灯控制器的具体要求:(一)汽车左右两侧各有3只LED指示灯;(二)当汽车正常向前行驶时,6只LED指示灯为全部熄灭;(三)当汽车向左转弯时,左侧的LED指示灯循序从右到左闪亮,右侧的LED指示灯全部熄灭;(四)当汽车向右转弯时,右侧的LED指示灯循序从左到右闪亮,左侧的LED指示灯全部熄灭;(五)刹车时,6只LED指示灯全部点亮.FA280开发板硬件具有8位LED,为低电平驱动方式,即低电平点亮高电平熄灭.本设计中实现以提供低电平方式点亮8个LED中的某一个或多个,两次点亮的时间间隔为1s.

通过设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号bleft,控制汽车左侧3盏指示灯LeftLight0、LeftLight1、LeftLight2,汽车右转弯控制信号bright,汽车右侧3盏指示灯RightLight0、RightLight1、RightLight2实现以上功能.

根据以上功能分析、汽车尾灯控制逻辑功能表可以编写汽车尾灯控制电路的VHDL程序.

3 程序调试及下载

3.1 程序编译

(1)建立工作库目录,以便设计工程项目的存储,打开Quartus II 9.0软件.

(2)在工具栏中选择“新建”按钮,选择“Text Editor”以进行文本输入.

(3)在文本输入界面内进行程序输入.

(4)输入完毕后,需要对程序进行保存.文件名和实体定义的符号必须保持一致,即文件名为carlight.因为是使用VHDL语言,所以文件文件类型为.vhd.

(5)在菜单栏下拉按钮里选择“Start Processing”,对程序进行编译,此时,Quartus II 9.0sp2软件会对程序进行纠错等处理.

(6)在编译完成以后,打开程序,选择“File”→“Edit Symbol”生成设计模块图.

3.2 程序仿真及下载

(1)编译完全通过后,新建波形编辑器进行设计仿真.通过“新建”按钮,选择“Waveform Editor”.

(2)新建波形编辑器后,对文件进行保存.同样是使用文件名carlight,后缀改为scf.

(3)在编辑器的Name栏点击鼠标右键,选择“Insert Node or bus…”,点击“Node finder”选中所有观察的节点信号.

(4)通过编辑器左侧的快捷键对所加节点中的输入信号进行相关的赋值,然后对程序进行仿真,观察输出信号.对编辑器(Edit)里面的赋值(Value)中的Clock进行设置.

(5)在进行仿真前,还需对仿真截止时间和最小单位时间进行一下调整.在“Edit”栏对截止时间“End Time”设置为“10.0us”.

(6)得初始仿真图,如图2所示:

(7)当汽车正常行驶时,左转信号bleft和右转信号bright都为0,所有的灯都熄灭,都为1,仿真图如图3,将程序写入开发板,显示如图4:

(8)当汽车向左转时,左转信号bleft为1,右转信号bright为0,此时右侧灯rightlight2、rightlight1、rightlight0全灭为111,而左侧灯leftright0、leftright1、leftlight2依次亮灭,状态为为110、101、011.仿真图如图5,将程序写入开发板,显示如图6:

(9)当汽车向右转时,左转信号bleft为0,右转信号bright为1,此时左侧灯leftright0、leftright1、leftlight2全灭为111,而右侧灯rightlight2、rightlight1、rightlight0依次亮灭,状态为110、101、011.仿真图如图7,将程序写入开发板,显示如图8:

(10)当汽车刹车时,左转信号bleft为1,右转信号bright也为1,此时左边灯leftright0、leftright1、leftlight2全亮为000,右边灯rightlight0、rightlight1、rightlight2全亮为000.仿真图如图9,将程序写入开发板,显示如图10:

4 结语

本设计依靠EDA教学开发板,QuartusⅡ软件环境,运用原理图和硬件描述语言进行输入并进行编译、仿真验证设计的正确性.对开发板的学习有一定的指导作用.

教育期刊网 http://www.jyqkw.com
参考文献:

(1)廖超平.EDA技术与VHDL实用教程[M].北京:高等教育出版社,2007.

(2)闫石.数字电子技术基础[M].北京:高等教育出版社,2006.

(3)华成英.模拟电子技术基础[M].北京:高等教育出版社,2006.

(4)侯伯亨.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,2009.

(5)潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2006.