您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 万年历电子钟设计报告
课程设计报告课程设计名称SOPC原理及应用专业电子科学与技术班级电子13-1班学号13040114姓名郑航指导教师冯丽成绩2016年1月13日目录一、设计目的..............................................................................................................1二、设计内容要求......................................................................................................1三、系统软、硬件需求分析......................................................................................11.硬件系统组成规划..........................................................................................12.软件系统规划..................................................................................................1四、设计步骤..............................................................................................................33.新建工程“count_binary”.............................................................................34.添加ip核.........................................................................................................35.添加SDRAMController....................................................................................46.添加flash..........................................................................................................57.添加外部RAM总线(Avalon三态桥).........................................................68.添加pio核.......................................................................................................69.添加cpu核.......................................................................................................710.添加LCD核......................................................................................................811.自动分配基地址并生成系统..........................................................................812.设置顶层模块图..............................................................................................913.管脚分配并编译..............................................................................................914.启动NiosIIIDE,新建工程...........................................................................1015.导入设计程序................................................................................................1016.编译工程并烧录............................................................................................11五、设计结果............................................................................................................12六、源程序................................................................................................................141.LCD.h程序..........................................................................错误!未定义书签。2.count_binary.h程序...........................................................错误!未定义书签。3.altera_avalon_pio_regs.h程序...........................................错误!未定义书签。4.count_binary.c程序.........................................................................................14七、实验心得............................................................................................................221项目基于NiosII系统的电子钟设计一、设计目的1.掌握基本的开发流程。2.熟悉QUARTUSII软件的使用。3.熟悉NIOSII软件的使用。4.掌握SOPC硬件系统的搭建和NIOSII软件编程方法。5.掌握SOPC系统设计方法。6.进一步了解简单的设置及其编程。二、设计内容要求NiosII系统的硬件设计,软件设计,该系统能实现一个电子钟功能。三、系统软、硬件需求分析1.硬件系统组成规划根据系统要实现的功能和开发板配置,本项目中需要用到的CycloneII开发板上的外围器件有:LCD:电子钟显示屏幕按钮:电子钟设置功能键Flash存储器:存储软、硬件程序SRAM存储器:程序运行时将其导入SRAM根据所用到的外设和器件特性,在SOPCBuilder中建立系统要添加的模块包括:NiosIICPU定时器,按键PIO,LCD,外部RAM总线(Avalon三态桥),外部RAM接口,外部Flash接口。2.软件系统规划要实现系统所需的功能,大量的工作应该集中在软件设计和优化上。电子钟的软件功能主要分为显示、设置和时间算法三大部分。①显示部分显示部分的功能包括:显示日期(年-月-日)显示时间(小时:分钟:秒)2②设置部分设置部分的功能包括:设置小时,设置分钟,设置年份,设置月份,设置日期。设置部分的程序主要用在对按键的响应。在编写程序前要对开发板上的四个按键功能进行如下分配:SW0:换行键,可选择设置第一行或者第二行SW1:选项数字减少SW2:选项数字增加SW3:选择键,可依次选择设置小时,分钟或者年份,月份和日期③时间算法部分时间算法部分的功能包括:(a).时间累加(b).确定每个月的最大天数,使年、月、日能正确累加通过对软件要完成的功能进行分析可以看出,这里只有按键响应和显示部分需要涉及硬件,其它子程序可在进行硬件设计的同时开始编写。③软件流程图3四、设计步骤3.新建工程“count_binary”4.添加ip核点击Tools-SOPCBuilder,进入SOPCBuilder,运行SOPCBuilder,添加ip核。45.添加SDRAMController56.添加flashAddressWicth设置为22,DataWicth设置为16。6Setup、Wait、Hold都设置为40。7.添加外部RAM总线(Avalon三态桥)8.添加pio核添加一组PIO(ParallelI/O)宽度设置为4位,方向设置为输入,并命名为button_pio。79.添加cpu核双击AvalonComponents(NiosIIProcessor,添加一个NiosII/s处理器并将ResetVector改为cfi_flash_0,ExceptionVector改为sdram。810.添加LCD核11.自动分配基地址并生成系统最小系统NIos_small所需组件添加完毕,自动分配基地址和中断,分别选择“System|Auto‐AssignBaseAdresses”和“System|Auto‐AssignIRQs”。并把ip核名字改为如下图。点击“Generate”,SOPCBuilder会提示生成系统的进程,系统生成完成的时会提示“SUCCESS:SYSTEMGENERATIONCOMPLETED”。单击“EXIT”按钮退出SOPCBuilder。912.设置顶层模块图回到QuartusII里面,新建一个图形设计原理图,托出刚才SOPCBuilder生成的系统图形,再设计一个PLL锁相环,如图:13.管脚分配并编译打开FPGA2C35_pins.txt,把需要用到的管脚复制到qsf文件中,并把引脚的名字改成与qsf文件中的名字一致,未使用的管脚置成三态,设置完开始编译。1014.启动NiosIIIDE,新建工程至此硬件设置已完成,动NiosIIIDE,新建工程选择“File|New|Project”。在NewProject对话框中选择“NiosC/C++Application”单击“Next”,左栏中选择“BlankProject”模板,工程名为“clock”,点击“Browse…”选SOPCBuilderSystem选择刚生成的最小系统文件“sopc_clock.ptf”,15.导入设计程序把编写好的altera_avalon_pio_regs.h、count_binary.h、LCD.h、count_binary.c文件复制路径count_binary\software\clock里,复制完成后,回到NiosIIIDE下,右键点击clock,选择Refresh,刷新一下软件工程列表,打开加号就会看到添加的四个文件,双击count_binary.c可以看到C语言程序源码。1116.编译工程并烧录右击工程名选择“SystemLibraryProperties”,进入系统设置界面。设置完成后选择“Project|Buildall”进行编译。编译完成后“Tools|QuartusIIProgrammer…”,将程序下载至开发板上的FPGA。再选择“Run|
本文标题:万年历电子钟设计报告
链接地址:https://www.777doc.com/doc-6024161 .html