万年历电子钟设计报告
- 格式:docx
- 大小:1.17 MB
- 文档页数:24
课程设计报告
课程设计名称 SOPC原理及应用
专 业 电子科学与技术
班 级 电子13-1班
学 号 ********
姓 名 郑航
指导教师 冯 丽
成 绩
2016年1月13日
目录
一、 设计目的.............................................................................................................. 1
二、 设计内容要求...................................................................................................... 1
三、 系统软、硬件需求分析...................................................................................... 1
1. 硬件系统组成规划 .......................................................................................... 1
2. 软件系统规划 .................................................................................................. 1
四、 设计步骤.............................................................................................................. 3
3. 新建工程“count_binary” ............................................................................. 3
4. 添加ip核 ......................................................................................................... 3
5. 添加SDRAM Controller .................................................................................... 4
6. 添加flash .......................................................................................................... 5
7. 添加外部RAM总线(Avalon三态桥)......................................................... 6
8. 添加pio核 ....................................................................................................... 6
9. 添加cpu核 ....................................................................................................... 7
10. 添加LCD核 ...................................................................................................... 8
11. 自动分配基地址并生成系统 .......................................................................... 8
12. 设置顶层模块图 .............................................................................................. 9
13. 管脚分配并编译 .............................................................................................. 9
14. 启动Nios II IDE,新建工程 ........................................................................... 10
15. 导入设计程序 ................................................................................................ 10
16. 编译工程并烧录 ............................................................................................ 11
五、 设计结果............................................................................................................ 12
六、 源程序................................................................................................................ 14
1. LCD.h程序 ..........................................................................错误!未定义书签。
2. count_binary.h程序 ...........................................................错误!未定义书签。
3. altera_avalon_pio_regs.h程序 ...........................................错误!未定义书签。
4. count_binary.c程序 ......................................................................................... 14
七、 实验心得............................................................................................................ 22
1 项目基于NiosII系统的电子钟设计
一、设计目的
1.掌握基本的开发流程。
2.熟悉QUARTUS II软件的使用。
3.熟悉NIOS II软件的使用。
4.掌握SOPC硬件系统的搭建和NIOSII软件编程方法。
5.掌握SOPC系统设计方法。
6.进一步了解简单的设置及其编程。
二、设计内容要求
NiosII系统的硬件设计,软件设计,该系统能实现一个电子钟功能。
三、系统软、硬件需求分析
1. 硬件系统组成规划
根据系统要实现的功能和开发板配置,本项目中需要用到的Cyclone II开发板上的外围器件有:
LCD:电子钟显示屏幕
按钮:电子钟设置功能键
Flash存储器:存储软、硬件程序
SRAM存储器:程序运行时将其导入SRAM
根据所用到的外设和器件特性,在SOPC Builder中建立系统要添加的模块包括:NiosII CPU定时器,按键PIO,LCD, 外部RAM总线(Avalon三态桥),外部RAM接口,外部Flash接口。
2. 软件系统规划
要实现系统所需的功能,大量的工作应该集中在软件设计和优化上。电子钟的软件功能主要分为显示、设置和时间算法三大部分。
①显示部分
显示部分的功能包括:
显示日期(年-月-日)
显示时间(小时:分钟:秒)
2
②设置部分
设置部分的功能包括:设置小时,设置分钟,设置年份,设置月份,设置日期。设置部分的程序主要用在对按键的响应。在编写程序前要对开发板上的四个按键功能进行如下分配:
SW0:换行键,可选择设置第一行或者第二行
SW1:选项数字减少
SW2:选项数字增加
SW3:选择键,可依次选择设置小时,分钟或者年份,月份和日期
③时间算法部分
时间算法部分的功能包括:
(a). 时间累加
(b). 确定每个月的最大天数,使年、月、日能正确累加
通过对软件要完成的功能进行分析可以看出,这里只有按键响应和显示部分需要涉及硬件,其它子程序可在进行硬件设计的同时开始编写。
③ 软件流程图
3 四、设计步骤
3. 新建工程“count_binary”
4. 添加ip核
点击 Tools->SOPC Builder,进入SOPC Builder,运行SOPC Builder,添加ip核。
4
5. 添加SDRAM Controller
5
6. 添加flash
Address Wicth设置为22,Data Wicth设置为16。
6
Setup、Wait、Hold都设置为40。
7. 添加外部RAM总线(Avalon三态桥)
8. 添加pio核
添加一组PIO(Parallel I/O)宽度设置为4位,方向设置为输入,并命名为button_pio。