历史上的今天
返回首页

历史上的今天

今天是:2024年11月01日(星期五)

正在发生

2021年11月01日 | ARM之I2C总线协议介绍

2021-11-01 来源:eefocus

I2C总线协议

概述:I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域挂规范采用的一种总线标准。是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。Exynos4412芯片包含8个通用I2C接口控制器。


I2C主从机设备连接

在这里插入图片描述

I2C总线物理连接

在这里插入图片描述

特点


半双工。

只要求两条总线线路:一条串行数据线SDA(Serial Data Address),一条串行时钟线(Serial Clock Address)。

每个连接到总线的器件都可以通过唯一的地址。

真正的多主机总线,支持冲突检测和仲裁,防止数据破坏。

串行8位双向数据传输位。

速率在标准模式下可达100kbit/s、快速模式下可达400kbit/s、高速模式下可达3.4Mbit/s。

片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整。

连接到相同总线的IC数量只受到总线的最大电容400pF限制。

I2C总线内容

I2C引脚

SDA(I2C数据引脚);

CLK(I2C时钟引脚);

在这里插入图片描述

I2C信号类型

I2C总线在数据传输过程中有三种信号,它们分别是:开始信号(S)、结束信号(P)、应答信号(ACK)。

在这里插入图片描述

开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

应答信号:接收设备在接收到8bit数据后,在第9个时钟周期,向发送设备发送低电平,表示成功收到数据。


I2C总线时序

当I2C总线是空闲的,SDA和SCL线都是高电平。I2C数据通信的主机发送开始信号(S)起始,到主机发送停止信号(P)结束。在开始信号和结束信号之间以字节为单位传输数据,每个字节后必须跟一个响应位,每次传输可以发送的字节数量不受限制。数据是一位一位地进行传输,先传输高位(MSB),再传输低位(LSB)。


发送器作为数据的发送方,接收器作为数据的接收方。根据SCL上的时钟信号进行数据传输同步,保证数据有效传输。SCL时钟为低电平周期时发送器发送数据,SDA线上数据可以发送变化,SCL时钟为高电平周期时接收器接收数据,SDA线上数据必须保持稳定。

在这里插入图片描述

I2C总线ACK信号

为了完成一个字节的发送操作,接收器必须将一个ACK信号发送到发送器。ACK信号在SCL线的第9个时钟周期产生。发送完一个字节后,第9个时钟周期发送器释放对SDA线的控制,SDA线由于上拉电阻的作用恢复到高电平。接收器如果接收数据成功,将SDA线置低电平作为ACK信号。发送器收到ACK信号,继续发送数据;接收器如果接收数据失败,则在第9个时钟周期不动作,SDA一直为高电平、发送器没有接收到ACK信号,就会发出停止信号停止本次通信或开始发送开始信号,重新发送。

在这里插入图片描述

I2C设备地址

在这里插入图片描述

I2C设备用一个7位或10位的数字,唯一标识自己。方便主机寻找自己,建立I2C通信。I2C设备地址由固定地址和可编程部分构成。这样I2C总线就可以支持一个I2C总线上挂载多个同样的器件,而地址不同。I2C地址的可编程部分最大数量就是可以连接到I2C总线上相同器件的数量。一般可编程的部分的值,由特定引脚的电器连接决定。


I2C总线地址寻址及数据传输方向控制

I2C总线的寻址过程是通常在起始信号后的第一个字节决定了主机选择哪一个从机。例外的情况是可以寻址所有器件的广播地址,使用这个地址时理论上所有器件都会发出一个响应,但是也可以使器件忽略这个地址。


第一个字节的头7位组成了从机地址,第8位它决定了数据传输的方向,第一个字节的最低位是0表示主机会写信息到被选中的从机;1表示主机会向从机读信息;

7位寻址

在这里插入图片描述

10位寻址和7位寻址兼容,而且可以结合使用。10位寻址过程是起始信号后的头两个字节,通常决定了主机要寻址哪个从机。10位从机地址由在起始条件信号或重复起始信号后的头两个字节组成。第一个字节的头7位是11110XX的组合,其中最后两位XX是10位地址的两个最高位(MSB)。第一个字节的第8位是R/W位,决定了数据传输的方向,第一个字节的最低位是=0,表示主机会写信息到被选中的从机;1表示主机会向从机读信息。

