《硬件系统课程设计》实验指导书
实验五、NiosII 系统设计——交通灯
北京交通大学 计算机学院
教师:丁晓明
本实验指导书演示了 NiosII 系统的硬件设计,软件设计,能实现一个交通灯功能。
本实验在前面实验的基础上,同学已经能熟练的使用 QuartusII 软件和模块化输入方法。
本实验主要包括 SOPC Builder,NiosII IDE,QuartusII 的使用,主要目的在于指导同学学习如何定制一个
NiosII 硬件系统和如何在此基础上编写软件程序。
实验条件:
Cyclone EP2C35 教学套件
QuartusII 9.0
SOPC Builder 9.0
NiosII 9.0
NiosII IDE
在本实验中,我们将以 Cyclone EP2C35 学习板为平台,介绍开发一个交通控制灯的软、硬件方案设计,涉
及到的代码,只需要按照实验指导书将代码拷贝到工程文件夹中即可。
系统软、硬件需求分析,
1. 该系统要实现的功能:
(1). 在数码管上显示交通控制灯的时间
(2). 显示交通控制灯,使用开发板上的 4 个 LED 来演示
2. 硬件系统组成规划
根据系统要实现的功能和开发板配置,本项目中需要用到的 Cyclone Ⅱ上的外围器件有:
数码管:交通控制灯时间显示屏幕
LED:交通控制灯
Flash 存储器:存储软、硬件程序
SDRAM 存储器:程序运行时将其导入 SDRAM
根据所用到的外设和器件特性,在 SOPC Builder 中建立系统要添加的模块包括:NiosII CPU,数码管, 外
部 RAM 总线(Avalon 三态桥),外部 RAM 接口,外部 Flash 接口,SDRAM。
3.软件系统规划
要实现系统所需的功能,大量的工作应该集中在软件设计和优化上。电子钟的软件功能主要分为显示、设
置和时间算法三大部分。
1. 显示部分
显示部分的功能包括:
(1). 显示交通控制灯改变的剩余时间(秒)
(2). 显示当前闪亮的交通灯
2. LED 部分
LEDR1:相当于红灯
LEDR0,LEDG7:相当于黄灯
LEDG6:相当于绿灯
3. 时间部分
行硬件设计的同时开始编写。
4. 软件流程图
时间累加,红灯闪亮时间为 30 秒,黄灯闪亮时间为 10 秒,绿灯闪亮时间为 60 秒
通过对软件要完成的功能进行分析可以看出,这里只有 LED 和显示部分需要涉及硬件,其它子程序可在进
开始
初始化液晶
初始化变量
开始主循环
红灯亮并计时
黄灯亮并计时
绿灯亮并计时
结束
实验内容:
1. 系统硬件
(1) 首先新建工程,添加所需文件.
(2)然后点击 Tools->SOPC Builder,进入 SOPC Builder,运行 SOPC Builder,为设计命名为 nios2,选择 VHDL。
(3)给要设计的系统模块命名,此处我们命名为 system_0;Target HDL 项,选择 VHDL,指定设计中各模块
生成的 HDL 类型,命名完毕,点击 OK。
(4)Clock 为 50MHz,Target Device Family 为 cyclone Ⅱ,clk_0 改为 clk。
(5)双击 Avalon Components NiosII Processor,添加一个 NiosII/f 处理器
Instruction Cathe:4KB
JTAG 调试模块等级:Level 1
然后点击 Finish。
(6)添加 JTAG UART,在 interface protocols/serial 选项卡下选择 Create ModelSim alias to open a window showing
output as ASCII text,其他设置保持默认状态,如下图。