交通灯实验报告Word格式.docx
- 文档编号:13645737
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:16
- 大小:1.33MB
交通灯实验报告Word格式.docx
《交通灯实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《交通灯实验报告Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
能实现倒计时显示。
4.由初始状态开始计数,对应状态指示。
三、实验原理
3.1设计思路和原理
本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。
设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。
循环往复的直行这个过程。
其过程如下图所示:
状态
主干道
支干道
秒数(S)
1
绿灯
红灯
35
2
黄灯
5
3
25
4
3.2实现方法
本次采用文本编辑法,即利用VerilogHDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。
设计中用两组红黄绿LED模拟两个方向上的交通灯,用两个7段数码管显示主干道上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。
3.3整体设计
交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的循环转化,说明:
该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。
进入10状态两路黄灯亮起。
结束一个循环,从00状态重新开始循环。
为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序。
3.4具体设计
根据整体设计要求,编写各个功能部分VerilogHDL程序,设置各输入输出变量说明如下:
clk//实验箱1KHz的时钟计时
g1,g2,r1,r2,y1,y2;
//g、r、y依次为绿green红red黄灯yellow,1为主干道,2为支道
四、实训步骤
1、建立工程文件
1)打开QuartusII8.1,点击File,NewProjectWaizard:
Introdution,点击Next创建新的工程给命名为qiuge80fen,点击next,选择cycloneIII芯片,类型为FPGA,芯片型号EP3C40F78C08,)选择软件中的菜单File>
NewProjectWizard,新建一个工程。
2)点击NEXT进入工作目录,第一个输入框为工程目录输入框,用户可以输入如e:
/eda等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。
第二个输入框为工程名称输入框,第三个输入框为顶层实体名称输入框。
用户可以设定如EXP1,一般情况下工程名称与实体名称相同。
使用者也可以根据自已的实际情况来设定。
3)点击NEXT,进入下一个设定对话框,按默认选项直接点击NEXT进行器件选择对话框。
如图1-6所示。
这里我们以选用CycloneIII系列芯片EP3C40F780C8为例进行介绍。
用户可以根据使用的不同芯片来进行设定。
首先在对话框的左上方的Family下拉菜单中选取CycloneⅢ,在中间右边的Speedgrade下拉菜单中选取8,在左下方的Availabledevices框中选取EP3C40F780C8,点击NEXT完成器件的选取按默认选项,点击NEXT出现新建工程以前所有的设定信息
2.编写程序
选择软件中的菜单File>
New,选择VerilogHDL,新建一个VerilogHDL文件,然后进行程序的编写。
3、对设计文件进行编译
QUARTUSII编译器窗口包含了对设计文件处理的全过程。
在QUARTUSII软件中选择Processing>
CompilerTool菜单项,则出现QUARTUSII的编译器窗口,需要说明的是在进行设计文件的综合和分析,也可以单独打开某个分析综合过程不必进行全编译界面。
当完成上述窗口的设定后,点击START按钮进行设计文件的全编译。
如果文件有错,在软件的下方则会提示错误的原因和位置,以便于使用者进行修改直到设计文件无错。
整个编译完成,软件会提示编译成功。
4、管脚分配
1)在前面选择好一个合适的目标器件(在这个实验中选择为EP3C40F780C8),完成设计的分析综合过程,得到工程的数据文件以后,需要对设计中的输入、输出引脚指定到具体的器件管脚号码,指定管脚号码称为管脚分配或管脚锁定。
2)点击Assignments菜单下面的AssignmentEditor,进入到引脚分配窗口,首先将要分配管脚的信号放置在To下方。
双击To下方的New,选择NodeFinder进入对话框界面。
Filter窗口选择Pins:
all,在Named窗口中输入“*”,点击List在NodesFound窗口出现所有信号的名称,点击中间的>
>
按钮点击OK,再按分配管脚如下图完成后点击工具栏中的StartCompilation进行编译。
3)选择端口A的对应AssignmentName待其变为蓝色,双击之,出现下拉菜单选取如图1-19所示的Location(Acceptswildcards/groups)选项。
选择端口A的对应Value栏,待其变为蓝色,依照表1-2和表1-3所示的硬件与FPGA的管脚连接表(或附录),输入对应的管脚名AH12,按回车键,软件将自动将其改为PIN_AH12,同时蓝色选择条会自动跳转到Value栏的下一行,这表明软件已经将输入端口A分配到FPGA的AH12引脚上
5、波形仿真
1.)创建一个仿真波形文件,选择QUARTUSII软件File>
New,进行新建文件对话框。
选取对话框的Verification/DebuggingFiles标签页,从中选取VectorWaveformFile,点击OK按钮,则打开了一个空的波形编辑器窗口
2)设置仿真结束时间,波形编辑器默认的仿真结束时间为1µ
S,根据仿真需要,可以自由设置仿真的结束时间。
选择QUARTUSII软件的Edit>
EndTime命令,弹出线路束时间对话框,在Time框办输入仿真结束时间,点击OK按钮完成设置。
3)加入输入、输出端口,在波形编辑器窗口左边的端口名列表区点击鼠标右键,在弹出的右键菜单中选择Insert>
InsertNodeorBus…命令,在弹出的InsertNodeorBus对话框所示界面中点击NodeFinder…按钮。
在出现的NodeFinder界面中,在Filter列表中选择Pins:
all,在Named窗口中输入“*”,点击List在NodesFound窗口出现所有信号的名称,点击中间的按钮则SelectedNodes窗口下方出现被选择的端口名称。
双击OK按钮,完成设置,回到图1-27所示的InsertNodeorBus对话框,双击OK按钮,所有的输入、输出端口将会在端口名列表区内显示出来
4)编辑输入端口波形,即指定输入端口的逻辑电平变化,在如图波形编辑窗口中,选择要输入波形的输入端口如A端口,在端口名显示区左边的波形编辑器工具栏中有要输入的各种波形,其按钮说明根据仿真的需要输入波形。
完成后如图1-31所示。
最后选择软件的File>
Save进行保存。
5)指定仿真器设置,在仿真过程中有时序仿真和功能仿真之分,在这里介绍功能仿真。
SimulatorTool命令,打开仿真器工具窗口,
6)首先产生功能仿真网表文件,点击产生功能仿真网表的按钮GenerateFunctionalSimulationNetlist,产生功能仿真网表,然后点击开始仿真的START按钮开始进行仿真,直到仿真进度条为100%完成仿真。
点击仿真报告窗口按钮Report,观察仿真波形。
如下图
6、从设计文件到目标器件的加载
完成对器件的加载有两种形式,一种是对目标器件进行加载文件,一种是对目标器件的配置芯片进行加载。
这里我们介绍对目标器件EP3C80F780C8进行加载的方法。
1)使用USB连接线将PC机与实验系统连接起来(具体方法请参照用户手册第三节USB电缆的安装与使用)。
2)选择QUARTUSII软件的Tool>
Programmer命令,进行编程器窗口,如图1-33所示,如果没有设置编程硬件,则编程硬件类型为NoHardware,需要对编程硬件进行设置。
点击HardwareSetup…编程硬件设置按钮,进行编程硬件设置对话框。
3)在AddHardware对话框中,从Hardwaretype列表中选择所需要硬件类型,如果是USB接口的请参照用户使用手册中的USB电缆的安装与使用,如果使用的是并口下载线则选取如图1-35所示的硬件类型,点击OK按钮,完成对硬件类型的设置。
回到编程器硬件设置窗口,点击Close按钮退出设置。
则在编程器对话框中的编程硬件类型会出现刚才选取的编程器硬件。
4)如果软件已运行一个工程,则在打开编程器的时候,编程器窗口会自动出现这个工程文件要加载到目标器件的文件,如果要加载其它文件可以从其它地方进行添加更改。
选好加载文件后,再点选Progam/Configure,编程模式选取JTAG模式,点击STRAT进行文件加载,直到加载进度变为100%,文件成功加载完成。
5)烧录程序到开发箱
点击QuartusII8.1中的Tool选择programmer,点击Hardwaresetup选择USB-Blaster传输方式,点击start将程序烧入LTE-SOPC-02FBEDA开发箱中。
查看开发箱的工作状态。
四、实训数据及结果分析
通过以上实验得出以下数据:
1.波形仿真结果:
2.开发箱运行结果:
LED高电平点亮,使用引脚分别为C22、D22、M21、M24、L23、H23,7段数码的8位管由开发箱中的3-8译码器控制,由000、001、010、011、100、101、110、111分别控制,本次实验使用的是000和001,通过快速扫描,使其看上去同时点亮。
State0为主干道绿灯亮,从35秒开始倒计时,倒计时为0时,进入State1;
State1为主干道黄灯亮,支道保持红灯,从5秒开始倒计时,倒计时为0时,进入State2;
State2为主干道红灯亮,从25秒开始倒计时,倒计时为0时,进入State3;
State3,为主干道黄灯亮,支道保持红灯,从5秒开始倒计时,倒计时为0时,进入State0。
State0
、State
1、State2、
State3按顺序循环。
五、思考与总结
在设计中采用VerilogHDL语言设计交通灯控制系统,借助其功能强大的语言结构,简明的代码描述复杂控制逻辑设计,与工艺无关特性,在提高工作效率的同时达到求解目的,并可以通过VerilogHDL语言的综合工具进行相应硬件电路生成,具有传统逻辑设计方法所无法比拟的优越性。
在设计过程中,觉得最难的部分是波形仿真部分,虽然程序编译通过但仿真出不了正确的波形,不是计数器无法正常计数,就是控制输出无法进入到下一个状态,每次出现问题就必须返回重新修改程序。
实践证明,在编写一个较复杂
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 实验 报告