IIC总线(集成电路总线)
三大串行总线: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总线(集成电路总线)的更多相关文章
- 什么是总线、总线的类型、局部总线、局部总线类型和什么是接口方式?什么是IDE?什么是SCSI?
在安装电脑系统时,进行内核配置时涉及到各种总线类型,有必要了解一下什么是总线.总线的类型.局部总线.局部总线类型和接口方式. 1)总线总线是一组通信线.在机器内部, 各部件通过总线连接; 对于外部设备 ...
- IIC串行总线的组成及其工作原理
------------------最近项目上用到了一款美信的DS1308RTC芯片,由于是挂在了Zynq的PS MIO上,需要软件人员协助才能测试:觉得太麻烦了,想通过飞线,然后在Vivado中调用 ...
- IIC总线解析
IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控 ...
- 对 IIC 总线的理解、调用函数以及常见面试问题
一.IIC 总线概述: IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线.一根是数据线SDA, ...
- 【接口时序】6、IIC总线的原理与Verilog实现
一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...
- IIC - 【转载】对I2C总线的时钟同步和总线仲裁的深入理解
对I2C总线的时钟同步和总线仲裁的深入理解 每一个IIC总线器件内部的SDA.SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起.其中输出为漏极开路的场效应管.输入缓冲为一只高输入阻抗的同 ...
- I2C总线协议详解
I2C总线定义 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线产生于在80年代,最初为音 ...
- Linux中总线设备驱动模型及平台设备驱动实例
本文将简要地介绍Linux总线设备驱动模型及其实现方式,并不会过多地涉及其在内核中的具体实现,最后,本文将会以平台总线为例介绍设备和驱动程序的实现过程. 目录: 一.总线设备驱动模型总体介绍及其实现方 ...
- S3C2440 I2C总线控制
概述:话不多说,直接上图 多主机IIC总线控制(IICCON): IIC控制总线状态(IICSTAT): IIC总线地址(IICADD): IIC发送,接收总线寄存器(IICDS) IIC总线控制寄存 ...
随机推荐
- zookeeper应用 - FIFO 队列 分布式队列
使用ZooKeeper实现的FIFO队列,这个队列是分布式的. package fifo; import java.util.Collections; import java.util.List; i ...
- centos7 yum安装mysql | mariaDb
mysql解释: mysql数据库是最常用的一种数据库,下面我来在centos7的迷你版上安装一下mysql.绝对纯净的环境哦 centos: CentOS-7-x86_64-Minimal-1 ...
- Oracle EBS AR 删除应收发票
DECLARE -- Non-scalar parameters require additional processing p_errors arp_trx_validate.mess ...
- Mysql压缩解决方案
提到mysql压缩相关的内容,我们能想到的可能是如下几种和压缩相关的场景: 1.客户端和服务器之间传输的数据量太大,需要进行压缩,节约带宽 2.mysql某个列的数据量大,只针对某个列的数据压缩 3. ...
- flask 的管理模块的功能add_template_global、send_from_directory
add_template_global方法 全局模板函数 add_template_global 装饰器直接将函数注册为模板全局函数. add_template_global 这个方式是自定义的全局函 ...
- MDT配置数据库
连接数据库可以使用数据库账户和Windows集成身份验证两种方法:使用数据库账户:1.连接数据库时选择TCP/IP2.在数据库中添加相应规则后,配置数据库3.在CustomSettings.ini文件 ...
- Windows平台使用Gitblit搭建Git服务器教程
Windows平台使用Gitblit搭建Git服务器图文教程 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭 ...
- (1)Object类 (2)包装类和数学处理类 (3)String类
1.Object类1.1 基本概念 java.lang.Object类是Java类层次结构的根类,任何类都是Object类的直接/间接子类. 1.2 常用的方法(重点) Object() - 无参构造 ...
- September 11th 2017 Week 37th Monday
I believe there is a hero in all of us. 我相信每个人心中都住着一个英雄. For every of us, there are two version with ...
- 3-urllib的post请求方式
在urllib 中,要进行post请求时,需传入相应的data值,这里通过http://www.iqianyue.com/mypost这个网站进行测试. 案例代码如下: #post 请求 import ...