实验四电子钟de2

上传人:cn****1 文档编号:489106492 上传时间:2022-12-02 格式:DOC 页数:54 大小:2.45MB
返回 下载 相关 举报
实验四电子钟de2_第1页
第1页 / 共54页
实验四电子钟de2_第2页
第2页 / 共54页
实验四电子钟de2_第3页
第3页 / 共54页
实验四电子钟de2_第4页
第4页 / 共54页
实验四电子钟de2_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《实验四电子钟de2》由会员分享,可在线阅读,更多相关《实验四电子钟de2(54页珍藏版)》请在金锄头文库上搜索。

1、基于软核技术的嵌入式系统设计实验四、NiosII系统设计电子钟-DE2北京交通大学 计算机学院教师:丁晓明本实验指导书演示了NiosII系统的硬件设计,软件设计,能实现一个电子钟功能。本实验在前面实验的基础上,同学已经能熟练的使用QuartusII软件和模块化输入方法。本实验主要包括SOPC Builder,NiosII IDE,QuartusII的使用,主要目的在于指导同学学习如何定制一个NiosII硬件系统和如何在此基础上编写软件程序。实验条件: Cyclone II EP2C35F672C6教学套件QuartusII9.0SOPC Builder9.0NiosII9.0 NiosII I

2、DE在本实验中,我们将以Cyclone II EP2C35F672C6学习板为平台,介绍开发一个电子钟的软、硬件方案设计,涉及到的代码,只需要按照实验指导书将代码拷贝到工程文件夹中即可。(注意:使用cyclone开发板的同学在设置时需要做相应的改动)系统软、硬件需求分析:1. 该系统要实现的功能:(1). 在液晶屏上显示时间,日期(2). 对时间、日期能够进行设置2. 硬件系统组成规划根据系统要实现的功能和开发板配置,本项目中需要用到的Cyclone II开发板上的外围器件有:LCD:电子钟显示屏幕按钮:电子钟设置功能键Flash存储器:存储软、硬件程序SRAM存储器:程序运行时将其导入SRA

3、M根据所用到的外设和器件特性,在SOPC Builder中建立系统要添加的模块包括:NiosII CPU定时器,按键PIO,LCD, 外部RAM总线(Avalon三态桥),外部RAM接口,外部Flash接口。3软件系统规划要实现系统所需的功能,大量的工作应该集中在软件设计和优化上。电子钟的软件功能主要分为显示、设置和时间算法三大部分。1. 显示部分显示部分的功能包括:(1). 显示时间(小时:分钟:秒)(2). 显示日期(年-月-日)2. 设置部分设置部分的功能包括:设置小时,设置分钟,设置年份,设置月份,设置日期和退出设置。设置部分的程序主要用在对按键的响应。在编写程序前要对Stratix开

4、发板上的四个按键功能进行如下分配:(1). 主菜单(a). SW0:设置选择键,可依次选择设置小时,分钟,年份,月份和日期 (b). SW1:显示日期键 (c). SW2:显示时间键(2). 子菜单(即进入对某个选项设置后的键盘功能):(a). SW1:选项数字增加 (b). SW2:选项数字减少 (c). SW3:退出对选项的设置,返回主菜单3. 时间算法部分时间算法部分的功能包括:(1). 时间累加(2). 确定每个月的最大天数,使年、月、日能正确累加通过对软件要完成的功能进行分析可以看出,这里只有按键响应和显示部分需要涉及硬件,其它子程序可在进行硬件设计的同时开始编写。4. 软件流程图开

5、始计时初始化液晶初始化变量开始主循环开始检测按键及按键响应结束是否计时?是否实验内容:1. 系统硬件(1) 首先根据前面的实验步骤,创建一个新工程lab4prj。(2)点击 Tools-SOPC Builder,进入SOPC Builder,运行SOPC Builder,(3)给要设计的系统模块命名,此处我们命名为niosII;Target HDL项,选择VHDL,指定设计中各模块生成的HDL类型,命名完毕,点击OK。(4)设置Clock为50MHz,Target Device Family为Cyclone II。(5)双击Avalon Components NiosII Processor,

6、添加一个 NiosII/s 处理器Instruction Cathe:4KBJTAG调试模块等级:Level 2然后点击Finish。用鼠标右键点击cpu_0,选择rename选项,将NiosII处理器cpu_0更名为cpu(6)添加 JTAG UART,在Simulation选项卡下选择Create ModelSim alias to open a window showing output as ASCII text,其他设置保持默认状态,如下图。并命名为jtag_uart (7) 添加一个计时器(Interval Timer),Initial Period设置为10msec,其他为默认设

