基于FPGA的交通灯控制器设计
基于FPGA的交通灯控制器的设计ppt课件

地感
信
线圈
号
信号
转
换
装
紧急按钮信置
号
启动信号
时钟信号
EPF10K70RC24
0-4 控制器
交通灯组 数码管组 高清数码照相机 MS12864R
6
程序执行流程
7
系统软件部分设计
闪烁子程序
通行延迟子 程序模块
交通灯子 程序模块
12864显 示子程序
闯红灯子 程序模块
测量车速子 程序模块
8
交通灯6个指示灯子程序流程图
基于CPLD/FPGA的交通信号 控制器的设计
❖ 院系名称:电子信息学院
1
设计定位
❖ 利用FPGA的相关知识设计的交通灯控制系统,可 以根据实际情况对灯亮时间进行自由调整,具有一 定的灵活性。
❖ 电子眼功能:当车辆闯红灯时,可进行拍照记录。
❖ 路况信息显示:当某干道处于通行时,可以动态显 示:车速,以及路况信息。
9状态机设计整来自程序包括五个状态机 例:十字路口左上角的交通灯对应这的9个状态: 分别是红、绿、黄、左拐、黄、右拐、黄、人行、红。
10
通行延时控制子程序流程图
11
交通灯闪烁子程序流程图
12
闯红灯监测子程序流程图
13
测车辆速度子程序流程图
14
MS12864R显示子程序流程图
15
波形仿真
顶层原理图产生的波形图:
行时,允许这支干道处于常通行状态,相应另一条干道处于禁行状态。 5、电子眼功能:当某一干道处于红灯时,如果有车闯过警戒线,那么就会被高
清数码照相机照下来。 6、路况显示功能:当某一干道处于通行时,可以动态的显示:车速,以及路况
基于FPGA实现的交通灯控制器详解

基于FPGA实现的交通灯控制器详解交通灯控制器是城市交通管理中的重要设备,用来控制红绿灯的改变。
传统的交通灯控制器多采用微控制器或单片机实现,但是这些方式在处理大规模的交通路口时会受到性能和并发处理能力的限制。
为了克服这些问题,近年来,基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的交通灯控制器逐渐得到应用。
FPGA是一种可编程逻辑器件,能够根据用户需求进行现场编程,具有高度灵活性和可重构性。
基于FPGA的交通灯控制器可以通过并行处理和精确时间管理来提高性能。
FPGA可以为每个交通灯信号灯分配独立的处理器核,同时可以对不同的交通灯进行并发处理。
这种并行处理的方式大大提高了系统的响应速度和处理能力,可以更好地适应高负载的交通场景。
此外,FPGA还可以提供更精确的时间管理。
交通灯的信号改变需要精确地控制时间,以确保交通流畅和交通安全。
传统的微控制器或单片机无法提供足够的精确性和实时性,而FPGA可以通过硬件电路和时钟管理单元来实现高精度的时间控制。
这种精确的时间管理能够对交通流量进行准确的判断和调度,提高交通效率。
此外,基于FPGA的交通灯控制器还具有可扩展性和灵活性。
FPGA的可编程特性使得交通灯控制器可以轻松地进行功能扩展和升级,满足不同场景和需求的要求。
而且,FPGA还可以进行实时调度和优化,可以根据实际交通情况进行动态调整,使交通灯控制系统更加智能和高效。
总之,基于FPGA的交通灯控制器具有高性能、精确的时间管理、可扩展性和灵活性等优点。
它可以提供更好的交通管理和安全保障,适用于大规模的交通路口和复杂的交通场景。
随着FPGA技术的不断发展和成熟,基于FPGA的交通灯控制器将会得到更广泛的应用。
基于FPGA的交通灯控制电路设计