在这里插入图片描述

推荐阅读

史海拾趣

乔光电子(FTR)公司的发展小趣事

Futaba Electric Co., Ltd. 的五个发展故事

故事一:从真空管到VFD的转型

Futaba Electric Co., Ltd.(原名双叶电子)成立于1948年,最初以生产收音机收讯真空管起家。然而,随着技术的飞速发展和市场需求的变迁,公司在1970年做出了关键的战略调整,决定放弃真空管业务,转而专注于萤光表示管(VFD)的研发与生产。这一决定极具前瞻性,因为VFD以其高清晰度、广视角和出色亮度等独特优势,迅速赢得了市场的青睐。Futaba凭借在VFD领域的持续创新和卓越品质,逐渐确立了其在全球市场的领先地位,市场份额超过60%,成为行业内的佼佼者。

故事二:无线电控制技术的突破

进入1960年代,Futaba在电子领域不断拓宽其技术边界。1962年,公司推出了无线电控制设备和冲压金属模用部件,旨在提升工业生产的品质和效率。这一创新不仅解决了工业控制领域中长期存在的供应商品质和交货期问题,还引领了模具制造行业的标准提升。Futaba的无线电控制技术逐渐在模具制造、工业自动化等领域得到广泛应用,为公司后续在无线遥控领域的深入发展奠定了坚实基础。

故事三:无线遥控技术的领导者

随着技术的不断积累和市场的日益扩大,Futaba在无线遥控领域取得了显著成就。特别是在1990年,公司成功研发出高频无线展频通讯技术,该技术以其高可靠性和抗干扰性,在卫星通讯、工业用机器人和工业控制设备等领域展现出巨大潜力。Futaba的无线遥控产品如遥控飞机、车、船等,在休闲娱乐市场也广受欢迎,进一步巩固了公司在无线遥控技术领域的领先地位。

故事四:VFD在汽车行业的广泛应用

Futaba的VFD产品凭借其卓越的性能和稳定的品质,赢得了众多汽车制造商的信赖。自1983年Futaba的VFD产品被福特汽车公司采用以来,其在美国三大汽车厂的市场占有率迅速攀升至100%。这一成就不仅证明了Futaba产品在汽车行业的广泛应用和市场认可度,也为其在高端消费性电子设备市场的进一步拓展提供了有力支持。

故事五:中国市场的深入布局

为了更好地服务于中国市场,Futaba成立了双叶电子科技开发(北京)有限公司,专营日本双叶(Futaba)的全线产品。这家公司在北京设立,不仅负责Futaba真空荧光显示管及模组、RC遥控器等产品的生产和销售,还积极开拓中国市场,参与行业交流和合作。双叶电子科技开发(北京)有限公司的成立,标志着Futaba在全球化战略中对中国市场的高度重视和深入布局。通过不断提升产品质量和服务水平,Futaba在中国市场也取得了显著成绩,为公司的持续发展注入了新的动力。

Fabrimex AG公司的发展小趣事

1982年,Fabrimex AG收购了瑞士领先的实验室电源制造商Erlenbach的K. Witmer Elektronik AG博士。这一收购不仅增强了公司在实验室电源领域的实力,还进一步巩固了其在电子行业中的地位。通过整合双方的技术和资源,Fabrimex AG在实验室电源领域取得了更高的市场份额和更广泛的客户认可。

Gespac Inc公司的发展小趣事

1995年,Fabrimex GmbH成立,作为电子组装和电源生产的生产公司。这一举措标志着公司进一步向国际化发展迈进。通过设立生产公司,Fabrimex AG能够更好地控制产品质量和生产成本,提高市场竞争力。同时,公司还加强了在全球范围内的销售活动,进一步扩大了市场份额。

GainSpan ( Telit)公司的发展小趣事

