请教I2C的SDA三态门。enable端口可以 always 等于0么?
时间:10-02
整理:3721RD
点击:
请教I2C的SDA三态门。enable端口可以 always 等于0么?
可以没有这个enable信号吧,不用三态门实现,而是特定的pad模型
不可以。根据IIC协议,master/slave 都有机会驱动SDA。
我觉得我问的问题不是很好,呵呵,I2C的pad端口是open drain 或open collector,如图
可以没有这个enable信号吧,不用三态门实现,而是特定的pad模型
看来你是没有完全理解这个使能信号的作用,它是双向接口的必须信号。它并不一定是图中的表现形式,但一定存在这么一个使能信号,控制I/O数据流
enable信号是必须存在的,可以用多种方法实现。
我只要保证SDA信号这master-receiver模式下置高不就可以了么?
可以详细一点说明,为什么需要enable信号么?
我只要保证SDA信号这master-receiver模式下置高不就可以了么?
可以详细一点说明,为什么需要enable信号么?谢谢啦
可以啊。但是你切换输入输出模式肯定要根据一个条件来切换吧?这个条件就可以看做enable信号。
需要ENABLE信号是因为协议里面是双向信号,但是现实实现总是单向的吧。
所以用enbale=0代表输出,=1代表输入。
I2C的端口用的是线与逻辑,采用open drain,不需要明确的enable信号。
SDA的线与是线与,但SDA PAD是个双向PAD的事实不会改变啊,双向PAD就有相应的IE(控制输入) 和 OEN(控制输出),这是两码事啊
I2C的pad只能输出低电压额
可以认为I2C只能输出低电平和三态,如果输出高电平就使总线上其他设备不能输出低电平了,总线上的高电平都是通过上拉得来的