万年历电子钟设计报告

  • 格式: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。