在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 7692|回复: 3

[求助] I2C SDA口如何作为输出

[复制链接]
发表于 2013-6-12 14:42:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
i2c总线协议,SDA是作为输入输出的双向口,SDA是采用开漏结构,如图所示

开漏结构;上拉电阻

开漏结构;上拉电阻

理论上,当SDA作为输出的时候,若是输出低电平,NMOS管导通,SDA被拉至地;若是输出高电平,NMOS截止,SDA通过电阻上拉至电源电压,实现高电平的输出。
但是,SDA是双向口,当SDA作为输出的时候,SDA口肯定还是有输入信号的,怎样实现输入输出的隔离?如何使SDA的输入信号不影响到输出?
发表于 2013-9-27 14:55:11 | 显示全部楼层
在G极缺个反相器吧,在这个电路结构上加个反相器,其实你理解有问题,SDA作为总线是双向的,但是在模块内部还是单向的(包括sda_i、sda_o),其中sda_o与G极相连,sda_i与D极相连,同样总线SDA与D极相连。当发出数据,sda_o高会使SDA高,sda_o低会使SDA低,当接收数据时本方一定要先释放总线这时会有sda_o拉高,SDA的会把数据通过sda_i传输过来。因此,你不用考虑隔离的问题,发出sda_o和接收sda_i是两个方向的数据传输,一方传输时另一方必须要释放总线,根据总线协议,模块内部会处理这个问题的。
发表于 2013-10-23 16:28:00 | 显示全部楼层
分时复用,输入输出,控制器会对IO进行不同的配置。
发表于 2013-10-30 20:02:39 | 显示全部楼层
一个时刻只能是input 或者output
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 06:42 , Processed in 0.020467 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表