iic通信协议是什么

iic通信协议是什么

  IIC协议是二线制,信号线包含SDA和SCL,且信号线是双向的,开路结构,需要通过上拉电阻到VCC,具体的电阻值影响的是信号反应速度和驱动能力。

  首先,IIC通信与UART,还有SPI统称为串行接口通信,不过它们之间还是有区别的,如UART的负电平逻辑,还有UART通信不需要时钟,只需要特定的波特率即可,SPI与IIC都可以有一个主机,多个从机的情况,不过IIC适用于短距离传输,如片间通信,摄像头的配置等场景。

  要搞定IIC首先来看IIC的硬件接口:

  

  如图所示,我们知道IIC一个主机可以悬挂多个从机,所以地址线A2,A1,A0 可以实行片选的功能,那么WP这个引脚的功能就是当WP悬空或者接地的时候,表示这时的EEPROM既可以读,也可以写,当WP接电源时,则只可以读而不能写。

  SCL与SDL这两个引脚,必须上拉,否则驱动能力不够,无法进行正常的IIC通信。

  OK,硬件接口已经介绍清楚了,那么我们现在开始来看协议了。

  首先IIC分为字节读写和页面读写,首先来看字节读写的协议:

  

  如上图所示,如果我们要向EEPROM中写入一个字节的数据,得有如下几个步骤:

  1.开始信号——在SCLK的高电平器件,拉低SDA的信号(由1 变为0)。

  2.控制字节——即器件地址,就是你操作那一块EEPROM。

  3.ACK信号——由从机发出,主机为接收,所以在此阶段,sda_link必须置为0,即为读取这个应答信号,所以在SCLK的高点平期间。

  4.字节地址——即某一块EEPROM里面的哪一个地址。

  5.ACK信号——与上述相同。

  6.数据信号——即你往某个地址里面写入的8位数据。

  7.ACK信号——上述相同。

  8.结束信号——在SCLK的高电平期间,拉高SDA信号,表示通信结束。

  再来看读的时序:

  

  由上图可看出读时序的前面处理方式与写相同,不同的时在第三个ACK信号来了之后,如果是读,那么会又有一个起始信号,紧接着读器件地址,然后应答,再然后读数据,再然后在SCLK的低电平期间发送一个NO ACK信号,要记住这个信号由主机发出,然后紧接着一个结束信号。

  由上述读写时序我们可知,通信的起始均在SCLK的高电平期间发生跳变,这就据定了我们其他信号跳变均在SCLK的下降沿,SCLK高电平期间数据稳定,适用于读(即低电平改变数据,高电平采集数据)。

原文地址:https://www.cnblogs.com/fire909090/p/11594168.html

时间: 2024-11-11 00:41:48

iic通信协议是什么的相关文章

stm32之IIC通信协议

1 //3?ê??ˉIIC 2 void IIC_Init(void) 3 { 4 GPIO_InitTypeDef GPIO_InitStructure; 5 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); //ê1?üGPIOBê±?ó 6 7 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; 8 GPIO_InitStructure.GPIO_Mode = GPIO_Mo

6轴速度计/陀螺仪MPU6050模块 IIC程序C代码

资料下载 http://pan.baidu.com/s/15QGGG 产品参数 名称:MPU-6050模块(三轴陀螺仪+三轴加速度) 使用芯片:MPU-6050 供电电源:3-5V(内部低压差稳压) 通信方式:标准IIC通信协议 芯片内置16bit AD转换器,16位数据输出 陀螺仪范围::±250 500 1000 2000  °/s 加速度范围:±2±4±8±16g 采用沉金PCB,机器焊接工艺保证质量 引脚间距2.54mm MPU-6000为全球首例整合性6轴运动处理组件,相较于多组件方案

IIC,RS485,RS232各种协议手册更新中

 RS485使用手册与指南.pdf  RS232协议标准详解.pdf IIC通信协议.pdf 链接:http://pan.baidu.com/s/1ccBtmA 密码:mwj6 IIC,RS485,RS232各种协议手册下载....更新中

it界打工帝王

        我是13年开始进入社会打拼的,12年之前在江苏实习过,实习期间由于对单片机的兴趣每天从流水线下班之后就往网吧里去,看着郭天祥的10天精通单片机教程,看着某某大学的C语言课程,我可以是算是另类,进网吧不打游戏,因为我不喜欢游戏,且不喜欢抽烟,进了网吧就折腾,经过一段的学习和积累算是掌握了51单片机基本的操作,如用C语言写一个循环语句达到延时控制led二极管,那时候我的希望就是有一台电脑,12年我终于用自己的钱买了一台二手笔记本,可我还在工厂里打工,每天7点去上班,晚上8点下班,我觉

模拟摄像头,AV视频信号线解码,PAL制 NTSC,输入解码显示,终于搞定,记录下!

咱们常用的摄像头,监控等,大多数都是AV信号,国内制式都是PAL,采用同轴,传输,这样的好处在于,传输距离可以很长,且线路简单.视频阵列中也大多使用av摄像头. 常用的机顶盒,电视机,机顶盒最终输出的图像信号到电视机,绝大部分都是CVBS,混合信号,其中视频信号为AV,PAL制式. 所以pal制式信号,是相当流行,也相当适用.之前搞定了CMOS摄像头驱动,大多数并口信号线,ttl电平,因为信号线多,不易形成整列,如二马搞的汽车全景摄像头应该都是av信号,大家也可以看看自己的汽车,倒车摄像头是不是

51获取6050原始数据并通过匿名上位机显示波形

其实之前就用stm32获取过6050的原始数据,但是当时只是为了用而用,对他的理解并不深入,也不明白到底是怎么获得这些数据的. 这几天回归原始,通过STC89C52RC,再一次对6050进行驱动,并获取原始数据.经过几天的努力,现在其实感觉6050没有想象中的那么复杂,复杂的是后面对他的数据进行的滤波和姿态解算.获取数据其实就是对里面的一些寄存器进行配置.但是要求熟练掌握单片机的 IIC 通信协议.通信协议这东西其实看着很简单,但是实际用起来有很多细节方面的东旭需要注意.关于具体 IIC 的通信

2019年9月19日星期四(STM32)

一.RTC(实时时钟) 1.背景 时间在计算机系统中是一个非常重要的参数,在很多应用场景下都需要使用时间.RTC就是一个专门记录时间的设备,本质上是一个1Hz定时器. 为了计时准确,计时系统掉电也要能够正常计时.为了到达这个目的,RTC需要独立的时钟源,独立的供电电源 stm32f407的RTC的时钟源是低速晶振(LSE---32.768KHz),使用纽扣电池单独供电 2.stm32f407的RTC RTC进行2次预分频,一次7位异步和15位的同步,最终得到1hz的时钟,为了降低功耗,异步预分频

(转)IIC总线工作原理(1)

转载:http://www.eefocus.com/article/08-07/48416s.html图11-1给出一个由MCU作为主机,通过IIC总线带3个从机的单主机IIC总线系统.这是最常用.最典型的IIC总线连接方式. 物理结构上,IIC系统由一条串行数据线SDA和一条串行时钟线SCL组成.主机按一定的通信协议向从机寻址和进行信息 传输.在数据传输时,由主机初始化一次数据传输,主机使数据在SDA线上传输的同时还通过SCL线传输时钟.信息传输的对象和方向以及信息传输的开始和终 止均由主机决

Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析

关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 -- IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信.例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇.可随时监