vault backup: 2025-12-09 22:44:51

This commit is contained in:
Alexey Baranov
2025-12-09 22:44:51 +03:00
parent 4cf0dcb255
commit 0f5c7e774d
+32 -7
View File
@@ -2,12 +2,36 @@
### ADC
### Hardware. Digital Interface
1. I2C - как работает протокол ?
1. Шина _двухпроводная_: SDA (данные) и SCL (тактовый).
2. Работает в режиме **master–slave**.
3. Адресация 7 или 10 бит. Как задается адрес устройства
4. Передача: start → address + R/W → ack → data bytes → stop.
2. I2C - как протестировать протокол ?
1. ==**I2C - Общие принципы работы** ==
1. Шина _двухпроводная_: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы.
1. Что означает Open Drain?
Устройства могут только тянуть линию вниз (0), а “1” формируется резистором подтяжки.
2. Опишите преимущества:
1. Арбитраж. Несколько устройств на шине
2. Отсутствие конфликтов (драйвер против драйвера)
3. Pull up резисторы. Для чего нужны:
1. Чтобы линии SDA и SCL могли уходить в состояние логической “1”.
2. Типичные значения: **2.2–10 кΩ** (зависит от скорости и ёмкости линии).
2. Режим работы **master–slave**.
1. Мастер генерирует такты. Слайв отвечает
3. Скорости.
1. Standart - 100kHz
2. Fast mode - 400kHz
3. Fast + 1MHz
4. Адресация 7 или 10 бит.
1. Как задается адрес устройства?
2. Разница 7 и 10 бит (7 стандартная)
5. Транзакции и сигналы:
1. Как выполняется передача (пример посылки)
1. start → address + R/W → ack → data bytes → stop.
2. Что такое Start и Stop в I2C
1. START - Переход SDA - в HIGH - LOW при HIGH SCL
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**, корректность адресации.
@@ -48,10 +72,11 @@
1. `chmod` - изменить права
2. `ls -l` - посмотреть текущие права
3. Знание rwx-битов
5. Как посмотреть устройства в Linux
5. Devices. Как посмотреть устройства в Linux
1. `/dev/i2c-* ` устройства
2. `i2cdetect` `i2cget` `i2cset`
3. Монтирование виртуальных файлов `/sys` / `/proc`
4.
6. Daemons. Службы и демоны.
1. `systemctl status <service>` - статус
2. `systemctl start/stop/restart <service>` - управление