基于FPGA的交通灯控制电路设计本文介绍了一种基于FPGA的交通灯控制电路设计。
交通灯控制是城市交通管理的一个重要部分,它有助于维护交通秩序,减少交通事故,提高交通效率。
在本电路设计中,我们使用FPGA作为主控制器,并通过数码管、按钮和LED模块与外部交互。
同时,我们还采用了状态机设计方法,以实现灵活的控制逻辑和连续的动态过渡。
首先介绍了本电路设计的硬件设计。
在本设计中,我们使用了FPGA作为主控制器,数码管用于显示当前状态,按钮用于进行手动控制,LED模块用于显示当前灯颜色。
在硬件设计中,我们通过适当的寄存器和时钟模块,实现了稳定的时序控制和同步操作。
接着,我们介绍了本电路设计的软件设计。
在软件设计中,我们采用了状态机设计方法,将交通控制逻辑分为多个状态,通过状态间的转移完成交通灯的切换控制。
具体地,我们将交通灯控制状态划分为三种:绿灯、黄灯和红灯。
在每种状态下,我们通过计数器和状态转移条件来实现精确的时间控制和灯颜色的自动切换。
同时,为了提高控制的灵活性,我们设计了手动控制模式,让用户可以通过按钮手动切换交通灯状态。
最后,我们介绍了本电路设计的实现结果。
在实现过程中,我们使用了Quartus II软件进行综合、布局和验证,并将设计的电路下载到FPGA开发板上进行实验。
实验结果表明,本交通灯控制电路设计实现了稳定、灵活和精确的交通控制,能够满足不同的交通道路需求。
综上所述,本文介绍了一种基于FPGA的交通灯控制电路设计,通过硬件和软件设计,实现了稳定、灵活和精确的交通控制。
该设计可以为城市交通管理提供帮助,为交通事故和交通拥堵的缓解做出贡献。
基于FPGA的交通灯设计(课程设计)

FPGA综合设计实验报告题目基于FPGA的交通灯控制器的设计作者专业日期 2013年3月29日1.设计任务:基于FPGA的交通灯控制器的设计2.设计要求:(1)十字路口由一条东西方向的主干道和一条南北方向的支干道构成,主干道和支干道均有红、黄、绿3种信号灯;(2)保持主、支干道红、绿交替变换;(3)绿灯转红灯过程中,先由绿灯转为黄灯,5秒后再由黄灯转为红灯;同时对方由红灯转为绿灯;(4)系统需具有复位及特殊情况紧急处理功能。
(5)了解交通灯控制器的工作原理,完成控制器的硬件电路设计及软件设计。
3.总体设计方案:从题目中计数值与交通灯的亮灭的关系如图(1)所示。
当主干道绿灯55秒和5秒黄灯过渡时,支干道必须禁止通行,即支干道红灯亮55+5=60秒;当支干道由红灯转为绿灯时,支干道亮55秒绿灯和5秒黄灯过渡,此时主干道红灯应亮55+5=60秒。
图1 交通灯控制要求4.硬件电路基本原理分析:动态LED显示的设计方法是将不同LED模块的所有的LED的驱动端一对一地连接到一起,而将其公共极(阴极或阳极)分别由不同的IO口来驱动(主要针对7段码和LED点阵模块)。
动态显示方式主要是出于简化电路和产品成本考虑在大多数场合都可以达到用户要求。
动态显示虽然占用的CPU时间多,但使用的硬件少,能节省线路板空间。
另外,本设计显示需要使用的是4个七段显示数码管。
在计时结果显示电路中,七段数码管显示部分是一个不容忽视的环节,如若处理不得当,可能引起系统功率过大,产生散热问题,严重时甚至会导致系统的烧毁。
为了解决好以上问题,下面就对七段数码管显示电路做简要的分析和介绍。
通常点亮一个LED所需的电流是5~50 mA,通电的电流愈大,LED的亮度愈高,相对的也会使其寿命缩短。
一般以10 mA的导通电流来估算它所必须串联的阻值,其计算方式参考如图1所示。
图1 单个LED的串接电阻计算方式七段显示器可分为共阳极、共阴极型两种,它们都可以等效成8个LED的连接电路,其中如图2就是共阴极型七段显示器的等效电路和每节LED的定义位置图。
(完整word版)基于FPGA的交通灯控制器设计

