如何在niosII中添加i2c外设_winday_新浪博客

如何在niosII中添加i2c外设

winday

摘要:本文说明了如何在niosII添加第三方i2c外设,以供参考。

由于本人使用的Altera SOPC Builder没有i2c外设,因此必须使用第三方i2c外设。如何把第三方i2c外设添加到niosII中,并加以应用呢?本人使用的开发环境:Altera SOPC Builder、Quartus II 8.0、Nios II  8.0 IDE。开发工具安装目录:D:\。

第一步,下载i2c外设软件包:oc_i2c_master.rar。本软件包包含i2c外设的HDL实现,及驱动代码。网络上很容易找到。

第二步,解压,并把整个文件夹复制到D:\altera\80\ip\sopc_builder_ip\。

第三步,在Altera SOPC Builder中create new componet->file->open 打开D:\altera\80\ip\sopc_builder_ip\ oc_i2c_master\中的class.ptf文件。

第四步,在Altera SOPC Builder中Tools->options->IP Search Path 如下设置:D:\altera\80\ip\sopc_builder_ip。

第五步,此时Altera SOPC Builder左侧Systerm Contents中出现DeviceSOPC-〉oc_i2c_master外设。双击此条目,i2c外设及可被添加到niosII上。

第六步,Altera SOPC Builder中sopc builder generate。

第七步,若没有错误,在Quartus II中顶层文件中(bdf文件)加入上步生成的nios_cpu

模块。

第八步,添加IO PIN,并把i2c相关的两个脚设置成双向IO,并设置成开漏输出。注意硬件上,i2c两个IO要加上拉电阻,2K欧姆较为合适。

第九步,Quartus II编译整个工程。

第十步,基于这个nios cpu在Nios II IDE中建立工程。通过包含头文件“oc_i2c.h”即可调用i2c外设的相关驱动函数。注意在读写i2c外设之前请先调用i2c初始化函数。

在Quartus II中编译整个工程时,若出现以下错误:Error:Node instance “the_oc_i2c_master”instantiates undefined entity “oc_i2c_master”,请将D:\altera\80\ip\sopc_builder_ip\oc_i2c_master\hdl下的四个.hdl件复制到当前工程文件夹下,重新编译

如何在niosII中添加i2c外设_winday_新浪博客的更多相关文章

  1. Javascript Jquery 中的数组定义与操作_子木玲_新浪博客

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  2. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  3. python中逐行读取文件的最佳方式_Drupal_新浪博客

    python中逐行读取文件的最佳方式_Drupal_新浪博客 python中逐行读取文件的最佳方式    (2010-08-18 15:59:28)    转载▼    标签:    python   ...

  4. Go语言中怎样判断数据类型_不懂的木匠_新浪博客

    要判断数据类型,可以用Go的空接口: 建一个函数t 设置参数i 的类型为空接口,空接口可以接受任何数据类型 func t(i interface{}) {  //函数t有一个参数i  switch i ...

  5. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  6. 如何在Eclipse中添加Servlet-api.jar的方法

    方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建:将你的tomcat目录下的common/lib/servlet.jar加进来.如果你建立了一个 ...

  7. Oracle 12c 多租户家族(12c 18c 19c)如何在 PDB 中添加 HR 模式

    Oracle 12c 多租户家族(12c [12.2.0.1].18c [12.2.0.2].19c [12.2.0.3])如何在 PDB 中添加模式:19c (19.3) 手工添加示例 HR 用户 ...

  8. linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客

    linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++   http://yaro ...

  9. 【Tomcat-原】如何在Myeclipse中添加本地的Tomcat

    2014-10-27 16-24-09  liulin 说明: Myeclipse中自带Tomcat,如果不想用Myeclipse自带的Tomcat,可以使用本地的Tomcat, 下面将介绍如何在My ...

随机推荐

  1. IDEA main方法自动补全(转发:http://blog.csdn.net/zjx86320/article/details/52684601)

    最近刚从Eclipse转到IDEA,各种学习丫,IDEA里的main方法是不能自动补齐的,肿么办呢? 1.首先,点击File-->Settings-->Editor-->Live T ...

  2. ssh允许root用户登陆

    新的系统无root用户密码,设置root用户密码,修改也是这么修改 sudo passwd root 连续输入两次新密码. 允许root用户登陆: /etc/ssh/sshd_config 找到 Pe ...

  3. GDI+在绘制验证码中的使用

    GDI+最简单的理解就是用来绘图的.其中包括点.直线.矩形.字符串等等. 先简单来个例子,说明如何在winform窗体中绘制一条直线,并且这条直线不随着窗体的移动而消失. using System; ...

  4. float元素的父元素自适应高度

    当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因. 如何解决父div对象自适应高度,方法有三种. 1.对父元素设置固定高度 2.使用clear清除浮动 3. ...

  5. poj 1032 Parliament 【思维题】

    题目地址:http://poj.org/problem?id=1032 Parliament Time Limit: 1000MS   Memory Limit: 10000K Total Submi ...

  6. 字典树 HDU 1251 统计难题

    ;} 之前写的#include<iostream> #include<algorithm> #include<stdio.h> using namespace st ...

  7. 【转】Struts2的线程安全 和Struts2中的设计模式----ThreadLocal模式

    [转]Struts2的线程安全 和Struts2中的设计模式----ThreadLocal模式 博客分类: 企业应用面临的问题 java并发编程 Struts2的线程安全ThreadLocal模式St ...

  8. Linux- 自动备份MySQL数据库脚本

    数据安全很重要,所以日常中需要对数据库进行备份.

  9. JS获取内联样式

    JS获取内联样式 //获取内联样式 function getCss(obj,attr){//obj:对象,name:style属性 if(obj.currentStyle) { return obj. ...

  10. 分享知识-快乐自己:Java中各种集合特点

    Java中各种集合特点: Collection[单列集合]: List(有序,可重复): ArrayList: 底层数据结构是数组,查询快,增删慢.线程不安全,效率高. Vector: 底层数据结构是 ...