sopc综合实验报告

上传人:第*** 文档编号:33964533 上传时间:2018-02-19 格式:DOC 页数:20 大小:831.50KB
返回 下载 相关 举报
sopc综合实验报告_第1页
第1页 / 共20页
sopc综合实验报告_第2页
第2页 / 共20页
sopc综合实验报告_第3页
第3页 / 共20页
sopc综合实验报告_第4页
第4页 / 共20页
sopc综合实验报告_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《sopc综合实验报告》由会员分享,可在线阅读,更多相关《sopc综合实验报告(20页珍藏版)》请在金锄头文库上搜索。

1、1综合实验 NiosII 数字钟设计单 位: 信息工程学院 班 级: 07 级 7 班学 号: 1071000253姓 名: 康宇晨指导老师: 邱德惠首 都 师 范 大 学2010 年 5 月2一、 设计概述用 Nios II DE2 开发板的 LCD 显示电子钟的日期和时间, LCD 分两行显示,第一行显示年月日,第二行显示时分秒。用输入按钮 BUTTON 来控制 LCD 行修改,通过 Nios II IDE 进行软件设计。二、 设计要求1掌握 Nios II 系统的设计和使用方法;2学习通过 Nios II IDE 进行软件设计的方法;3实现在液晶屏上显示时间和日期,并可以对其进行设置。三

2、、 实验环境DE2 开发板QuartusII 7.2SOPC Builder 7.2NiosII IDE 7.2四、 设计方案(总体设计、软件设计、硬件设计)1. 总体设计要实现以下两个功能:(1). 在液晶屏上显示时间,日期(2). 对时间、日期能够进行设置建立新工程 clock2. 硬件系统组成设计根据系统要实现的功能和开发板配置,需要用到的 DE2 开发板上的外围器件有:LCD:电子钟显示屏幕按钮:电子钟设置功能键CFI Flash 存储器:存储软、硬件程序SDRAM 存储器:程序运行时将其导入 SDRAM根据所用到的外设和器件特性,在 SOPC Builder 中建立系统要添加的模块包

3、括:NiosII CPU 定时器,按键 PIO,LCD, 外部存储器总线(Avalon 三态桥) ,外部 SDRAM 控制器,外部 Flash 接口。3打开 SOPC Buider,系统名称为 sopc_clock加入 SDRAM 组件4加入 Flash Memory 组件5加入外部存储器总线(Avalon 三态桥)6加入按键 PIO7加入 LCD8加入 NiosII CPU 定时器,选择标准型的元件添加完后,要为每个外设分配及地址和中断请求优先级(IRQ),在 System 中选择Auto-Assign Base Address 和 Auto-Assign IRQs 命令,这两个命令可分别简

4、单分配外设基地址和中断优先级。然后生成 Nios II 系统。9然后生成顶层文件,将 Nios II 系统模块加入到顶层文件中,如图所示原理图进行引脚锁定,并编译,然后进行硬件下载3软件系统设计要实现系统所需的功能,大量的工作应该集中在软件设计和优化上。电子钟的软件功能主要分为显示、设置和时间算法三大部分。显示部分的功能包括:显示时间(小时:分钟:秒)和 显示日期(年-月-日) 1设置部分的功能包括:设置小时,设置分钟,设置年份,设置月份,设置日 2期和退出设置。设置部分的程序主要用在对按键的响应。在编写程序前要对 DE2 开发板上的四个按键 BUTTON 功能进行如下分配:(1). 主菜单B

5、UTTON0:设置选择键,可依次选择设置时、分、秒和年、月、日BUTTON1:显示日期键BUTTON2:显示时间键(2). 子菜单(即进入对某个选项设置后的按键功能):BUTTON1:选项数字增加10BUTTON2:选项数字减少BUTTON3:退出对选项的设置,返回主菜单时间算法部分的功能包括:时间累加和确定每个月的最大天数,使年、月、 3日能正确累加五、 软件代码1count_binary.c 的代码:#include count_binary.h/程序每秒钟检测一次按钮的状态,对日期和时间进行设置#include alt_types.h#include #include #include

6、#include system.h#include sys/alt_irq.h#include altera_avalon_pio_regs.h#include lcd.h11volatile int edge_capture;void LCD_Init()/LCD 初始化lcd_write_cmd(LCD_BASE,0x38);usleep(2000);lcd_write_cmd(LCD_BASE,0x0C);usleep(2000);lcd_write_cmd(LCD_BASE,0x01);usleep(2000);lcd_write_cmd(LCD_BASE,0x06);usleep(2

