mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-06 03:53:26 +03:00
vault backup: 2025-12-16 21:47:41
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
### i2C
|
### i2C
|
||||||
1. ==**I2C - Общие принципы работы** ==
|
1. **I2C - Общие принципы работы**
|
||||||
1. Шина _двухпроводная_: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы.
|
1. Шина _двухпроводная_: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы.
|
||||||
1. Что означает Open Drain?
|
1. Что означает Open Drain?
|
||||||
Устройства могут только тянуть линию вниз (0), а “1” формируется резистором подтяжки.
|
Устройства могут только тянуть линию вниз (0), а “1” формируется резистором подтяжки.
|
||||||
@@ -26,15 +26,29 @@
|
|||||||
2. STOP - обратный переход SDA LOW → HIGH при HIGH SCL
|
2. STOP - обратный переход SDA LOW → HIGH при HIGH SCL
|
||||||
3. Что такое ACK и NACK (Используется для подтверждения прима каждого байта)
|
3. Что такое ACK и NACK (Используется для подтверждения прима каждого байта)
|
||||||
1. ACK - slave тянет SDA LOW
|
1. ACK - slave тянет SDA LOW
|
||||||
2. NACK — SDA остаётся HIGH
|
2. NACK - SDA остаётся HIGH
|
||||||
2. ==**I2C - как протестировать протокол**== ?
|
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 и выше).
|
1. Проверить корректность инициализации битрейта (100/400 kHz и выше).
|
||||||
2. Использовать **логический анализатор** для просмотра транзакций.
|
2. Детальный анализ SDA и SCL
|
||||||
3. Проверять **ACK/NACK**, корректность адресации.
|
3. Анализ проблемы на уровне таймингов
|
||||||
4. Тест на устойчивость: длинные транзакции, шум, ошибки тактирования.
|
4. Проверять **ACK/NACK**, корректность адресации.
|
||||||
5. Проверка ошибок: освобождение шины при зависании SDA.
|
3. Тестирование на практике
|
||||||
|
1. Проверка адресации (i2cdetect)
|
||||||
|
2. Запись/чтение регистров
|
||||||
|
3. Тест на шум/помехи
|
||||||
|
|
||||||
3. RS485 - особенности интерфейса.
|
### UART
|
||||||
|
1.
|
||||||
|
|
||||||
|
### RS485
|
||||||
|
4. RS485 - особенности интерфейса.
|
||||||
1. Отличие от UART
|
1. Отличие от UART
|
||||||
2. Дифференциальная линия A/B.
|
2. Дифференциальная линия A/B.
|
||||||
3. Полудуплекс или полныйдуплекс.
|
3. Полудуплекс или полныйдуплекс.
|
||||||
@@ -44,7 +58,7 @@
|
|||||||
6. Поддерживает несколько устройств на линии.
|
6. Поддерживает несколько устройств на линии.
|
||||||
1. Каким образом осуществляется поддержка нескольких устройств.
|
1. Каким образом осуществляется поддержка нескольких устройств.
|
||||||
2. Типы обмена информацией
|
2. Типы обмена информацией
|
||||||
4. RS485 - как протестировать протокол.
|
5. RS485 - как протестировать протокол.
|
||||||
1. Проверить корректность переключения режимов TX/RX (DE/RE pins).
|
1. Проверить корректность переключения режимов TX/RX (DE/RE pins).
|
||||||
2. Проверка уровня сигнала на A/B на осциллографе.
|
2. Проверка уровня сигнала на A/B на осциллографе.
|
||||||
3. Тест на разных скоростях (9600 → 1–3 Мбит/с).
|
3. Тест на разных скоростях (9600 → 1–3 Мбит/с).
|
||||||
|
|||||||
Reference in New Issue
Block a user