pvvx
Активный участник сообщества
Если для примера взять INA228 (2.94-MHz high-speed I2C interface), то минимальный шаг оцифровки и опроса у INA228 равен 50 мкс. Т.е. за 50 мкс по минимуму необходимо по I2C два раза выставить номер адреса, номер регистра и прочитать 3 байта данных. На это требуется около 60 тактов CLK I2C (менее 830 нс на один такт CLK) и не менее 20 записей и опросов регистров типа while(бит-регистра = ok) контроллера I2С.
Т.е. CPU будет занят только этой задачей и ничем более (если ещё сможет выставить частоту шины I2C менее 820 нс).
В итоге большинство любимых в народе MCU/SoC в пролете…
Такие вот дела с I2C и SMBus…
По этому ещё в начале этого века были проектированы стандартные ip модели контроллеров I2C... Но всякие STM и т.д. жадятся за каждый транзистор в чипе...
Т.е. CPU будет занят только этой задачей и ничем более (если ещё сможет выставить частоту шины I2C менее 820 нс).
В итоге большинство любимых в народе MCU/SoC в пролете…
Такие вот дела с I2C и SMBus…
По этому ещё в начале этого века были проектированы стандартные ip модели контроллеров I2C... Но всякие STM и т.д. жадятся за каждый транзистор в чипе...