交通灯控制器设计专业:计算机应用技术班级:计应2 班学号:147030201姓名:蔡利军基于FPGA的交通灯控制器设计摘要超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。
本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。
交通灯控制系统可以实现路口红绿灯的自动控制。
基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。
本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。
该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。
关键词:VHDL,交通灯,EDA目录前言 (1)第1章 FPGA概述 (2)1.1 FPGA的简介 (2)1.2 FPGA的应用 (2)第2章 VHDL硬件描述语言 (3)2.1 VHDL程序基本结构 (3)2.1.1 实体 (4)2.1.2 结构体 (4)2.1.3 库 (5)2.2 VHDL语言 (5)2.2.1 VHDL文字规则 (5)2.2.2 VHDL数据对象 (5)2.2.3 VHDL数据类型 (6)2.2.4 VHDL 顺序语句 (6)2.2.5 VHDL并行语句 (6)第3章系统设计与仿真 (7)3.1 系统介绍 (7)3.1.1 设计任务 (7)3.1.2 设计要求 (7)3.2 系统设计仿真 (8)3.2.1 顶层框图的设计 (8)3.2.2 时序状态图的设计 (9)3.2.3 工程设计流程框图: (10)3.2.4 芯片的选择 (10)3.2.5 各个模块的设计与仿真 (11)结论 (27)附录..................................... 错误!未定义书签。
基于FPGA的交通灯控制器设计06876

基于FPGA的交通灯控制器设计06876交通灯控制器是城市交通系统中非常重要的一部分,其正确的设计和运行对于交通的安全与效率至关重要。
在本文中,我们将介绍一种基于FPGA(现场可编程门阵列)的交通灯控制器设计。
首先,我们需要了解交通灯控制器的基本原理。
传统的交通灯控制器通常由定时器和状态机组成。
定时器用于控制信号灯的时间段,状态机用于根据规定的时间段和信号灯的状态切换来确定交通灯的工作状态。
FPGA是一种可编程的芯片,可以用来实现各种数字电路的功能。
它具有高度的可编程性和灵活性,可以通过改变编程来实现不同的功能。
基于FPGA的交通灯控制器设计可以提供更大的灵活性和可扩展性,因为它可以根据实际需求进行定制和修改。
在基于FPGA的交通灯控制器设计中,我们需要考虑以下几个方面:1.信号灯的时间控制:根据不同的道路交通流量和需要的通行效率,我们可以灵活地设置每个信号灯的时长。
这可以通过FPGA中的计数器和定时器来实现。
通过编程可以设置不同的时长,并确保相应的信号灯按照预定的规则进行切换。
2.交通流量检测:为了合理地分配交通灯的时间,我们需要在交通道路上安装传感器来检测交通流量。
这些传感器可以根据车辆的数量和速度来确定不同的交通流量。
在基于FPGA的设计中,我们可以使用IO接口将传感器与FPGA相连,并通过编程来读取和处理传感器数据。
3. 状态机设计:状态机是交通灯控制的核心。
它可以根据预先确定的规则和输入,确定交通灯的状态。
基于FPGA的设计中,我们可以使用状态机设计的编程语言(如VHDL或Verilog)来实现状态机。
状态机可以根据交通流量和交通灯状态的不同情况来切换不同的状态,并通过FPGA中的逻辑门来控制交通灯。
4.故障检测和容错设计:在交通灯控制器中,故障检测和容错设计非常重要。
当一些部件发生故障时,控制器应能够自动切换到备用部件或安全模式,以确保交通的安全和通行效率。
通过FPGA的灵活性,我们可以轻松地实现故障检测和容错设计,例如通过监测一些部件的输出电压或信号来检测故障。
基于FPGA下的交通灯控制器毕业设计

