I2C

В: При использовании уровневого транслятора RS0208 линия SCL зависает на уровне ~0.8 В. Конфигурация GPIO в режиме LED работает нормально, в режиме I2C — нет.

О: Микросхема RS0208 не совместима с I2C (шина I2C использует open-drain логику, RS0208 предназначен для push-pull). Из даташита: «RS0208 must not be used in applications such as I2C or 1-Wire where an open-drain driver is connected on the bidirectional data I/O. Use a device from the RS01xx series.»

Решение:

  1. Заменить RS0208 на транслятор из серии RS01xx (подходит для open-drain шин).

  2. Убедиться в наличии внешних резисторов подтяжки на шине I2C между модулем и транслятором — для I2C они обязательны, так как выходы не push-pull. Внутренняя подтяжка SoM без буфера даёт уровень 1.8 В; с подключённым несовместимым буфером уровень падает.