Наблюдение за шиной I2C через осциллограф

Работа шины I2C начинается с формирования стартового бита: при высоком уровне SCL, линия SDA переходит в низкое состояние. Затем передается 7-битный адрес устройства и бит R/W (0 – запись, 1 – чтение). Устройство, обнаружив свой адрес, подтверждает это, опуская SDA на 9-м такте. Завершается передача стоповым битом: при высоком SCL, SDA переходит в высокое состояние.
Наблюдение за шиной  I2C через осциллограф
Изображение носит иллюстративный характер

Функция HAL_I2C_Master_Transmit сначала отправляет адрес устройства в режиме записи (R/W = 0), затем данные. При обращении к EEPROM, первый байт данных устанавливает адрес внутри EEPROM, а последующие байты записываются в EEPROM. После каждого байта, устройство подтверждает прием.

Функция HAL_I2C_Master_Receive сначала отправляет адрес устройства в режиме чтения (R/W = 1), затем начинает принимать данные от устройства. После получения требуемого количества байт, master прекращает их прием, отправляя на 9-м такте единицу, и генерирует стоповый бит. Это как бы запрос на чтение: сначала записываем, откуда читать, а потом читаем.

При неверном адресе, устройство не подтверждает передачу (SDA не опускается на 9-м такте). Мастер, обнаружив отсутствие подтверждения, завершает передачу стоповым битом. Понимание этих процессов и визуальный контроль с помощью осциллографа важны для отладки и диагностики проблем.


Новое на сайте

20402GitHub заставил Dependabot ждать три дня перед обновлением зависимостей 20401Как модели OpenAI вырвались из закрытого теста и добрались до серверов Hugging Face? 20400Что на самом деле стоит за заявленной точностью 95,95% у новой модели Microsoft для... 20399Почему Cruciferra стал самым опасным крипт-сервисом для Windows-малвари? 20398Уязвимость с оценкой 10.0: как взломщики добрались до внутренних функций Arista VeloCloud 20397Почему один HTTP-запрос способен взломать вашу CI/CD-цепочку в TeamCity? 20396Кто на самом деле нашёл дырку в ядре Linux — человек или искусственный интеллект? 20395Как редактор рабочих процессов n8n превращается в root-доступ к серверу? 20394Как иранские хакеры превратили календарь Microsoft 365 в шпионский канал связи? 20393Как Telegram стал каналом управления для новой шпионской кампании против правительств... 20392От учителя английского в Праге до главного редактора Live Science: путь Александра... 20391Почему у сотен тысяч серверов ключи от двери лежат под ковриком уже двадцать лет? 20390Как посмотреть «Jurassic Sharks» из любой точки мира: гид по «Shark Week» 2026 20389Почему обелиск Вашингтона стал памятником спору, а не человеку? 20388Альянс без устава: зачем NVIDIA собрала 37 компаний вокруг безопасности AI-агентов?
Ссылка