0

技术 | I2C 子系统(五)

 1 year ago
source link: https://www.eefocus.com/embedded/519726
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

5、I2C Hs-mode

HS mode 为什么单独讲解?因为高速模式和其他模式有很多不一样的地方。

速度高达 3.4MHz。

Hs 模式下,主机 SDAH 有一个开漏输出 buffer, SCLH 有一个输出的开漏极下拉和电流源上拉电路,这个电流源电路缩短了 SCLH 信号的上升时间。任何时侯在 Hs 模式只有一个主机的电流源有效。

在多主机系统的 Hs 模式中,不执行仲裁和时钟同步,以加速位处理能力。仲裁过程一般在前面用 F/S 模式传输主机码后结束。

Hs 模式主机器件以高电平和低电平是 1:2 的比率产生一个串行时钟信号。解除了建立和保持时间的时序要求。

还可以选择 Hs 模式器件有内建的电桥。在 Hs 模式传输中,Hs 模式器件的高速数据 SDAH 和高速串行时钟 SCLH 线通过这个电桥与 F/S 模式器件的 SDA 和 SCL 线分隔开来。减轻了SDAH 和 SCLH 线的电容负载,使上升和下降时间更快。

Hs 模式从机器件与 F/S 从机器件的唯一差别是它们工作的速度。Hs 模式从机在 SCLH 和 SDAH输出有开漏输出的缓冲器。SCLH 管脚可选的下拉晶体管可以用于拉长 SCLH 信号的低电平,但只允许在 Hs 模式传输的响应位后进行。

Hs 模式器件的输出可以抑制毛刺,而且 SDAH 和 SCLH 输出有一个 Schmitt 触发器

Hs 模式器件的输出缓冲器对 SDAH 和 SCLH 信号的下降沿有斜率控制功能

调整了串行数据 SDA 和串行时钟 SCL 信号的时序。没有必要与其他总线系统如 CBUS 兼容,它们不能在增加的位速率下工作。

如果快速模式器件的电源电压被关断,SDA 和 SCL 的 I/O 管脚必须悬空,不能阻塞总线。

连接到总线的外部上拉器件必须调整以适应快速模式 I2C 总线更短的最大允许上升时间。对于负载最大是 200pF 的总线,每条总线的上拉器件可以是一个电阻;对于负载在 200pF~400pF 之间的总线,上拉器件可以是一个电流源(最大值 3mA)或者是一个开关电阻电路,如下图:

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FhgnOITBSQYvNCcooWC43CNmnK8o3LSt99F7p0DR2ja7DvHUqTPdI8WGK2gBE0Rkabo8Efh4ez7EYvVhF64WTMQ%2F640%3Fwx_fmt%3Dpng&s=d0c944

只有 Hs 模式器件的系统的物理 I2C 总线配置

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FhgnOITBSQYvNCcooWC43CNmnK8o3LSt93iadeXlKOohkiaG8g29EicEB5QpNjMRwicAaDiaygYk44jK4LExtbiaSDQ8A%2F640%3Fwx_fmt%3Dpng&s=a8af10

(可选)串联电阻器 Rs 保护 I2C 总线设备的 I/O 免受总线上的高压尖峰影响,并将振铃和干扰降至最低。

右下角两个设备,不光是从设备,也可以当主设备。这种期间有一个 MCS 电流源。如果总线上器件较多,会导致总线电容较大,拉升总线电压相当于给电容充电,这需要时间,这会导致波形上升沿过缓,所以加了电流源可以使上升沿很快。

1、data transfer format in Hs-mode

  1. START condition (S)8-bit master code (0000 1XXX)Not-acknowledge bit (A)

2、在Hs模式下启用电流源上拉电路

3、在下一次重复启动条件后,依旧在 Hs-mode

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FhgnOITBSQYvNCcooWC43CNmnK8o3LSt9icg7ic5ZQCzmmtcEpp7uzUR8Rzyf3JJBaarlXxbDZbIUubQejsh0zCqA%2F640%3Fwx_fmt%3Dpng&s=9e6c9b

由上图可以看出,在快速模式(FS mode)下发送一个 Master code,然后切换到高速模式(HS mode),发送从设备地址。

在第一阶段 FS mode 时候,发送主设备的编码,这时候会进行仲裁,因此高速模式阶段没有时钟同步和仲裁。

forward?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FhgnOITBSQYvNCcooWC43CNmnK8o3LSt9rWjPZ8qna0AeDfTXY8rViaE3R7MsEEBetibkYlMPibJA44W3kKTtaFhaA%2F640%3Fwx_fmt%3Dpng&s=92399f

上图为完整通信波形示意图。先在快速模式下发送主机地址,不需要从机回复。然后切换到高速模式,会发送一个 reSTART,然后再发送自己想要操作,读或者写。

I2C

版权声明:与非网经原作者授权转载,版权属于原作者。文章观点仅代表作者本人,不代表与非网立场。文章及其配图仅供工程师学习之用,如有侵权或者其他问题,请联系本站作侵删。 侵权投诉


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK