Markiv9999 / STM32NUCLEOBUS

0 stars 0 forks source link

TODO: Add high speed mode config to TMP100 #9

Open Markiv9999 opened 3 weeks ago

Markiv9999 commented 3 weeks ago

TMP100 documentation on high speed mode

In order for the I2C bus to operate at frequencies above 400 kHz, the master device must issue an Hs-mode master code (00001XXX) as the first byte after a START condition to switch the bus to high-speed operation. The TMP100 and TMP101 devices do not acknowledge this byte as required by the I2C specification, but do switch their input filters on SDA and SCL and their output filters on SDA to operate in Hs-mode, allowing transfers at up to 2 MHz. After the Hs-mode master code is issued, the master transmits an I2C slave address to initiate a data transfer operation. The bus continues to operate in Hs-mode until a STOP condition occurs on the bus. Upon receiving the STOP condition, the TMP100 and TMP101 devices switch the input and output filter back to fast-mode operation.

StefanoSperetta commented 2 weeks ago

What are the implications of this feature? This seems to have quite some implications for the I2C driver, but do we really need it?

I am not expecting to run the temperature sensor at such a clock speed so probably I would consider what implication on the rest of the system this feature would add. If it requires changes to other classes (potentially I2C) and if those changes could bring risks, I would skip it.