《led模拟交通灯实验实训报告剖析》由会员分享,可在线阅读,更多相关《led模拟交通灯实验实训报告剖析(9页珍藏版)》请在金锄头文库上搜索。
1、 实训报告 FPGA系统 LED模拟交通灯实验姓 名: 学 号: 班 级: 专 业: 指 导 教 师: 年 月 日一、 大规模多FPGA系统概述 大规模多FPGA系统是针对大学、研究机构和集成电路设计公司的教学及科研推出的多FPGA开发平台。该平台采用了Altera公司的FPGA芯片,核心芯片选择了Cyclone II系列的EP2C20,该平台可以支持四块FPGA芯片的单独下载及调试,也支持级联下载以应对更为复杂的设计。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块
2、IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(161RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模
3、块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。二、FPGA的应用及本次试验主要器件FPGA的应用可分为三个层面:电路设计,产品设计,系统设计。电路设计:连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石。事实上在电路设计中应用FPGA要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。 产品设计:把相对成熟的技术应用到某些特定领域开发出满足行业需要并能被行业客户接受的产品。这方面主要是FPGA技术和专业技术的结合问题,重点在性能, FPGA技术在这个领域是一个实现手段,FPGA因为具备接口,控制,功能IP,内嵌C
4、PU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计。系统级应用:系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA版的计算机系统如用XilinxV-4, V-5系列的FPGA,实现内嵌POWERPCCPU, 然后再配合各种外围功能,这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口了,这对于快速构成FPGA大型系统来讲是很有帮助的。三、 本次实训要求及目的 (1)通过使用计算机进行FPGA系统编程,使其成功运行。并在FPGA板上(图1-1 )成功实现效果运行。 (2)通过修改系统使板子上的灯变换速度 (3)减慢计时系统运行正常。1.实验目的 熟悉F
5、PGA的开发流程; 能够熟练使用C语言程序设计和SOPC技术原理; 熟练使用开发软件工具; 了解FPGA系统的实际电路,要结合以前练习的全部实验步骤2.任务概述我们利用单片机设计了简单的交通信号灯模型,该可以模拟实现交通信号灯的红绿黄灯变换,达到引导交通的效果。控制器由一条支干道路和一条主干道路汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。3.设计分析 模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。当南北方向通车时绿灯亮,而东西方向红灯亮;当通车的
6、时间到后,南北方向绿灯熄灭,而黄灯亮,黄灯亮后由南北方向切换到东西方向通车。此时南北方向黄灯熄灭,而红灯亮,东西方向红灯熄灭,而绿灯亮,东西方向开始通车,通车的时间到后,东西方向的绿灯熄灭,而黄灯亮,黄灯亮后由东西方向切换到南北方向,东西方向黄灯熄灭,红灯亮;而南北方向红灯熄灭,绿灯亮,如此不断循环。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通。4.实验模块此次在大规模多FPGA系统的SOPC实验板上开发的实验模块主要分四个部分,也就是音频和VGA显示模块,交通灯模块,LCD显示模块和计时器模块。这四个部分虽然是分开来用软件编写仿真编译的,但是在下载程序到S
7、OPC实验板时它们又是必须一起下载到SOPC实验上的,根据下载程序的编写,在下载时每个模块的顺序是不能颠倒的,否则对应到FPGA板的下载程序就会下载到另外一个FPGA板上,所以在下载时要严格按照模块的顺序来下载程序到SOPC实验板上去。模块一,音频和VGA显示模块,的功能是根据软件的编写编译和下载来实现对某一音乐的重复播放,而VGA显示器则显示的是播放的音频对应的音符在钢琴键上的演示情况。模块二,交通灯模块,的功能是在SOPC实验板上模拟十字路口交通灯的效果:在马路十字路口的东南西北四个方向分别设置红绿黄三个交通灯,本实验仅以红绿黄LED灯来模拟实际的交通灯,编写程序然后编译下载到SOPC实验
8、板上来模拟实现实际交通灯的运行效果。模块三,LCD显示模块,的功能是在LCD显示屏上显示文字和数字。模块二和模块三并不是单独分开的,模块二的功能实际上是在模块三下完成的。模块二完成的是对输入输出接口定义和所需要实现的功能的程序编写,而实现模块二功能确实由模块三来完成的。模块二和模块三之间的主芯片通过IO口相连,然后达到用模块二的主芯片来控制模块三的主芯片的部分输出。模块四,计时器模块,分为两个部分,一个是由四个LED按二进制进位并循环显示的计数部分,另一个是由四个数码管来显示的计时部分,两个数码管来进行秒数显示,另外两个数码管则是来进行分钟显示。5.1 音频输出和VGA显示实验 、LED模拟交
9、通灯实验、 Lcd显示输出实验、数码管计时器实验1.目的: 1.1掌握应用Verilog HDL语言进行数字电路设计的FPGA应用; 1.2熟悉VGA显示时序的工作原理; 熟悉LED模拟交通灯的工作原理; 熟悉Lcd显示的工作原理; 熟悉数码管显示时序的工作原理; 1.3通过实现显示器彩条信号发生器实验,熟悉较复杂时序逻辑的硬件设计。 通过实现LED模拟交通灯实验,熟悉较复杂时序逻辑的硬件设计。 通过实现Lcd显示屏实验,熟悉较复杂时序逻辑的硬件设计。 通过实现数码管计时实验,熟悉较复杂时序逻辑的硬件设计。2.内容: 2.1在FPGA上实现音频控制和VGA控制器,使VGA接口的显示器实现VGA
10、琴键动态跳动显示输出和音频接口重复输出一段音频。 2.2在FPGA上实现LED模拟交通灯工作机制。 2.3在FPGA上实现Lcd显示屏的输出。 2.4在FPGA上实现四个数码管计时一小时的实验,同时通过四个Led灯循环显示每秒计时的跳动3.实验设备:SOPC核心板、USB-Blaster下载线、电源,PC,VGA接口的显示器,小音响、Lcd显示屏。5、 设计步骤 (一)、通过在quartus ii软件中运用Verilog HDL语言编写程序来实现整个模块。 (二)、编程、分配管脚并编译 实验的编程语言选择的是Verilog HDL语言,在编程的时候选择建立Verilog HDL文件。当所有的V
11、erilog HDL文件都准备好以后就可以进行管脚分配工作了。单击Assignment-Pin Planner进入管脚分配界面了,按照需要分配管脚和管脚对应的管脚号 (三)、交通灯模拟实验 建立工程,步骤仿照模块一,建立的工程放在路径。然后新建一名为clk_div.v文件,键入程序,程序如附录B所示。clk_div.v文件的功能相当于一个分频器,它将接入的高频率的时钟经过处理达到时钟频率下降为之前的几十万倍的效果。成功生成图元符号。成功生成图元符号。 (四)、Lcd显示输出实验新建.bdf文件,命名为test_lcd.bdf,从Symbol Tool中找到各个图元符号,搭建硬件电路图。根据要求
12、来进行管脚分配工作,就会得到完整的硬件电路图了。 (五)、下载部分当所有模块都显示编译成功后,就可以进行下面的下载工作了。打开quartus ii的界面,单击工具栏的图标或者通过Tool-Programmer进入下载界面。在添加四个模块的.sof文件时需要注意,添加的.sof文件根据模块一至四的顺序依次添加。这是因为在制作这块SOPC实验板时编写了一段程序命令将添加的文件按照添加的先后顺序依次下载到u1、u2、u3和u4四块FPGA芯片中去,如果添加的顺序混乱,那么就将程序下载到不是与之对应的FPGA芯片中,这样FPGA芯片的控制就会混乱从而得不到实验结果。从添加.sof文件的过程中依次产生四
13、个相连接的FPGA芯片就能明白程序依次下载到FPGA芯片中的过程了。下载模式为JTAG模式的下载线为USB-BLASTER,所以在Hardware setup选项中选择USB-BlasterUSB-0。需要注意的是,下载线USB-BLASTER在连接电脑主机和SOPC实验板时,要将下载线的下载接口插到SOPC实验板上的JTAG下载接口上而不能连接到AS下载接口上,否则下载是无法成功的。下面显示的界面是硬件设置界面,将现在的硬件选择为现在线USB-Blaster。六、实验结果下载成功后,可以在板子上看见每个模块所控制的效果。模块一通过串口和Mic接口分别连接VGA显示器和小型音箱,下载几秒钟后就
14、可以看到VGA显示器上出现了黑白相间的钢琴键并且钢琴键自己动作起来,而小型音箱重复播放一段音乐。模块二模拟交通灯的工作模式,编程时为了测试led灯的好坏,将程序修改了一下,下载后会看到16个led灯会出现忽闪忽现的效果。而模块三因为没有焊接上lcd显示屏所以看不到它的控制效果。最后一个模块分成两个显示部分,一部分是四个led灯会像二进制递进一样的方式来循环点亮,而另外一部分就是四个数码管显示计时效果,最右边两个数码管显示计时的秒数,最左边的两个数码管显示计时的分钟。这样此次试验就成功完成了。七、实训过程中遇到的问题及解决方法 使用quartus ii软件中运用Verilog HDL语言编写程序
15、方面,开始就是没有确定正确的器件无法进行实验,所欲首先要确定的正确的器件,由于本次实训所需要建立的文件较多,所以在建立新的文件库是一定要确认路径是否真确,文件民称是否输入无误。在本次实训中因为需要cpu.v,但是cpu.v文件的程序因为涉及版权专利的问题,cpu.v文件是锁定的,不能直接看到文件中写的程序,所以在进行本模块实验时,对于cou.v文件的程序需要找老师直接进行拷贝保存。在每次编程时最后结束语有没有正确输入,如果没有正确输入,程序无法正确运行。最后的下载部分也是关键,再导入文件时要按照所需要的顺序进行导入如果没有正确导入程序 也无法正确运行。八、实训心得为期二天的课程设计很快就结束了,在这