基于FPGA下的交通灯控制器毕业设计引言第一章软件介绍1.1 QuartusⅡ介绍本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。
可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。
在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。
在做交通灯控制器设计时选择的编程语言是VHDL语言。
在这里简单的介绍一下QuartusⅡ的基本部分。
图1-1-1是一幅启动界面的图片。
在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。
图 1-1-1 启动界面开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。
图1-1-2 创建工程框图1-1-3 芯片选择框根据自己选择的实验设备选择好相应的芯片型号点击Next,进入下一个步骤当出现图1-1-5时,点击“Finish”后这个工程就建立好了。
图 1-1-4 仿真器选择框图1-1-5 对话框建好工程后开始进行设计,首先在图1-1-6中单击file后选择new,接着会出现图1-1-7,在交通灯控制器的设计中我们选择的是VHDL File,当出现图1-1-8时就可以把编辑的程序敲入编辑器中。
图1-1-6 工程建好后的界面图1-1-7 新建文件类型选择框图1-1-8 程序编辑框在第一章中对QuartusⅡ软件的使用做一个简单介绍,设计中的编译和仿真步骤在后面的几章中会做出介绍。
第二章交通灯控制器设计的概述2.1 控制器设计描述2.1.1 设计任务要求设计交通灯控制器,分别在四个方向都安装红、黄、绿三种颜色的交通指示灯,红灯表示停止,绿灯表示通行,黄灯表示左转和直行将要禁止通行,四个方向分别还安装有倒计时的计时器。
基于FPGA的十字路口交通灯控制器设计

