加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

技术 | I2C 子系统(一)

2022/05/25
557
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

I2C 系列文章主要分为两个部分来写:

1、I2C spec:研究 I2C 协议本身,研究它的协议规范、传输机制。

2、I2C driver:研究 Linux I2C 驱动。

I2C 系列文章目录如下:

I2C spec

I2C Introduction
I2C Architecture
I2C Transfer
I2C Synchronization And Arbitration
I2C Hs-mode
I3C Introduction
I3C Protocol

I2C driver

I2C SW Architecture
I2C Data Structure
I2C Register Flow
I2C Data Transfer

 

1、I2C Introduction

I2C 历史

  1. I2C:Inter-Integrated Circuit,集成电路总线。I2C 是 Philips 公司在 1982 年开发的一种简单、双向二线制同步串行总线。Philips 半导体事业部就是现在的 NXP。I2C 的专利在 2006 年 11 月 1 日已到期,大家可以免费使用。Intel 1995 年推出的 I2C 兼容总线(System Managerment Bus),即 SMBus 或 SMB最新版本 I2C v.6 于 2014.04.04 推出。

 

I2C 的未来

  1. MIPI 协会在 2014 年左右定稿了 I3C (improved Inter Integrated Circuit)规范,I3C 在 I2C 的规格上建立了功能超集,支持高传输速率模式。当前不论是 Soc 厂商,还是 device 厂商,都已经开始或正在向 I3C 过度。

 

I2C 的速度

I2C 是一种低速、串行总线,有 SDA(串行数据线) 和 SCL(串行时钟线) 两条信号线,半双工通信。通信速度如下:

• Bidirectional bus:

  1. Standard-mode (Sm), 100 kbit/sFast-mode (Fm), 400 kbit/sFast-mode Plus (Fm+),1 Mbit/sHigh-speed mode (Hs-mode),3.4 Mbit/s.

• Unidirectional bus:

  1. Ultra Fast-mode (UFm),5 Mbit/s

速度由 SCL 决定,不同模式对上升沿的要求不一样,上升沿由上拉电阻和等效电容决定(RC)。

I2C 是一种多主从架构总线

  1. I2C 的读写均由 master 端发起。I2C 通信的每一个 byte(8bits)都需要 slaver 端的回应 ACK/NACK 作为回应。多 master 端需要引入仲裁机制。slaver 端通过设备地址区分,有 7bits 和 10 bits 等地址,还有一种 8bits 地址,实际上是 7bits + 读写位。【其中7位地址 = 种类型号(4bit)+ 寻址码(3bit)】

I2C 总线能挂多少设备?

7-bit address :2 的 7 次方,能挂 128 个设备。

10-bit address :2 的 10 次方,能挂 1024 个设备。

但是 I2C 协议规定,总线上的电容不可以超过 400pF。管脚都是有输入电容的,PCB上也会有寄生电容,所以会有一个限制。

实际设计中经验值大概是不超过 8 个器件。

总线之所以规定电容大小,是因为 I2C 使用的 GPIO 为开漏结构,要求外部有电阻上拉,电阻和总线电容产生了一个 RC 延时效应,电容越大信号的边沿就越缓,有可能带来信号质量风险(方波三角波)。

传输速度越快,信号的窗口就越小,上升沿下降沿时间要求更短更陡峭,所以 RC 乘积必须更小。

note:要把预留设备地址去除,保留地址如下:

note:写的是 two groups,而不仅仅是八个,0000 XXX 和 1111 XXX 系列地址都是保留的。

相关推荐

电子产业图谱

研究生在读,熟悉硬件、STM32单片机、嵌入式Linux。已收获小米、联发科、浙江大华、上能电气、英威腾、汇川技术、格力、富士康等大厂offer。在这里分享求职经验、嵌入式学习规划、考研、嵌入式Linux技术文章等。