实验五nios系统研究设计交通灯DE版.docx

上传人:b****5 文档编号:8242351 上传时间:2023-01-30 格式:DOCX 页数:19 大小:1.22MB
下载 相关 举报
实验五nios系统研究设计交通灯DE版.docx_第1页
第1页 / 共19页
实验五nios系统研究设计交通灯DE版.docx_第2页
第2页 / 共19页
实验五nios系统研究设计交通灯DE版.docx_第3页
第3页 / 共19页
实验五nios系统研究设计交通灯DE版.docx_第4页
第4页 / 共19页
实验五nios系统研究设计交通灯DE版.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

实验五nios系统研究设计交通灯DE版.docx

《实验五nios系统研究设计交通灯DE版.docx》由会员分享,可在线阅读,更多相关《实验五nios系统研究设计交通灯DE版.docx(19页珍藏版)》请在冰豆网上搜索。

实验五nios系统研究设计交通灯DE版.docx

实验五nios系统研究设计交通灯DE版

《基于软核技术的嵌入式系统设计》

实验五(上)、NiosII系统设计——电子钟

北京交通大学计算机学院

教师:

丁晓明

本实验指导书演示了NiosII系统的硬件设计,软件设计,能实现一个交通灯功能。

本实验在前面实验的基础上,同学已经能熟练的使用QuartusII软件和模块化输入方法。

本实验主要包括SOPCBuilder,NiosIIIDE,QuartusII的使用,主要目的在于指导同学学习如何定制一个NiosII硬件系统和如何在此基础上编写软件程序。

实验条件:

CycloneEP2C20教案套件

QuartusII9.0

SOPCBuilder9.0

NiosII9.0

NiosIIIDE

在本实验中,我们将以CycloneEP2C20学习板为平台,介绍开发一个交通控制灯的软、硬件方案设计,涉及到的代码,只需要按照实验指导书将代码拷贝到工程文件夹中即可。

系统软、硬件需求分析,

1.该系统要实现的功能:

(1).在数码管上显示交通控制灯的时间

(2).显示交通控制灯,使用开发板上的4个LED来演示

2.硬件系统组成规划

根据系统要实现的功能和开发板配置,本工程中需要用到的CycloneⅡ上的外围器件有:

数码管:

交通控制灯时间显示屏幕

LED:

交通控制灯

Flash存储器:

存储软、硬件程序

SRAM存储器:

程序运行时将其导入SRAM

根据所用到的外设和器件特性,在SOPCBuilder中建立系统要添加的模块包括:

NiosIICPU,数码管,外部RAM总线(Avalon三态桥),外部RAM接口,外部Flash接口,SDRAM。

3.软件系统规划

要实现系统所需的功能,大量的工作应该集中在软件设计和优化上。

电子钟的软件功能主要分为显示、设置和时间算法三大部分。

1.显示部分

显示部分的功能包括:

(1).显示交通控制灯改变的剩余时间(秒)

(2).显示当前闪亮的交通灯

2.LED部分

LEDR1:

相当于红灯

LEDR0,LEDG7:

相当于黄灯

LEDG6:

相当于绿灯

3.时间部分

时间累加,红灯闪亮时间为30秒,黄灯闪亮时间为10秒,绿灯闪亮时间为60秒

通过对软件要完成的功能进行分析可以看出,这里只有LED和显示部分需要涉及硬件,其它子程序可在进行硬件设计的同时开始编写。

4.软件流程图

 

实验内容:

1.系统硬件

(1)首先将DE1_traffic文件里的文件全部拷贝到一个空文件夹下,可以用自己的学号定义。

然后双击DE1_NIOS.qpf文件打开工程。

(2)然后点击Tools->SOPCBuilder,进入SOPCBuilder,运行SOPCBuilder.

(3)给要设计的系统模块命名,此处我们命名为system_0;TargetHDL项,选择VHDL,指定设计中各模块生成的HDL类型,命名完毕,点击OK。

(4)Clock为100MHz,TargetDeviceFamily为cycloneⅡ,clk_0改为clk。

(5)双击AvalonComponentsNiosIIProcessor,添加一个NiosII/f处理器

InstructionCathe:

4KB

JTAG调试模块等级:

Level1

然后点击Finish。

(6)添加JTAGUART,在interfaceprotocols/serial选项卡下选择CreateModelSimaliastoopenawindowshowingoutputasASCIItext,其他设置保持默认状态,如下图。

(7)添加(RS-232serialport)uart_0,选择默认设置。

(8)添加自定义外设sram,并改名为sram_0.

(8)添加EPCSserialflashcontroller,改名为epcs_controller。

(9)添加Flash存储器,地址宽度22bits,其它使用默认设置。

(10)添加avalone-MMtriStateBridge,设置为register,命名为tri-state-bridge0.

将flash存储器链接到(tri-states-bridge)三态桥

然后双击tri-states-bridge_0模块,并进行如下选择:

(11)添加SDRAM,按下图进行设置。

(12)添加一组PIO(ParallelI/O),选择默认设置,并改名为LEDG

相同方法添加另一组PIO(ParallelI/O),命名为LEDR:

(13)添加User_logic中的SEG7_LUT_4,命名为SEG7。

双击cpu_0模块,并进行如下设置:

然后选择SystemAuto-AssignBaseAddresses,为各模块自动分配地址;再选择Auto-AssignIRQs,自动分配中断顺序。

最后系统整体配置如下图所示:

在System选项栏中,选中HDL选项,点击Generate生成系统

(20)SOPCBuilder完成,提示成功生成系统,点击Exit。

下图即为我们上面所生成的CPU的原理图

(24)点击编译工程。

2.系统软件

(1).首先打开NiosIIIDE,选择开始菜单下所有程序中的AlteraNiosIIEDS6.0NiosIIIDE。

路径设到各自实验工程的software文件夹,若不存在,新建此文件夹。

(2).选择FileNewProject创建新的软件工程,选择C/C++Application,点击next。

并命名为clock,在目标硬件(TargetHardware)选项中指定为刚才完成的设计文件(nios2.ptf),并选用BlankProject作为模板

(3).点击Next,为刚创建的软件工程建立新的系统库(systemlibrary)

(4).将traffic.h和traffic_light.c拷贝到刚才建好.\software\traffic文件夹下,并在niosIDE中右键traffic,refresh下一:

(5).双击打开clock.c文件,浏览阅读代码

(6).编译程序,鼠标右键单击软件工程clock,选择BuildProject,由于第一次编译程序,NiosIIIDE会根据硬件配置和编译器配置生成很多库文件,所以时间比较长。

(7).将FPGA配置文件下载到Stratix芯片上,点击Tools->QuartusIIProgrammer

选择QuartusII生成的硬件工程配置文件.sof文件,并选中Program/Configure选项,点击Start。

(9).编译通过后的程序可以下载到芯片上运行,点击Run->Run..

在TargetConnection界面如下设置,其他保持默认设置。

如果对应列表中没有相应器件,请点击refresh。

设置完毕,点击apply。

(10).然后点击run,观察程序运行情况。

在LCD上有相应显示。

思考:

更改程序,填加秒表功能,要求能精确到百分之一秒。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1