7、置。并命名为sys_clk_timer。(8)再添加一个计时器,使用如下,并命名为high_res_timer 。(9)添加Avalon Tri-state Bridge,将Incoming Signals设置为Registered模式,并命名为ext_ram_bus(10)添加Flash存储器,设置如下,并命名为ext_flash。(11)添加SDRAM Controller,使用如下设置,并命名为ext_ram。(12)添加Character LCD,并命名为lcd_16207_0。(13)添加一组PIO(Parallel I/O)宽度设置为4位,方向设置为输入,并命名为pio_butto

8、n。设置如下:(14)添加PLL模块点击 Launch Alteras ALTPLL Mega wizard进入PLL设计器件选择Any,时钟为50Mhz,其他保持默认。点击左上角output clocks对c0的设置如下图所示:然后点击clk c1;点击Finish完成PLL设计。点击Finish然后按照下图做一些改动:(15)到此完成系统的搭建,根据下图的连接关系把各模块与总线连接好。然后选择SystemAuto-Assign Base Addresses,为各模块自动分配地址;再选择Auto-Assign IRQs,自动分配中断顺序。分别在ext_flash和ext_ram的base上点

9、击右键,选择lock base address。最后系统整体配置如下图所示:(19)在NiosII more “cpu” settings选项卡中,设置reset address ext_ram为,exception address为ext_flash,配置如下图所示:点击Generate生成系统(20)SOPC Builder完成,提示成功生成系统,点击Exit。(21)将我们提供的test.bdf原理图文件拷贝到你所做的工程目录下,并将其添加到工程中,设置为顶层文件,打开该文件如图所示: 将SOPC Builder生成的模块插入原理图设计,在原理图空白处单击鼠标右键,选择插入或者双击左键插

10、入选择Projects/niosII(22)设置QuartusII编译工具,点击进入如下界面 (23)管脚分配选择project下的generate Tcl file for project,在如下界面点击ok, 产生的test.tcl文件在QuartusII软件中打开example下的standard工程(D:alterakitsnios2_60examplesvhdlniosII_stratix_1s10),产生standard.tcl文件(同样需要按照上面的步骤产生),把文件中带有set_location_assignment指令,并且-to的后面参数与现有工程中使用管脚名字相关的语句拷

11、贝到test.tcl文件的下面位置,然后保存。(这个过程需要万分的小心和仔细,请大家注意)选择tools下的tcl scripts,按照下图选择tcl文件。点击run,就可以把standard工程的管脚定义运用到现有的工程中,这就是管脚命名时提醒注意的地方,如果管脚名字与standard工程的对应管脚名字不同,那么tcl文件的添加就没有效果了。这种方法可以节省定义管脚的时间,尤其是在有参照工程管脚定义的情况下,更为方便。分配完管脚保存。(24) 点击编译工程。2. 系统软件(1). 首先打开NiosII IDE,选择开始菜单下所有程序中的AlteraNiosII EDS 6.0NiosII I

12、DE。路径设到各自实验工程的software文件夹,若不存在,新建此文件夹。(2). 选择FileNewProject创建新的软件工程,选择C/C+ Application,点击next。并命名为clock,在目标硬件 (Target Hardware)选项中指定为刚才完成的设计文件(nios2.ptf),并选用Blank Project作为模板(3). 点击Next,为刚创建的软件工程建立新的系统库(system library)(4). 鼠标右键点击上一步创建的clock软件工程,选择Import选择Filesystem,在From Directory中选择E:alteraqdesigns

13、60lab5software(路径不唯一,根据自己的修改),Into Directory中选中刚才所创建的软件工程nios2,添加包含源代码的文件clock.c和clock.h(5). 双击打开clock.c文件,浏览阅读代码(6). 设置编译器,鼠标右键单击软件工程clock_syslib,选择Properties,选择System Library,配置如下图所示。(7). 编译程序,鼠标右键单击软件工程clock,选择Build Project,由于第一次编译程序,NiosII IDE会根据硬件配置和编译器配置生成很多库文件,所以时间比较长。(8). 将FPGA配置文件下载到Cyclone芯片上,点击Tools-QuartusII Programmer选择QuartusII生成的硬件工程配置文件.sof文件,并选中Program/Configure选项,点击Start。(9). 编译通过后的程序可以下载到芯片上运行,点击Run-Run.(有的可能不会出现如下设置,可以直接忽略)在Target Connection界面如下设置,其他保持默认设置。如果对应列表中没有相应器件,请点击refresh。设置完毕,点击apply。(10). 然后点击run,观察程序运行情况。在LCD上有相应显示。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号