ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
14 сентября
1541961
Eddy_Em (Вчера, 20:31 - 20:38, просмотров: 351)
Странная осциллограмма I2C у STM32F303CBT6. 

Пытаюсь прочитать регистры (16-битные с 16-битной адресацией) MLX90640, а оно мне дефолтные (как обращение по нулевому адресу) постоянно выдает. Попробовал с BME180 - прочитать 8-битные регистры с 8-битной же адресацией. Читаются, но на осциллограмме дичь какая-то (слева - кусок адреса 0x77, далее - регистр 0x80):


Во-первых, что за всплеск такой перед запросом ACK (обозначен вопросом)? Я их еще вчера на своем маленьком осциллографе заметил, но там картинку особо туда-сюда не погоняешь, поэтому сегодня припер с работы "большой" и двухканальный. Если бы он был случайным, подумал бы на то, что это из-за говнистых проводов временного подключения, но он каждый раз вылезает.

Во-вторых, почему на время стартового импульса "пропадает" тактовый? Если отключить канал SDA, то видно лучше (но и здесь заметно, что импульс занял 3 полупериода). Обозначил дугой.

Может, именно из-за этого у меня регистры не читаются?


Сейчас обратно MLX90640 подключу, посмотрю, что будет на осциллограммах. Но странно все-таки! Как с этим бороться?


UPD: на MLX90640 вижу такой всплеск после каждого ACK. И опять на START единица на SCL длится три полупериода.

На линии питания стабильно 3.3В с небольшими шумами, но без каких-нибудь просадок.

eddy-em.livejournal.com github.com/eddyem