Hi,
I need to bit-bang a fast mode I2C stream and started reading the I2C specs from Philips carefully. Table 11 says the minimal SCL period (tLOW) is 1300ns, while tHIGH is 600ns. That implies f_SCL_MAX=526kHz. OTOH, the very first row of Table 11 says f_SCL_MAX=400kHz. While it would be easy to scale tLOW and tHIGH to make both meet their required minima AND make tLOW+tHIGH >= 2.5us, what's the point of defining the timing in such a confusing way? Per my understanding, a conforming slave must be able to work with the minimal tLOW and tHIGH anyway, i.e. at
526, not 400kHz.Best regards, Piotr