7、000);lcd_write_cmd(LCD_BASE,0x80);usleep(2000);void LCD_Show_Text(char* Text)/LCD 输出格式int i;for(i=0;i=3)pos=0;/共有三个位置 0、1、2,超过了 2 要马上清 0if(screen=2)screen=0;/共有两行 0、1,超过了 1 要马上清 0/na_LED8-np_piodata=11)day-;elseif(check_month(month)=0)day=30;if(check_month(month)=1)day=31;if(check_month(month)=2)if(

8、check_year(year)day=29;else day=28;15if(screen=1)if(second0)second-;else second=59;if(pos=1)if(screen=0)if(month1)month-;else month=12;if(screen=1)if(minute0)minute-;else minute=59;if(pos=2)if(screen=0)if(year0)year-;else year=2005;if(screen=1)if(hour0)hour-;else hour=23;break;case 0x04:/对当前位置上的数据执行

9、加操作if(pos=0)if(screen=0)if(check_month(month)=0)if(dayDevice and Pin Options-Unused Pins,改为 As input tri-stated。七、 总结通过这 12 周的 SOPC 技术综合设计实践的学习,我学会了 Quartus II,SOPC Buider 和 Nios II DE2 的使用,并通过这些软件可以进行简单的实验操作,强化了我的动手能力,并通过这几次实验更加了解 SOPC 的设计与应用。在实验中,遇到了各种各样的问题,首先是自己进行检查,查不出来再由老师同学进行检查和讲解,提高了自己解决问题的能力

10、,并且熟悉了整个实验的流程及具体的操作。我觉得这门课程很有意思,实验中是把各个部分的操作整合在一起,形成一个系统,做实验时要有整体感,一旦出现问题整体的重新进行设置19和编译,比如如果添加组建时出现错误,要重新添加,重新生成模块,重新倒入模块,重新编译顶层文件,是一个整体的过程。八、 附录参考SOPC 技术与应用 ,编著:江国强,机械工业出版社。参考SOPC 技术综合设计实践实验指南 ,编著:邱德惠。思考题:1 何谓 SOC?SOC(System On a Chip)称为片上系统,它是指将一个完整产品的功能集成在一个芯片上或芯片组上。SOC 中可以包括微处理器 CPU、数字信号处理器 DSP、

11、存储器(ROM、RAM、Flash 等) 、总线和总线控制器、外围设备接口等,还可以包括数模混合电路(放大器、比较器、A/D 和 D/A 转换器、锁相环等) ,甚至传感器、微机电和微光电单元。2 何谓 SOPC?SOPC(System On a Programmable Chip)称为可编程片上系统,它是基于可编程逻辑器件(FPGA 或 CPLD)可重构的 SOC。SOPC 集成了硬核或软核 CPU、DSP、锁相环(PLL) 、存储器、I/O 接口及可编程逻辑,可以灵活高效地解决 SOC 方案,而且设计周期短,设计成本低,一般只需要一台配有 SOPC 开发软件的 PC 和一台 SOPC 实验开

12、发系统(或开发板) ,就可以进行 SOPC 的设计与开发。3 何谓 IP 核?IP(Intellectual Property)是知识产权的简称。集成电路 IP 是指经过预先设计、预先验证、符合产业界普遍认同的设计规范和设计标准,并具有相对独立并可以重复利用的电路模块或子系统,如 CPU、运算器、存储器、放大器等。集成电路 IP 模块具有知识含量高、占用芯片面积小、运行速度快、功耗低、工艺容差性大等特点,可重复用于 SOC、SOPC或复杂 ASIC 设计中。4 何谓嵌入式系统,嵌入式系统的 CPU 核可以分为哪两种类型?嵌入式系统是指嵌入到对象体系中的专用计算机系统,包括硬件和软件两大部分。硬

13、件包括处理器、存储器、输入输出接口和外部设备等,软件包括系统软件和应用软件。基于 SOPC 的嵌入式系统结构主要包括嵌入式微处理器(CPU 核) 、定时器(Timer) 、嵌入式锁相环(PLL) 、嵌入式数字信号处理器( DSP)及其他 IP 模块等部分。嵌入式系统的 CPU 核可以分为硬核和软核。5 简述 CPU 软核的特点。软核通常以可综合的 HDL 提供,因此具有较高的灵活性,并与具体的实现工艺无关,其主要缺点是缺乏对时序、面积和功耗的预见性。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。6 简述 HAL 的用途及基于 HAL 的外围设备的编程方

14、法。HAL 作为支持 Nios II 处理器系统的软件包,为用户的嵌入式系统上的外围设备提供了与之相匹配的接口程序。用户不用自己建立或复制 HAL 文件,也不需要编辑 HAL 中的20任何源代码,使用时只需要在 C/C+源程序中指明代表这些接口程序的库函数包含的头文件即可。在一个基于 Nios II 的 SOPC 系统上,外围设备包括通用异步串口 UART、发光二极管LED、七段数码管、按钮、LCD、存储器、定时器、鼠标、VGA 等。在应用软件的开发中,对于按钮、发光二极管 LED、七段数码管等通用输入输出设备的编程比较简单,而对于通用异步串口 UART、LCD、VGA 等字符模式外围设备的编

15、程就比较复杂。为了方便用户对字符模式外围设备的编程,HAL 支持标准输入、标准输出和标准错误函数,允许在程序中调用 stdio.h 中的 I/O 函数来完成对这些设备的访问,也支持字符模式外围设备的通用访问。7 简述 SOPC 的设计流程。SOPC 硬件开发流程a) 创建 Quartus II 工程b) 创建 Nios II 系统模块c) 配置 Nios II 系统d) 将 Nios II 系统模块、LPM 和用户自定义模块连接起来e) 编译、引脚分配、编程下载SOPC 软件开发流程Nios II 程序包括一个应用工程、可选的库工程和一个板支持包工程(自动生成) 。将Nios II 程序编译成

16、一个能在 Nios II 处理器上运行的.elf 文件。1 新建 Nios II C/C+应用工程与系统库工程为新的 Nios II 工程命名、选择目标硬件(硬件系统的 PTF 文件,IDE 根据该文件来建立系统库) 、选择新工程的模板、建立 C 的源文件与头文件(注意一定要加上后缀名.c) 、创建新的系统库(为硬件提供相应驱动)注意:工程文件夹要建在 D 盘根目录下(其中 D 盘装有 Quartus II 软件)2 编译与设置工程对工程进行编译 projectbuild project,编译成功后,在工程下面会出现一个 Binaries目录,其中有一个可执行文件.elf。3 运行与调试程序4 编译整个项目软件设计完成并调试成功后,可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

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