Part Number: MSP432P4111
Other Parts Discussed in Thread: TCA8418
Hello,
I have encountered some issues with using I2C in out application.
I would like to connect a TCA8418 to a MSP432P4111 via I2C in fast mode (400 kHZ). According to the datasheet, the TCA8418 requires 0.6 us for I2C clock high time (t_sch) and 1.3 us for I2C clock low time (t_scl).
I measured the timing with an oscilloscope. In our application t_sch is 1.15 us and t_scl is 1.37 us, so our t_scl is very close the required time of 1.3 us and t_sch is way above. Is that normal?
Also I noticed that the measured bus clock rate is not 400 kHz but 342 kHz. Our system clock is 48 MHz and the prescaler value in UCB3BRW register is 120. So why don't we get the full 400 kHz? If I want to get 400 kHz I have to change the software code to 480 kHz.
I changed the SDA and SCL pull up resistors from 4k7 to 1k2. Then the bus clock rate increased from 342 kHz to 384 kHz. So it seems, that the clock rate depends on the pull up resistor (and the capacitance?), but why? Is there a proper way to get 400 kHz?
Thanks for your help in advance!
Matthias

