谈谈I2C(Inter-Integrated Circuit,集成电路总线)

本文介绍了I2C(集成电路总线)的基本概念,包括其两根线:SDA和SCL,以及I2C简化硬件电路、降低成本和提高系统可靠性的优势。内容涵盖I2C的启动、停止、数据传输状态和总线竞争的仲裁机制,还提供了相关使用指南和时序图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天我们来一起聊聊I2C(Inter-Integrated Circuit,集成电路总线) ;
首先抛出一个问题吧!
我们已经有了及其方便的UART(Universal Asynchronous Receiver and Transmitter)数据通信协议了,为什么还要有I2C、SPI这些协议呢?


本文对I2C进行一个简单的知识普及;

I2C(Inter-Integrated Circuit,集成电路总线):I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
他拥有2根线:SDA(串行数据线)和SCL(串行时钟线);
这里写图片描述
SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出.需通过上拉电阻接电源VCC.当总线空闲时.两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路.在总线上消耗的电流很小,因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容.而线路中电容会影响总线传输速度.当电容过大时,有可能造成传输错误.所以,其负载能力为400pF,因此可以估算出总线允许长度和所接器件数量。


一般CPU都是自带I2C总线功能,因此在硬件角度使用起来是非常简单的;
I2C总线只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,不需要特殊的接口电路,而且片上接口电路的滤波器可以滤去总线数据上的毛刺.因此I2C总线简化了硬件电路PCB布线,降低了系统成本,提高了系统可靠性。因为12C芯片除了这两根线和少量中断线,与系统再没有连接的线,用户常用IC可以很容易形成标准化和模块化,便于重复利用。
下图为335X,一个CORTEX-A8的ARM;带有3路的I2C,总线接口已经集成在芯片内部,不需要特殊的接口电路;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值