[资料分享] Serial Interface之I2C:关于DS1624 2线通信SDA保持时间的说明

fish001   2018-4-17 23:35 楼主
DS1624的2线时序与I2C之间的差异。在I2C中,SDA信号在从机内部被延迟了至少300ns,因此允许同时改变SCL和SDA电平。但DS1624并不针对SCL信号延迟SDA信号,因此在SCL完全转变为逻辑低电平前总线主机必须将SDA信号保持在正确的逻辑状态,以防止误触发START和STOP操作。

正确的时序

DS1624的SDA线并没有针对SCL进行内部延迟。因此,写入数据时,在SCL转变为低电平前,SDA的逻辑电平必须在DS1624外部被保持。否则,会被误认为是启动或停止信号。在2线总线上写逻辑“1”时,在SDA电平降低到安全的逻辑高域值电平VIH (0.7 x VDD最小)前,必须保证SCL电平已经低于逻辑低域值电平VIL (0.3 x VDD最大)。写逻辑“0”时,在SDA电平上升到VIL前,SCL电平必须已经低于VIL。产生START信号时,在SCL降低到VIH前SDA必须已经低于VIL。产生STOP信号时,SCL降低到VIH前SDA必须已高于VIH。每个器件的VIL和VIH值都进行了生产测试。以保证在整个电压和温度范围内,即使存在器件制造容差,这个时序都能正确运行。

360截图20180417233752831.jpg

DS1624的时序与I2C标准相比有些差异。DS1624并不针对SCL在内部延迟SDA。因此要求系统主机在SCL下降沿保持SDA电平,以防止逻辑“1”被误认为是START信号,逻辑“0”被误认为是STOP信号。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复