nios II--实验4——按键中断硬件部分
按键中断
硬件开发
新建原理图
1、打开Quartus II 11.0,新建一个工程,File -> New Project Wizard…,忽略Introduction,之间单击 Next> 进入下一步。分别设置工程工作目录、工程名称。这里需要注意的是工程工作目录中请使用英文,不要含有空格等,否则在后面使用Nios II IDE的时候会出现问题。设置好后如图1所示。然后进行下一步。这里工程命名为lab3_bnt

2、添加已经存在的文件,这里没有需要添加的文件,直接单击 Next> 进入下一步。进行器件设置。使用的 是Cyclone IV家族的 EP4CE6E22C8芯片,选择好后直接进入下一步。进行EDA工具设置,由于工程中不进行仿真等,故不进行设置,如果需要进行ModelSim仿真,则在Simulation行中,选择Tool Name 为ModelSim-Altera(这里根据所安装的ModelSim版本进行选择),Format(s)选择为Verilog HDL(这里也是根据所掌握的硬件描述语言进行选择)。点击 Next> ,进入了Summary(摘要)页面,然后单击 Finish 完成即可。

3、新建 Block Diagram/Schematic File (方块图/原理图文件)。单击 File -> New..,选择Design Files中的Block Diagram/Schematic File,单击OK即可。


QSys调用模块
参照实验二(led),在该实验的基础上添加一个PIO,用于连接外部的按键。设置为输入,边沿中断,上升沿触发。

设置端口,并重命名端口名,同时,设置中断号。

添加完成后,进行生成。

原理图添加IP模块
- 添加niosII核
双击Block1.bdf的空白处,打开Symbol对话框。选择project

 - 添加PLL
单击右下角的MegaWizard Plug-In Manager…,进入宏模块调用界面。

选择Creat a new custom megafunction variation,单击 Next> 进入下一步,在What name do you want for the output file下面的地址后面添加输出文件的名称PLL。然后在右侧搜索框中搜索ALTPLL,选中即可,这一步主要为系统添加时钟模块,然后单击 Next>进入下一步。

弹出ALTPLL设置对话框,这里在 General栏目的What is the frequency of the inclk0 input?地方,将时钟更改为50MHz。

接着按照以下流程进行设置:



接着一直默认设置,一直next到一下窗口,点击Finish。

这时会弹出一个Quartus II IP Files对话框,单击Yes完成即可,不需要进行任何操作。然后单击Symbol对话框中的OK即可,然后将模块放在Block1.bdf中即可。
 - 连接、添加引脚
双击打开Symbol对话框,在Name中and2,添加与门。

点击选择要添加引脚的模块,右击,选择generate pins for symbol ports。

对引脚进行重命名,如下所示:

 - 单击 Project -> Add/Remove Files in Project…,单击File name后面的浏览按钮,选择.qsys文件,单击Add将其添加进来,然后单击OK。
 - 配置引脚
首先,进行编译
,然后采用脚本文件进行配置,toolsàtcl scripts;


 - 设置工程参数
设置AS配置器件EPCS4



设置双用引脚;

 - 综合
,由于时间较长,请耐心等待。
 
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

nios II--实验4——按键中断硬件部分的更多相关文章
- cc2530的第三次实验,按键中断控制流水灯
		
cc2530的第三次实验:按键中断控制流水灯 效果为按一次按键,流水灯亮一次 实验相关电路图: 实验相关寄存器: 初始化函数 //初始化LED灯 //设置P1SEL,通用为0,外设为1 1111110 ...
 - nios II--实验4——按键中断软件部分
		
软件开发 首先,在硬件工程文件夹里面新建一个software的文件夹用于放置软件部分:打开toolsàNios II 11.0 Software Build Tools for Eclipse,需要进 ...
 - ARM实验5 —— 按键中断实验
		
key_int按键中断实验 实验内容: 通过开发板上的按键中断控制led灯进行跑马灯并打印信息. 通过简单事例说明猎户座4412处理器的GIC中断处理的应用,设置key2按键连接的引脚为中断模式,当识 ...
 - 初探NIOS II之hello_world
		
平台背景: 操作系统:win7 64bit 开发板:DE2-115 Quartus ii:15.0及配套的NIOS ii开发平台 一.硬件系统的建立 1.在Quartus里新建工程,这是很基本的就不 ...
 - FPGA回忆记事(一):基于Nios II的LED实验
		
实验一:基于Nios II的LED实验 一. 创建Quartus II工程 1.打开Quartus II环境.开始->程序->Altera->Quartus II 9.1. 2 ...
 - NIOS II下基于中断的UART接收和发送设计示例代码
		
#include "sys/alt_stdio.h" #include "altera_avalon_uart_regs.h" #include "s ...
 - 给NIOS II CPU添加一颗澎湃的心——sysclk的使用
		
给NIOS II CPU添加一颗澎湃的心——系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...
 - FPGA与simulink联合实时环路系列——实验三 按键key
		
实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...
 - 2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
		
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
 
随机推荐
- WIN7管理工具配置ODBC数据源-系统DSN中无Oracle,Sybase驱动的解决方法
			
在C:\Windows\SysWOW64下找到: odbcad32.exe 这个文件,双击打开. 点击添加按钮,选择 对应的 驱动,然后就可用添加连接Oracle/Sybase的ODBC的数据源了.
 - DirectX API 编程起步 #01 项目设置
			
=========================================================== 目录: DirectX API 编程起步 #02 窗口的诞生 DirectX A ...
 - 玩转Windows Azure存储服务——高级存储
			
在上一篇我们把Windows Azure的存储服务用作网盘,本篇我们继续挖掘Windows Azure的存储服务——高级存储.高级存储自然要比普通存储高大上的,因为高级存储是SSD存储!其吞吐量和IO ...
 - Sql动态添加字段的正确姿势
			
如何给指定表动态添加字段? 一.创建一张表[Tbl_AutoFileds] (tableName表名,fieldName字段名,dataType数据类型,length长度 isnull 是否允许为n ...
 - Codeforces 460D Little Victor and Set --分类讨论+构造
			
题意:从区间[L,R]中选取不多于k个数,使这些数异或和尽量小,输出最小异或和以及选取的那些数. 解法:分类讨论. 设选取k个数. 1. k=4的时候如果区间长度>=4且L是偶数,那么可以构造四 ...
 - AC日记——有趣的跳跃 openjudge 1.6 07
			
07:有趣的跳跃 总时间限制: 1000ms 内存限制: 65536kB 描述 一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1). ...
 - nginx 入门
			
1.nginx 如何处理一个请求 IP,域名的处理 server { listen 80 default_server; //添加 default_server就是一个默认的server ...
 - CSS垂直居中精华总结
			
1 table-cell方式 将center元素的包含框display设置为table,center元素的display设置为table-cell,vertical-align设置为middle. ...
 - 在Android中如何获取视频的第一帧图片并显示在一个ImageView中
			
String path = Environment.getExternalStorageDirectory().getPath(); MediaMetadataRetriever media = n ...
 - 排序及重复元素去重的说明,TreeSet,HashSet
			
先看下面一段代码: package 类集; import java.util.Set; import java.util.TreeSet; class Person{ private String n ...