您能否建议保持SDA低电平的最佳方法,以确保正确读取地址?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
约瑟夫
我有一个跟进问题。 在您显示的图表中,延迟是在SDA信号和ADDR引脚之间。 然而,数据表似乎显示出一些不同的东西。 这是否只是写法,抑或须在SCL与SDA/ADDR之间拖延? (第19页,8.5 .1.1 节)
ADS101x有一个地址引脚ADDR,用于配置器件的I2C地址。 此针脚可以是
连接到GND,VDD,SDA或SCL,允许使用一个引脚AS选择四个不同的地址
如表2所示。 连续采样地址引脚ADDR的状态。 使用GND,VDD和SCL
地址优先。 如果使用SDA作为设备地址,则在SCL线之后将SDA线保持在低位至少100 ns
低电平以确保设备在I2C通信期间正确解码地址。
谢谢!
您好Lenio,
ADS1013使用的地址在启动条件开始时锁定。 起始条件是SDA变为LOW (低),然后SCL变为LOW (低)。 SCL变低后, 地址引脚的SDA必须保持低电平,至少为100ns。 这可以通过Joseph之前所展示的逻辑来确保。 ADS1013的内部逻辑要求在 通过I2C传输发送地址进行解码之前,此延迟将地址锁定到ADS1013中。 这只是在SDA被用作寻址时的问题。
对于大多数微控制器来说,这是一个非常罕见的问题,因为外围设备通常速度不够快,无法导致问题。 只有在使用FPGA或超快的Micro时才会出现问题, 最佳方法是使用示波器或逻辑分析器来确定用于生成启动条件的微波的时间,以查看SDA在SCL变低后的过渡速度。
此致,
Bob B