mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-06 02:53:27 +03:00
7.4 KiB
7.4 KiB
i2C
- I2C - Общие принципы работы
- Шина двухпроводная: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы.
- Что означает Open Drain?
Устройства могут только тянуть линию вниз (0), а “1” формируется резистором подтяжки. - Опишите преимущества:
- Арбитраж. Несколько устройств на шине
- Отсутствие конфликтов (драйвер против драйвера)
- Pull up резисторы. Для чего нужны:
- Чтобы линии SDA и SCL могли уходить в состояние логической “1”.
- Типичные значения: 2.2–10 кΩ (зависит от скорости и ёмкости линии).
- Что будет если pull up слишком большой?
- Медленный rise-time
- Ошибки на высоких скоростях
- Потери данных
- Что означает Open Drain?
- Режим работы master–slave.
- Мастер генерирует такты. Слайв отвечает
- Скорости.
- Standart - 100kHz
- Fast mode - 400kHz
- Fast + 1MHz
- Адресация 7 или 10 бит.
- Как задается адрес устройства?
- Разница 7 и 10 бит (7 стандартная)
- Транзакции и сигналы:
- Как выполняется передача (пример посылки)
- start → address + R/W → ack → data bytes → stop.
- Что такое Start и Stop в I2C
- START - Переход SDA - в HIGH - LOW при HIGH SCL
- STOP - обратный переход SDA LOW → HIGH при HIGH SCL
- Что такое ACK и NACK (Используется для подтверждения прима каждого байта)
- ACK - slave тянет SDA LOW
- NACK - SDA остаётся HIGH
- Как выполняется передача (пример посылки)
- Протоколы over I2C
- SMBus - подмножество I²C с более строгими таймингами и дополнительными протоколами (battery management, sensors)
- PMBus - протокол управления питанием поверх SMBus/I²C. Используется в телеком/серверных блоках питания
- Шина двухпроводная: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы.
- I2C - проблемы и диагностика
- Как влияет длина линии (емкость) ?
- Чем больше суммарная ёмкость, тем хуже rise-time (меньше скорость)
- длинные транзакции, шум, ошибки тактирования.
- Что дает использование логического анализатора ?
- Проверить корректность инициализации битрейта (100/400 kHz и выше).
- Детальный анализ SDA и SCL
- Анализ проблемы на уровне таймингов
- Проверять ACK/NACK, корректность адресации.
- Что дает использование осциллографа
- Фронты SDA/SCL
- Наводки
- Соответствие rise/fall таймингам
- Уровни напряжений
- Тестирование на практике
- Проверка адресации (i2cdetect)
- Запись/чтение регистров
- Тест на шум/помехи
- Как влияет длина линии (емкость) ?
UART
RS485
- RS485 - особенности интерфейса.
- Отличие от UART
- Дифференциальная линия A/B.
- Полудуплекс или полныйдуплекс.
- Большие расстояния (до сотен метров).
- Требует терминаторов 120 Ω.
- Для чего нужны терминаторы - предотвращают отражения сигнала, обеспечивая стабильность и корректность данных на больших расстояниях.
- Поддерживает несколько устройств на линии.
- Каким образом осуществляется поддержка нескольких устройств.
- Типы обмена информацией
- RS485 - как протестировать протокол.
- Проверить корректность переключения режимов TX/RX (DE/RE pins).
- Проверка уровня сигнала на A/B на осциллографе.
- Тест на разных скоростях (9600 → 1–3 Мбит/с).
- Проверка устойчивости: длинные кабели, нагрузки, шум.
- Имитация обрыва линии или короткого замыкания.
Работа с Linux
-
Как посмотреть логи системы
dmesgkernel messages
-
Команды. Что выполняет данные команды:
cat /etc/dev/trace | grep 13:00tail -f /etc/dev/tracechmod- изменение правgrep- глобальный поиск регулярных выражений и выводls -l- посмотреть текущие праваip br -a
-
Чем отличаются команды
cat /etc/dev/trace > /home/user.txtecho "/etc/dev/trace" > /home/user.txt
-
Файлы. Работа с правами
chmod- изменить праваls -l- посмотреть текущие права- Знание rwx-битов
-
Devices. Как посмотреть устройства в Linux
- Linux и I2C. Как можно проверить устройства
/dev/i2c-*устройстваi2cdetecti2cgeti2cset
- Монтирование виртуальных файлов
/sys//proc
- Linux и I2C. Как можно проверить устройства
-
Daemons. Службы и демоны.
systemctl status <service>- статусsystemctl start/stop/restart <service>- управление
Сетевая модель OSI
- Уровни модели.
- Physical (Физический)
- Data Link (Канальный)
- Network (Сетевой)
- Transport (Транспортный)
- Session
- Presentation
- Application
- На каких уровнях работают Ethernet, IP, TCP/UDP?
- Ethernet — уровень 2 (Data Link)
- IP — уровень 3 (Network)
- TCP/UDP — уровень 4 (Transport)
- Чем TCP отличается от UDP?
- TCP:
- Медленный. Надёжный. Имеет подтверждения, контроль доставки
- Установление соединения (3-way handshake)
- UDP
- Меньшая задержка, подходит для потоковых сервисов
- Без гарантии доставки
- Нет подтверждений
- TCP:
- Что такое ARP и на каком уровне он работает
- ARP (Address Resolution Protocol)
- Преобразует IP → MAC
- Формально находится между уровнем 2 и 3, но чаще относят к уровню 2.