风华高科自成立以来,一直注重技术创新和产品多元化发展。公司不断投入研发资源,成功开发出多种新型电子元器件和电子材料,如片式电阻器、片式电感器、超小型铝电解电容器等。这些产品广泛应用于通讯、消费、计算机、汽车电子等领域,满足了市场多样化的需求。同时,公司还建立了完善的质量管理体系,确保产品质量符合国际标准。

Diamond SA公司的发展小趣事

随着全球对环保和可持续发展的关注度不断提高,Diamond SA公司也积极响应这一趋势。他们致力于开发环保型电子产品和技术解决方案,减少对环境的影响。同时,公司还积极参与各种环保活动和公益事业,推动整个电子行业的绿色发展。这些努力不仅提升了公司的社会形象和声誉,也为公司的长期发展奠定了坚实的基础。

GSR Technology Ltd公司的发展小趣事

在电子行业的初期,GSR Technology Ltd专注于研发高性能的传感器技术,特别是针对工业自动化领域的GSR(Ground Surveillance Radar,地面监视雷达)技术。通过多年的技术积累和研发创新,公司成功开发出具有高精度、长距离监测能力的GSR系统,填补了市场空白。这一技术突破吸引了众多工业客户的关注,公司迅速获得市场准入,并与多家知名企业建立了长期合作关系。

问答坊 | AI 解惑

楼宇对讲之猫腻

随着楼寓对讲使用的日益广泛,也使得该行业的竞争越来越激烈。不少厂家利用自己掌握产品技术的优势,对工程商、房地产商耍起各种手段。下面列出一些手段惯用的手法,请消费者睁大你们的慧眼,莫让厂家的宣传蒙蔽了。     1、不使用视频 ...…

查看全部问答>

2007全国大学生电子设计竞赛D题程控滤波器三方案

本帖最后由 paulhyde 于 2014-9-15 03:33 编辑 再来分享一下2007全国大学生电子设计竞赛D题程控滤波器的三个方案设计吧~~~~ 原题: 程控滤波器(D题) 【本科组】 一、任务 设计并制作程控滤波器,其组成如图1所示。放大器增益可设置;低通 ...…

查看全部问答>

LED条屏时间同步的问题

我手上有BX_S16L改进版通信协议。不知道这个通信协议和BX_L是否相同? 电脑时间如何与BX_L条屏时间同步?有vb.net源程序最好. …

查看全部问答>

WinCE上 流播放器的问题

    一包一包的标准视频数据(或MPEG4, H263)送给播放器,播放器可以播放. WinCE上能实现这样的功能吗?网上有这样的源码吗(简单的)? 能给一些参考意见吗?…

查看全部问答>

请问驱动程序版本号中各个字段的的意义是什么?

请问驱动程序版本号中各个字段的的意义是什么?比如一个驱动程序的版本号为:5.01.2600.0000,这四段字节的意义分别是什么呢?谢谢!…

查看全部问答>

戴尔在全球PC市场的排名重回第二

本帖最后由 jameswangsynnex 于 2015-3-3 19:56 编辑 在失去全球PC市场第二排名九个月之后,戴尔在2010年第二季度夺回亚军位置。同期台湾的宏基销量下降。 戴尔第二季度全球出货量为1050万台,比第一季度的1070万台略降1.2%。第二季度全球出货量 ...…

查看全部问答>

ST中加stdarg.h能用吗?

在下面的程序我发现"UART_SendData8"打印的数据为BB CC 00,这是怎么回事? 还有,我把a,b,c都定义成int就可以正确的打打印的数据为基础00 aa 00 bb 00 cc. void   sum(u8   msg,   ...)    { ...…

查看全部问答>

lm3sI2C学习笔记之温度的测量

        主控采用LM3S6911,TMP75接口原理图如下       tmp75接口原理图 #include \"sysinit.h\"#include \"tmp75.h\"#include\"yifan_UART_init.h\" float temperature;char temper[6]; void I2C ...…

查看全部问答>

求助:人体红外感应信号采集到zigbee芯片中

小弟最近学习zigbee,想试着将人体红外感应信号采集到zigbee芯片中,用的是成都感智的zigbee无线模块两块,各位大神能给点建议么?小弟现在的问题是i/o接口21个,具体我应该用哪个?驱动程序如何写?拜托了各位,谢谢…

查看全部问答>