From 296cfa64b06b4814fe385edb8b11a0e492a9ebfc Mon Sep 17 00:00:00 2001 From: Alexey Baranov Date: Tue, 16 Dec 2025 21:47:41 +0300 Subject: [PATCH] vault backup: 2025-12-16 21:47:41 --- .../1. Hardware Skill (I2C_SPI_UART).md | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/Interview Question/1. Hardware Skill (I2C_SPI_UART).md b/Interview Question/1. Hardware Skill (I2C_SPI_UART).md index 87d2f6c..e522daa 100644 --- a/Interview Question/1. Hardware Skill (I2C_SPI_UART).md +++ b/Interview Question/1. Hardware Skill (I2C_SPI_UART).md @@ -1,5 +1,5 @@ -### i2C -1. ==**I2C - Общие принципы работы** == +### i2C +1. **I2C - Общие принципы работы** 1. Шина _двухпроводная_: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы. 1. Что означает Open Drain? Устройства могут только тянуть линию вниз (0), а “1” формируется резистором подтяжки. @@ -26,15 +26,29 @@ 2. STOP - обратный переход SDA LOW → HIGH при HIGH SCL 3. Что такое ACK и NACK (Используется для подтверждения прима каждого байта) 1. ACK - slave тянет SDA LOW - 2. NACK — SDA остаётся HIGH -2. ==**I2C - как протестировать протокол**== ? - 1. Проверить корректность инициализации битрейта (100/400 kHz и выше). - 2. Использовать **логический анализатор** для просмотра транзакций. - 3. Проверять **ACK/NACK**, корректность адресации. - 4. Тест на устойчивость: длинные транзакции, шум, ошибки тактирования. - 5. Проверка ошибок: освобождение шины при зависании SDA. + 2. NACK - SDA остаётся HIGH + 6. Протоколы over I2C + 1. SMBus - подмножество I²C с более строгими таймингами и дополнительными протоколами (battery management, sensors) + 2. PMBus - протокол управления питанием поверх SMBus/I²C. Используется в телеком/серверных блоках питания +2. **I2C - проблемы и диагностика** + 1. Как влияет длина линии (емкость) ? + 1. Чем больше суммарная ёмкость, тем хуже rise-time (меньше скорость) + 2. длинные транзакции, шум, ошибки тактирования. + 2. Что дает использование логического анализатора ? + 1. Проверить корректность инициализации битрейта (100/400 kHz и выше). + 2. Детальный анализ SDA и SCL + 3. Анализ проблемы на уровне таймингов + 4. Проверять **ACK/NACK**, корректность адресации. + 3. Тестирование на практике + 1. Проверка адресации (i2cdetect) + 2. Запись/чтение регистров + 3. Тест на шум/помехи -3. RS485 - особенности интерфейса. +### UART +1. + +### RS485 +4. RS485 - особенности интерфейса. 1. Отличие от UART 2. Дифференциальная линия A/B. 3. Полудуплекс или полныйдуплекс. @@ -44,7 +58,7 @@ 6. Поддерживает несколько устройств на линии. 1. Каким образом осуществляется поддержка нескольких устройств. 2. Типы обмена информацией -4. RS485 - как протестировать протокол. +5. RS485 - как протестировать протокол. 1. Проверить корректность переключения режимов TX/RX (DE/RE pins). 2. Проверка уровня сигнала на A/B на осциллографе. 3. Тест на разных скоростях (9600 → 1–3 Мбит/с).