石河子大学信息科学与技术学院成绩存档学期:2014 至2015学年第一学期考试科目:电子EDA技术课程设计专业:电子信息工程班级:2012 (1)班姓名:学号:任课教师:钟福如目录一、实验目的 (1)二、测试方法 (1)三、总的设计流程 (1)四、交通灯控制器的具体设计方案 (1)五、主要功能设计与仿真 (2)1、时钟分频模块 (2)2、交通灯控制模块 (3)六、顶层文件 (8)七、心得体会 (9)八、参考文献 (10)基于FPGA的十字路口交通灯控制器设计一、实验目的:弄懂交通灯的控制逻辑,注意是十字路口,分人行道与车道。
车道分别有直行、左转、右转指示,且每个指示三种颜色:红绿黄,红绿转换时间设定2分钟,红与绿之间转换之前有30秒黄灯的闪烁;人行道有红、绿灯指示,红绿转换时间间隔2分钟,且在红绿转换之间有30秒的黄灯闪烁二、测试方法:输入技术脉冲信号,仿真波形的输出端的交通指示灯能按题目要求变化.三、总的设计流程首先根据交通灯控制器的功能要求,将功能要求转化成系统流程图,然后对系统进行模块的划分、定义各个模块的具体功能。
再开始对各个模块用VHDL语言编程,并在Quartus II环境下进行编译及功能仿真。
四、交通灯控制器的具体设计方案主干道支干道图1 十字路口交通灯控制器的平面图实现红黄绿灯的自动指挥。
通过交通灯控制器要能够使用于一条由主干道和支干道交汇处的十字路口(假设东西方向为主干道,南北方向为支干道)。
且遵循“主干道优先考虑”原则,主、支干道红、绿灯亮的时间不完全一致,在正常情况下主干道允许车辆通行的时间更长。
在绿灯转换为红灯的过程中有黄灯进行,使车辆有足够的时间停下来。
另外由VHDL语言合理设计交通灯控制器的功能,以使绿、黄、红灯的转换有一个准确的转换顺序和时间间隔。
依据设计要求,最终画出如图所示的系统框图。
(图1)五、主要功能模块设计与仿真1、时钟分频模块分频模块的作用是为系统提供所需的计时脉冲。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。
现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。
随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。
FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。
FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。
交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。
在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。
城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。
在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。
第一章软件介绍1.1 QuartusⅡ介绍本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。
可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。
在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。
在做交通灯控制器设计时选择的编程语言是VHDL语言。
在这里简单的介绍一下QuartusⅡ的基本部分。
图1-1-1是一幅启动界面的图片。
在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。
图 1-1-1 启动界面开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。
图1-1-2 创建工程框图1-1-3 芯片选择框根据自己选择的实验设备选择好相应的芯片型号点击Next,进入下一个步骤当出现图1-1-5时,点击“Finish”后这个工程就建立好了。
图 1-1-4 仿真器选择框图1-1-5 对话框建好工程后开始进行设计,首先在图1-1-6中单击file后选择new,接着会出现图1-1-7,在交通灯控制器的设计中我们选择的是VHDL File,当出现图1-1-8时就可以把编辑的程序敲入编辑器中。
图1-1-6 工程建好后的界面图1-1-7 新建文件类型选择框图1-1-8 程序编辑框在第一章中对QuartusⅡ软件的使用做一个简单介绍,设计中的编译和仿真步骤在后面的几章中会做出介绍。
第二章交通灯控制器设计的概述2.1 控制器设计描述2.1.1 设计任务要求设计交通灯控制器,分别在四个方向都安装红、黄、绿三种颜色的交通指示灯,红灯表示停止,绿灯表示通行,黄灯表示左转和直行将要禁止通行,四个方向分别还安装有倒计时的计时器。
2.1.2 设计要求东西方向和南北方向各有组指示灯,红灯亮的时间为20S,黄灯亮的时间为5S,绿灯亮的时间为25S。
三种灯亮灭的顺序为红灯、绿灯、黄灯。
第三章交通灯控制器的设计过程3.1 设计方案本设计课题用FPGA来实现智能交通灯的设计,本设计现要研究的问题主要有:智能交通灯的设计方案;各功能模块的设计与实现;如何用VHDL编写源程序以及进行系统仿真。
3.1.1 框图设计交通灯控制器设计的框图中包括控制器、分频器、显示器、指示灯、译码器、位选器。
当倒计时为零时,控制器改变交通灯的颜色,同时倒计时开始进入下一个倒计时。
当有紧急情况出现的时候,四面的交通灯都会变为红灯,紧急情况的处理在设计中是依靠HOLD键来实现的。
图 3-1-1-1 是交通灯设计的设计框图图 3-1-1-1 交通灯设计的设计框图系统的红、黄、绿灯显示的总时间为50s,具体的亮灯时间和亮灯顺序看表 3-1-1-2表3-1-1-2 交通灯亮灯顺序与亮灯时间安排3.1.2 工程流程图图3-1-2 工程流程图3.1.3 时序图的假象在时序图中,上升沿有效,即为“1”时灯亮,好比RedA为上升沿(“1”)时A 方向的红灯是亮的,相对的GreenB也为上升沿(“1”)B方向上绿灯是亮的。
具体的时序显示见图3-2 时序图。
RedAGreenAYellowARedBGreenBYeelowB图3-2 时序图3.2 模块设计3.2.1 主控制器模块在QuartusⅡ按照1-1中的方法新建一个工程并新建一个文件项目后,在图1-1-8程序编辑框中将主控制器的程序输入后保存。
接着需要对主控制器的程序进行编译,编译的步骤是点击Project→Set as Top将文件置顶,具体的参考图3-2-1-1 置顶,接着点击图3-2-1-2 的Start Compilation 进行编译。
图3-2-1-1 置顶图3-2-1-2 编译在编译的过程中,出现了一些错误,在我编译主控制器的程序时,出现的错误是没有将CLOCK放入PROCESS()中,将程序中的错误一一改正后有时还会出现些Warning,有些Warning并不会影响后面的设计步骤。
将上面的错面都改正后,就会显示图3-2-1-3 所显示的对话框。
下一步就是对程序进行时序仿真,图3-2-1-3 编译成功程序编译无措后在当前的工程下面新建一个文件,点击File出现图3-2-1-4 新建文件对话框,选择图中显示蓝色的选项就会出现我们想要的界面,把鼠标移在图3-2-1-5 时序仿真编辑框中左边的空白处,然后点击右键,选择INSERT→INSERT NODE OR BUS选项出现另一个对话框,选择对话框中的NODE FINDER后就会产生新的对话框,点击LIST是在左下角的空白处会出现很多的引脚,我们选中需要的引脚后确定后,我们需要的引脚就会出现在时序仿真编辑中左边的空白处,我们对输入信号进行设定,若想让输出信号显示为十六进制数,我们可以选中输出信号然后点击鼠标的右键选择VALUE→COUNT VALUE后出现的对话框中可以选择自己需要显示的进制类型和进制数的定时等。
对输出输入信号编辑完成后保存。
在菜单工具栏中选择PROCESSING →SIMULATOOR TOOL,出现图3-2-1-6的对话框,按照对话框显示的进行设定,点击QENERAT FUNCTIONAL…→START→REPORT,就会得出我们想要的图3-2-1-7 主控制器时序仿真图。
图3-2-1-4 新建文件对话框图3-2-1-5 仿真编辑框图3-2-1-6 仿真工具对话框图3-2-1-7 主控制器的仿真图图3-2-1-7中显示的仿真结果和设计前预计的时序仿真图的结果是相符合的。
时序图中的HOLD是保持信号,当HOLD信号为有效信号(“1”)时,则四个方向的路灯都是红灯亮,当HOLD无效时,四个方向的信号灯会正常工作。
RESET信号有效时,计数器的显示就会重新从零开始。
图中四个方向的指示灯的亮灭顺序是正确的。
图3-2-1-8 主控制器的模块主控制器的时序仿真完成后,一个程序的设计、仿真就已经暂时结束了,下一步还要进行图形的设计,在总的图形设计前,需要先将每个程序都生成模块,为之后的设计做好准备。
点击File→Create\Updade→Create Symbol Files for Current File,完成这个操作过程后便会生成主控制器的模块,具体的看图3-2-1-8 主控制器的模块。
模块中主要有CLOCK、RESET、HOLD、NUMA、NUMB和六个指示灯的输出。
3.2.2 分频器模块设计中需要用到1秒钟的脉冲,分频这个模块就是为了改变频率脉冲波,使20Mhz 的频率最终变为1hz的脉冲,这样就可以得到一个周期是1秒钟的脉冲,分频器的程序见附录。
具体的程序编译过程和仿真的过程和主控制模块中谈到的过程是相同的。
按照上面谈的步骤完成后就会得到图3-2-2-1 分频模块的时序仿真图。
图3-2-2-1 分频模块的仿真图图3-2-2-2 分频模块分频的程序经过编译和时序仿真图后生成的模块是图3-2-2-2 分频模块所显示的20mhz的脉冲通过第一模块时变为10hz,再经过第二个模块后变成1hz的脉冲。
3.2.3 提取显示值模块提取显示值的功能是在10hz的速度下提取显示值,得到的是显示时间值的十位和个位。
图3-2-3-1 提取显示值的时序仿真图中NUMIN是主控制器的输出值,NUMA和NUMB两个输出端口是要显示的值的高位和低位。
高位的最大输出值是为二的四位二进制数,低位的最大输出值是为九的四位二进制数。
图3-2-3-2 是提取显示值生成的模块。
提取显示值的程序见文章的附录。
图3-2-3-1 提取显示值的仿真图仿真图中,NUMB先从0开始计数,当计到9时NUMA计为1,NUMB重新从0开始计数,当计到9时NUMA会计为2,NUMB再次从0开始计数,当NUMA(高位)计数到2时,NUMB 的最大值输出为5。
图3-2-3-2 提取显示值的模块3.2.4 动态扫描模块LED显示的工作原理是利用人类的视觉特性。
七段LED数字显示块是由“a、b、c、d、e、f、g、dp”这几段组成的,LED的显示原理就是要看这八段中的哪几段是亮的,那几段是灭的。
每段管子不是同时被点亮的并且点亮的时间都是极短的,又因为变化的时间很短暂,亮灭的过程中留下的余光会给人一种错觉,人的眼睛觉得是一组静态的显示灯。
具体的动态扫描的程序请看正文后的附录。
图3-2-4-1 是动态扫描的时序仿真图,图3-2-4-2是动态扫描生成的模块。
图3-2-4-1 动态扫描的时序仿真图图3-2-4-2 动态扫描的模块3.2.5 位选器模块位选程序的输入和编译完成后,对程序进行仿真,仿真的步骤依然和上面谈到的一样,下面两幅图一张是位选程序的时序仿真图,另一幅是位选程序生成的模块。
见图3-2-5-1和图3-2-5-2。
图3-2-5-1 位选时序仿真图图3-2-5-2 位选模块3.2.6 译码器模块译码器是将要显示的数字转换成驱动七段数码管的信号,程序中的NUM与动态扫描模块相连,将四位二进制数转换为八位二进制数,再通过LED8输出。
译码器的程序编辑和编译步骤也和前面所说的相同。
当译码器编译成功后进行仿真,仿真的结果见图3-2-6-1 译码器的时序仿真。
像时序仿真图中显示的一样,当NUM输入“0000”时LED8便会输出“00111111”显示数字“0”,当NUM输入“0001”时LED8输出“00000110”显示数字“1”。