Dear guys
I am reaching out to you with a question regarding the I2C clock speed of my Teensy 3.6.
I have successfully implemented a communication protocol between a T3.6 and an Arduino Uno. As it can be seen in the image below, the clock speed is 347.2 KHz instead of the configured 400 KHz (of course using Wire.setClock(400000). As you can see, I can read and write data to the bus and everything works fine after adding some delays before the Wire.beginTransmission() command (mainly after trial and error with different values)
I am assuming that the overclock may have affected this timing, however I must emphasize that the communication is working fine. I have also tested the same code at 120 MHz, 180 MHz and 240 MHz however the result is the same. Please keep in mind that my project actually needs that overclock as I am querying a bunch of values from a group of Arduinos in "real time" through the I2C bus while the T3.6 drives an SPI OLED screen, keeps a serial communication and handles extra peripherals.
Is there any workaround to push this frequency a bit higher? More importantly, should I expect any improvements on the communication speed if I get those extra 50 KHz?
As far as I remember there is a .h file that implements the clock dividers for the I2C communication when overclocking but I am not certain if it is possible to fine-tune the clock values.
Thank you very much for your help and stay safe!
dzalf
I am reaching out to you with a question regarding the I2C clock speed of my Teensy 3.6.
I have successfully implemented a communication protocol between a T3.6 and an Arduino Uno. As it can be seen in the image below, the clock speed is 347.2 KHz instead of the configured 400 KHz (of course using Wire.setClock(400000). As you can see, I can read and write data to the bus and everything works fine after adding some delays before the Wire.beginTransmission() command (mainly after trial and error with different values)
I am assuming that the overclock may have affected this timing, however I must emphasize that the communication is working fine. I have also tested the same code at 120 MHz, 180 MHz and 240 MHz however the result is the same. Please keep in mind that my project actually needs that overclock as I am querying a bunch of values from a group of Arduinos in "real time" through the I2C bus while the T3.6 drives an SPI OLED screen, keeps a serial communication and handles extra peripherals.
Is there any workaround to push this frequency a bit higher? More importantly, should I expect any improvements on the communication speed if I get those extra 50 KHz?
As far as I remember there is a .h file that implements the clock dividers for the I2C communication when overclocking but I am not certain if it is possible to fine-tune the clock values.
Thank you very much for your help and stay safe!
dzalf