Ssylka

Наблюдение за шиной 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-м такте). Мастер, обнаружив отсутствие подтверждения, завершает передачу стоповым битом. Понимание этих процессов и визуальный контроль с помощью осциллографа важны для отладки и диагностики проблем.


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

18995Новые методы кибератак: эксплуатация GitKraken, Facebook-фишинг и скрытые туннели... 18994Как Уилл Смит рисковал жизнью ради науки в новом глобальном путешествии? 18993Как потеря 500 миллионов фунтов привела к рождению науки о трении? 18992Как критические уязвимости в FortiSIEM и FortiFone позволяют злоумышленникам получить... 18991Что рассказывает самый полный скелет Homo habilis об эволюции человека? 18990Почему 64% сторонних приложений получают необоснованный доступ к конфиденциальным данным? 18989Почему обновление Microsoft за январь 2026 года критически важно из-за активных атак на... 18988Необычный клинический случай: решение судоку провоцировало эпилептические припадки у... 18987Почему критическая уязвимость CVE-2025-59466 угрожает каждому приложению на Node.js? 18986Продвинутая кампания веб-скимминга маскируется под Stripe и скрывается от администраторов 18985Каким образом расширение «MEXC API Automator» опустошает счета пользователей биржи MEXC? 18984Когда состоится исторический запуск Artemis 2 и возвращение людей к луне? 18983Почему точный прогноз землетрясений остается невозможным даже после провала эксперимента... 18982Смысл становится последней человеческой монополией в эпоху алгоритмического управления 18981Почему протоколы управления машинами превращают агентный ИИ в скрытую угрозу безопасности?