三大串行总线:UART、SPI、IIC(其中SPI是由时钟沿采集数据,为同步接口;UART和IIC是由电平采集数据,为异步接口)

IIC速率:工作在半双工方式,2根线(SCL和SDA)

    标准:100kbps,快速400kbps,告诉3.4Mbps

总线信号:SDA——串行数据线,SCL——串行时钟线

总线空闲状态:SDA——高电平,SCL——高电平

起始位:SCL为高电平期间,SDA出现下降沿。

  

终止位:SCL为高电平期间,SDA出现下降沿

  

数据传输:SDA的数据在SCL高电平期间被写入从机。所以SDA上数据需要在SCL为低电平期间才能发生变化。

  

应答:接收方发动给发送方ACK信号。即当IIC主机将8比特的数据或命令发出后,将SDA设置为输入模式(高阻),等待从机应答(SDA的电平由高变为低),以此确定从机成功的接收到了数据。

  

IIC器件地址:一些器件在出厂的时候就已经定好了地址,不可以被用户更改;有些器件值在出厂时只确定了高几位地址,用户可以对低位的地址进行更改,例如EEPROM高4位地址确定为1010,低3位的地址由用户硬件连线来确定,所以一个IIC总线最多可以连接8个EEPROM。

单字节地址的写时序

  

多字节地址的写时序

  

单字节地址的读时序

  

多字节地址的读时序:(略,与多字节地址的写时序类似)

 Device Address地址读写操作:(器件地址为7位,0为写,1为读)

  

在xilinx的vivado软件中,SDA接口数据编写

IOBUF IOBUF_inst(

  .O (sda_in),    //1bit output

  .I   (sda_out),  //1bit input

  .IO(SDA),       //1bit inout

  .T  (~sda_oe) //1bit input:3-state enable(1=input,0=output)

); //sda_in输入

等价于:

assign SDA = sda_oe?sda_out:1'bz;

IIC总线(集成电路总线)的更多相关文章

  1. 什么是总线、总线的类型、局部总线、局部总线类型和什么是接口方式?什么是IDE?什么是SCSI?

    在安装电脑系统时,进行内核配置时涉及到各种总线类型,有必要了解一下什么是总线.总线的类型.局部总线.局部总线类型和接口方式. 1)总线总线是一组通信线.在机器内部, 各部件通过总线连接; 对于外部设备 ...

  2. IIC串行总线的组成及其工作原理

    ------------------最近项目上用到了一款美信的DS1308RTC芯片,由于是挂在了Zynq的PS MIO上,需要软件人员协助才能测试:觉得太麻烦了,想通过飞线,然后在Vivado中调用 ...

  3. IIC总线解析

    IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控 ...

  4. 对 IIC 总线的理解、调用函数以及常见面试问题

    一.IIC 总线概述: IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线.一根是数据线SDA, ...

  5. 【接口时序】6、IIC总线的原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...

  6. IIC - 【转载】对I2C总线的时钟同步和总线仲裁的深入理解

    对I2C总线的时钟同步和总线仲裁的深入理解 每一个IIC总线器件内部的SDA.SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起.其中输出为漏极开路的场效应管.输入缓冲为一只高输入阻抗的同 ...

  7. I2C总线协议详解

    I2C总线定义     I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线产生于在80年代,最初为音 ...

  8. Linux中总线设备驱动模型及平台设备驱动实例

    本文将简要地介绍Linux总线设备驱动模型及其实现方式,并不会过多地涉及其在内核中的具体实现,最后,本文将会以平台总线为例介绍设备和驱动程序的实现过程. 目录: 一.总线设备驱动模型总体介绍及其实现方 ...

  9. S3C2440 I2C总线控制

    概述:话不多说,直接上图 多主机IIC总线控制(IICCON): IIC控制总线状态(IICSTAT): IIC总线地址(IICADD): IIC发送,接收总线寄存器(IICDS) IIC总线控制寄存 ...

随机推荐

  1. maven与ide工具的整合

    maven与myeclipse的整合 1   点击window会出现 2>选择  preferences

  2. ExpressRoute 先决条件和清单

    若要使用 ExpressRoute 连接到 Azure 服务,需确认是否符合以下部分中所列的要求. 帐户要求 使用中的有效 Azure 帐户.需有此帐户才能设置 ExpressRoute 线路. 连接 ...

  3. layer的alert图

    layer.alert("xxx",1); 1 2 3 4 5 6 7 8 9 10 11   12 13 14 15 16 17 及以后

  4. exits, in, left join性能比较

    exits  in left join性能比较 ,笔者使用的是MYSQL数据库,这三个关键字方法在其他的关系数据库里也是大同小异,如果各种有兴趣,自行比较. 我这里有一个249_account 表,总 ...

  5. 【转载】 socket recv 和 read

    转自: http://blog.csdn.net/rankun1/article/details/50488989 send函数工作原理: send函数只负责将数据提交给协议层. 当调用该函数时,se ...

  6. MySQL半同步主从.md

    MySQL Semisynchronous Replication 复制架构衍生史 1.普通的replication,异步同步. 搭建简单,使用非常广泛,从mysql诞生之初,就产生了这种架构,性能非 ...

  7. 理解JVM——类加载机制

    我们在编写Java程序之后,会通过编译器得到一个class文件,这个class文件是如何与JVM进行配合的呢?类中的信息是如何变成JVM可以使用的Java类型呢?这些都是类加载机制做到的. 虚拟机把描 ...

  8. Day1 Mybatis初识(一)

    框架 将重复的,繁琐的代码实现封装,让程序员将更多的精力放在业务的理解和分析上. 框架的作用 提高开发效率 隐藏细节 三大框架SSH  -->   SSM 1)        表述层:   用户 ...

  9. Apache去掉index.php

    把 #LoadModule rewrite_module modules/mod_rewrite.so 前面的#去掉, 再把权限AllowOverride None都改为AllowOverride A ...

  10. centos中安装、升级git

    yum install git 若是从老版本升级,则按下面方法.(centos中) 先更新系统sudo yum update     安装依赖的包yum install curl-devel expa ...