EDA交通灯word.docx
《EDA交通灯word.docx》由会员分享,可在线阅读,更多相关《EDA交通灯word.docx(17页珍藏版)》请在冰豆网上搜索。
![EDA交通灯word.docx](https://file1.bdocx.com/fileroot1/2023-6/6/05c35947-637a-42ad-8154-b81d64da2b25/05c35947-637a-42ad-8154-b81d64da2b251.gif)
EDA交通灯word
课程设计说明书
名称 交通灯控制系统的设计
2012年6月11日至2012年6月15日共1周
院 系电子信息工程系
班级
姓名
系 主 任张红兵
教研室主任陈伟元
指导教师陈伟元
第一章绪论2
1.1EDA技术概述2
1.2EDA技术的发展2
1.3EDA技术的应用2
1.4EDA的设计方法3
1.5硬件描述语言3
1.6数字系统4
1.6.1数字系统的设计方法5
1.6.2自顶向下设计(TopDown)5
1.6.3现代数字系统的设计过程5
第二章交通灯交通灯控制系统简介6
2.1交通灯的功能6
第三章交通灯控制系统的设计7
3.1设计要求7
3.2交通灯设计思路7
3.3.1交通灯控制器状态控制表8
3.4设计步骤及程序9
3.5硬件实现及调试结果11
第四章总结14
参考文献14
第一章绪论
1.1EDA技术概述
电子设计自动化(ElectrocDesignAutomation,EDA)技术以计算机为基础工作的平台,以微电子技术为物理基础,以现代电子技术设计技术为灵魂,采用计算机软件工具,最终实现系统或专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)的设计。
EDA技术的使用者包括两类:
一类是专用集成电路芯片的设计研发人员;另一类是广大电子设计线路设计人员。
后者并不具备专门的IC(集成电路)深层次的知识。
1.2EDA技术的发展
伴随着计算机、集成电路、电子设计的发展,EDA技术经历了计算机辅佐设计
(ComputerAssistDesign,CAD)、计算机辅佐工程设计(ComputerAssistEngineeringDesign,CADE)和电子设计自动化(ElectrocDesignAutomation,EDA)三个阶段。
20世纪70年代的计算机辅佐阶段
20世纪80年代的计算机辅佐工程设计阶段
20世纪90年代的电子设计自动化(EDA)阶段
1.3EDA技术的应用
EDA技术在教学、科研。
产品设计与制造等各方面都发挥着巨大的作用。
教学方面,主要目的是让学生了解EDA的基本概念和原理,掌握用HDL语言编写规范的程序,掌握逻辑综合的理论和算法。
科研方面,主要利用电路仿真工具进行电路设计与仿真,利用虚拟机仪器进行产品测试,将CPLD/FPGA器件实际应用到仪器设备中,从事PCB设计和ASIC设计。
在产品设计与制造方面,EDA技术应用于仿真、生产、测试等各个环节,如PCB的制作、电子设备的研制与生产、电路板的焊接、运用FPGA/CPLD进行数字系统的设计与制作、ASIC的流片过程,等等。
EDA技术已经应用于各行各业,在机械、电子、通信、航空航天。
化工、矿产、生物、医学、军事等各个领域都有EDA技术的应用。
1.4EDA的设计方法
“自顶向下”的设计方法。
高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。
然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避燃计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
1.5硬件描述语言
硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。
VHDL是一种全方位的硬件描述语言,包括系统行为级。
寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由底向上的电路设计过程都可以用VHDL来完成。
VHDL还具有以下优点:
(1)VHDL的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。
(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑艄设计,灵活且方便,而且也便于设计结果的交流、保存和重用。
(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。
(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。
1.6数字系统
数字系统是由对信息进行采集,转换、传输、存储、加工处理和利用的一组相互联系,相互作用的部件所组成的一个有机的整体.虽然信息来源不同,有经济信息、政治信息、图文信息,信息形态不一,有离散的、有连续的等等.但都可经过变换,转换成数字系统所能接收的数字信息,进行存储和处理.同时又可把数字系统加工、处理后的信息经过相应逆变换,成为对被控对象进行控制的可靠依据.数字系统具有可靠性强,精确度高,稳定性好可模块化,便于集成等优点.
数字系统通常由三部份组成:
输入接口、输出接口,数据器和控制器其结构如图1.1所示:
图表1.1数字系统结构图
输入接口是用来将模似量转化为系统能接收的数字量的模块,同理输出接口是完成可逆变化的模块.数字系统的信号包括数据流和控制流信号,对数据流进行传送和加工处理为数据处理器,对控制流信号进行传送和加工处理为控制器.数据处理器和控制器是数字系统中最基本的两个部份.尽管各种数字系统可能具有完全不同的功能和形式,但是都可以用数据处理器和控制所构成的数字系统的本结构来描述.控制器的产生的输出控制信号影响着其它系统控制器的操作,使本系统与其它系统协调一致地工作,控制器的输入信号也有可能是其系统的输出控制信号.数据处理器作用是控制系统内各部份模块的工作,使它们按一定顺序进行操作,数字系统中就是这样通过数据处理器和控制器之间的密切配合协调工作,成为一个自动实现信息处理功能的有机整体.通常以是否有控制器作为区别数字系统和系统部件的标志,凡是包含控制器且能按顺序进行操作的系统,不论规模大小一律称为数字系统,否则只能是一个系统的部件.
1.6.1数字系统的设计方法
现代数字系统的设计方法早期的数字系统多采用试凑法设计,此法无固定的套路可循,主要凭借设计者的经验。
先进的现代数字系统设计是自上而下的模块化设计。
从整个系统功能出发,按一定原则将系统分成若干个子系统,再将每个子系统分成若干个功能模块,再将每个模块分成若干个较小模块——直至分成许多基本模块实现。
在自上而下划分过程中,最重要的是将系统或子系统按计算机组成思想那样划分成控制器和若干个受控制的功能模块。
受控部分通常为设计者们所熟悉的各种功能电路,无论是采用现成模块还是自行设计都有一些固定方法可依,无须花费更多精力。
1.6.2自顶向下设计(TopDown)
随着微电子技术发展,VHDL硬件描述语言应用越来越广,硬件描述语言可以在各抽象层次上对电子系统进行描述,且借助于DEA设计:
工具,自动地实现从高层次到低层次的转换,使自顶向下的设计过程得以实现。
目前这种设计方法被工程界广为采用。
设计的总过程是从系统总体要求出发,从系统顶层开始,自上而下地逐步将系统设计内容进行细化,借助硬件描述语言进行编程,将系统硬件设计转化成软件编程,在此基础上再利用相应的逻辑综合工具EDA以及在线可编程ISP技术对各种可编程逻辑器件如CPLD、FPGA进行逻辑划分与适配,将所产生的菊花链文件映射到相应的可编芯片内,最后完成硬件的整体设计。
1.6.3现代数字系统的设计过程
在使用现场可编程逻辑器件以前,数字系统的设计过程是:
书面设计—硬件搭试—制作样机。
硬件搭试是很费时间的,往往因接线紊乱和接触不良而带来各式各样的麻烦,所用器件越多,搭试难度越大,当系统规模大到一定程度,系统复杂到一定程度,这种搭试实际上是不可行的。
由于计算机技术的发展和采用现场可编程逻辑器件,改变了数字系统设计的程式,硬件搭试被仿真所取代。
所谓仿真,就是在计算机上建立起系统的模型,然后加进合适的测试码(对组合电路)或测试序列(对时序电路),对此模型进行测试,以验证系统是否符合预期的设计,如不符合再行修改,直至满足设计要求,然后制作样机。
所以,现代数字系统设计过程是书面设计—仿真—(烧录器件)制作样机,这是一种快捷而且节约的方法。
第二章交通灯交通灯控制系统简介
城市中常见的大型十字路口如图2.1所示一般情况下,当汽车行驶至十字交通路口时,有3种选择:
向前,向左转弯,向右转弯。
根据我国的交通规则规定,汽车是靠右行驶,向右拐弯只要走弧形的支干道即可,不需受十字交通灯的束缚。
因此,本文主要考虑前行和左转这两种情况。
十字路口交通灯负责控制各走向红绿灯的状态及转换,并且各状态之间有一定的时间过渡。
同时,东西南北每条干道上都为人行横道设置了红绿灯,提醒过路行人在安全时刻穿越道路,以保证行人的安全。
图2.1街口
2.1交通灯的功能
交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。
2.2交通灯控制系统设计
城市路口交通信号控制系统大体上分为三种类型:
定周期的信号机、多时段且具有无电缆协调功能的微电脑型信号机以及联网式自适应多相位智能型信号机。
具体采用哪种类型,应根据其应用场合及特点加以确定。
其中,第一种类型以其成本低,设计简单,安装及维护方便等特点得到了广泛应用。
第三章交通灯控制系统的设计
3.1设计要求
1.能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;
2.南北向为主干道,每次通行时间为30S,东西向为支干道,每次通行时间为20S;
3.能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。
其中,黄灯:
5S。
4.能实现特殊状态的功能。
按下SP键后,能实现以下特殊功能:
(1)显示倒计时的两组数码管闪烁;
(2)计数器停止计数并保持在原来的状态;
(3)东西、南北路口均显示红灯状态;
(4)特殊状态解除后能继续计数;
5.能实现全清零功能。
按下reset键后,系统实现全清零,计数器由初状态计数,对应状态的指示灯亮;
6.用VHDL语言设计上述功能的交通灯控制器,并用层次化方法设计该电路;
7.仿真、验证设计的正确性。
3.2交通灯设计思路
交通灯控制器原理框图如图2.2所示,包括置数模块、计数模块、主控制器模块和译码器模块。
置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。
其中,核心部分是主控制模块。
图2.2交通灯控制器原理框图
3.3.1交通灯控制器状态控制表
图表3.3.1交通灯控制器状态控制表
3.3.2程序流程图
图表3.3.2程序流程图
3.4设计步骤及程序
3.4交通灯控制系统结构图
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityledcontrolis
port(reset,clk,urgen:
instd_logic;
state:
outstd_logic_vector(1downto0);
sub,set1,set2:
outstd_logic);
endledcontrol;
architectureaofledcontrolis
signalcount:
std_logic_vector(6downto0);
signalsubtemp:
std_logic;
begin
sub<=subtempand(notclk);
statelabel:
process(reset,clk)
begin
ifreset='1'then
count<="0000000";
state<="00";
elsifclk'eventandclk='1'then
ifurgen='0'thencount<=count+1;subtemp<='1';elsesubtemp<='0';endif;
ifcount=0thenstate<="00";set1<='1';set2<='1';
elsifcount=25thenstate<="01";set1<='1';
elsifcount=30thenstate<="10";set1<='1';set2<='1';
elsifcount=45thenstate<="11";set2<='1';
elsifcount=50thencount<="0000000";elseset1<='0';set2<='0';endif;
endif;
endprocessstatelabel;
enda;
图表3.4.1Ledcontrol元件图
Ledcontrol.vhd源程
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityledshowis
port(clk,urgen:
instd_logic;
state:
instd_logic_vector(1downto0);
sub,set1,set2:
instd_logic;
r1,g1,y1,r2,g2,y2:
outstd_logic;
led1,led2:
outstd_logic_vector(7downto0));
endledshow;
architectureaofledshowis
signalcount1,count2:
std_logic_vector(7downto0);
signalsetstate1,setstate2:
std_logic_vector(7downto0);
signaltg1,tg2,tr1,tr2,ty1,ty2:
std_logic;
begin
led1<="11111111"whenurgen='1'andclk='0'elsecount1;
led2<="11111111"whenurgen='1'andclk='0'elsecount2;
tg1<='1'whenstate="00"andurgen='0'else'0';
ty1<='1'whenstate="01"andurgen='0'else'0';
tr1<='1'whenstate
(1)='1'orurgen='1'else'0';
tg2<='1'whenstate="10"andurgen='0'else'0';
ty2<='1'whenstate="11"andurgen='0'else'0';
tr2<='1'whenstate
(1)='0'orurgen='1'else'0';
setstate1<="00100101"whenstate="00"else
"00000101"whenstate="01"else
"00100000";
setstate2<="00010101"whenstate="10"else
"00000101"whenstate="11"else
"00110000";
label2:
process(sub)
begin
ifsub'eventandsub='1'then
ifset2='1'then
count2<=setstate2;
elsifcount2(3downto0)="0000"thencount2<=count2-7;
elsecount2<=count2-1;endif;
g2<=tg2;
r2<=tr2;
y2<=ty2;
endif;
endprocesslabel2;
label1:
process(sub)
begin
ifsub'eventandsub='1'then
ifset1='1'then
count1<=setstate1;
elsifcount1(3downto0)="0000"thencount1<=count1-7;
elsecount1<=count1-1;endif;
g1<=tg1;
r1<=tr1;
y1<=ty1;
endif;
endprocesslabel1;
图表3.4.1Ledshow.vhd元件图
enda;
Ledshow源程序
3.5硬件实现及调试结果
在进行硬件测试时,按K1对应复位端reset,按键K2对应紧急开关urgent。
EDA实验开发系统上的时钟cp2对应计数时钟CKL,数码管M3、M4对应东西走向的时钟显示。
LED灯116、115、114对应东西走向的绿灯G1、黄灯Y1、红灯R1。
数码管M1、M2对应南北走向的时钟显示。
LED灯11、12、13对应南北走向的绿灯G2、黄灯Y2、红灯R2。
对应的硬件示意图如3.5所示
图表3.5.1交通灯控制系统的硬件示意图
在试验箱上选择管脚与程序中的输入输出信号对应,其管脚配置如下:
输入
芯片脚号
输出
芯片脚号
输出
芯片脚号
Clk
Pin_93
led2[7]
Pin_121
led1[4]
Pin_126
reset
pin_41
led2[6]
Pin_120
led1[3]
Pin_125
urgen
Pin_42
led2[5]
Pin_114
led1[2]
Pin_124
led2[4]
Pin_113
led1[1]
Pin_123
led2[3]
Pin_112
led1[0]
Pin_122
led2[2]
Pin_111
g1
Pin_142
led2[1]
Pin_110
g2
Pin_67
led2[0]
Pin_109
r1
Pin_140
led1[7]
Pin_129
r2
Pin_84
led1[6]
Pin_128
y1
Pin_141
led1[5]
Pin_127
y2
Pin_127
图标3.5.2管脚配置
软件仿真图(总)
图表3.5.3软件仿真图(总)
图表3.5.4state仿真波形
仿真结果与程序所要的结果一样。
当state=”00”时g1<=1;当state
(1)<=’0’时r2<=’1’.
图表3.5.5urgent仿真波形
当urgen=‘1’时r1<=’1’,r2<=’1’;仿真结果与程序设计符合。
硬件仿真结果图
图表3.5.6硬件仿真结果
第四章总结
在硬件仿真过程中,遇到了问题。
我选用的芯片为EPF10CLC84_4,仿真机不识别,总是显示错误。
在老师及同学帮助下,我重新换选CyclonEP1C3T1144C8芯片,致使仿真成功进行,红绿灯,数码管显示正确。
可见在仿真过程中选用正确的芯片也极为重要。
本设计采用VHDL硬件描述语言文本输入方式,在确立总体预期实现功能的前提下,分层次进行描述,其中所用到的数据均可依现场情况而设置,修改方便灵活。
数字化时代的到来给人们的生活带来了极大的改变,有理由相信随着数字化的深入,交通灯控制器的功能将日趋完善。
而且,VHDL语言对EDA产生的影响也是深远的,它缩短了电子产品的设计周期,为设计者提供了方便。
此次课程设计我收获很大,不仅更熟悉了EDA的知识,同时在仿真中遇到的问题不仅能找出来也可以比较好的解决,大大增强了动手能力。
参考文献
[1]电子设计自动化(孙加存主编)
[2]基于EDA的交通灯控制系统的设计(XX文库)