OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2671|回复: 2

在嵌入式设计中添加双向I2C数字隔离

[复制链接]

42

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2020-4-23
在线时间
22 小时
发表于 2020-5-29 15:27:16 | 显示全部楼层 |阅读模式

嵌入式开发工程师曾使用光电耦合器进行I2C隔离。这些电路有些复杂,对总线电容敏感,并且速度有限。它们也与具有标准CMOS输入电平的高速数字隔离器不兼容。

嵌入式开发思想展示了如何将标准的高速数字隔离器转换为双向I2C隔离器。除了与数字隔离器兼容之外,该电路比以前发布的解决方案更简单,对总线电容完全不敏感,并且可以轻松支持标准的400KHz最大I2C总线速率。

标准I2C SDA和SCL信号由漏极驱动器驱动。在所有情况下,SDA都可以由总线上的任何设备驱动,以便SDA总线将信息从I2C主设备传递到从设备,并将信息从从设备传递到主设备。即,数据传输是双向的。在某些情况下,SCL仅具有I2Cmaster的驱动程序。

但是,在许多情况下,例如多个I2C主设备,或者如果从设备需要在检索数据时将其保持为低电平来扩展SCL,则SCL线也必须是双向的。

对于需要双向传输的电线,如果插入数字隔离器,则存在几个问题;隔离器必须开漏,并且可能发生闩锁情况。例如,如果A侧驱动器拉低,则隔离器A在B侧拉低。

这会导致隔离器B在A侧拉低,并且两个隔离器都拉低时电路锁存。通过将肖特基二极管与隔离器输出串联可以很容易地解决开漏问题,但是闭锁问题要难得多。

解决该问题的先前尝试是使用光耦合器输入固有的二极管和附加电路来避免闭锁情况。这些方法中的一些对总线电容敏感。

由于光耦合器的响应较慢,它们往往会变慢。最后,当使用具有标准CMOS输入电平的高速数字隔离器时,使用光耦合器的二极管输入的电路技巧就不再适用。

使用数字隔离器

的电路下图1显示了使用Silicon Laboratories,Inc.的Si8442高速隔离器的完整电路。该电路在SCL和SDA线上假设有1K上拉电阻。可以很容易地针对其他总线上拉电阻进行调整。该电路已经过SiliconLaboratories,Inc. C8051Fxxx系列MCU的测试,总线速度约为300KHz,包括需要SCL时钟拉伸的总线事务。

文章来源:http://emb.hqyj.com/Column/20209507.html



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2020-5-2
在线时间
0 小时
发表于 2020-5-29 15:27:21 | 显示全部楼层
顶起,顶起,不要沉了啊
回复 支持 反对

使用道具 举报

4

主题

380

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3088
金钱
3088
注册时间
2015-10-17
在线时间
320 小时
发表于 2020-5-29 15:38:23 | 显示全部楼层
这广告文案,差评
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 07:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表