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.

TCA9538: the max frequency for ouput

Part Number: TCA9538

Hi

if i wanna set gpio output  High -L ow -High -Low , like a 50% PWM waveform

what is the maximum frequency I can acieve

my master I2C is 1MHz

  • Hi Dimitry,

    Using typical 3 data byte I2C communication for this device, every write (every bit toggle) will be composed of 27 bits (3 data bytes * 9 bits/byte with ACK). Using a new transaction for each toggle would mean it would take 27 bit times not including START and STOP condition and wait times. This would be a blinking frequency near 3kHz in Normal Mode (100kHz clock) and near 25kHz in Fast Mode (400kHz).

    Instead of using a new I2C transaction for each toggle, we could also send one really long string of data bytes to the output register. Since every data byte after the third overwrites the register contents, we can toggle faster by doing this. This would only require 9 bit times between toggles with no START or STOPS in between. Using this method, we could achieve a blinking frequency closer to 20kHz in Normal Mode and 80kHz in Fast Mode. 

    The frequency estimates here are rough approximations and may vary widely based on the I2C master and its ability to drive constant communication. This method will also require basically of the bandwidth on the I2C bus so it would not be possible for the master to talk to other slaves without pausing the GPIO blinking. 

    I hope this information helps. Let me know if you have any more questions or would like help setting up the described communication sequences.

    Regards,

    Eric