mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-06 02:13:27 +03:00
131 lines
7.4 KiB
Markdown
131 lines
7.4 KiB
Markdown
### 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 кΩ** (зависит от скорости и ёмкости линии).
|
||
4. Что будет если pull up слишком большой?
|
||
1. Медленный rise-time
|
||
2. Ошибки на высоких скоростях
|
||
3. Потери данных
|
||
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
|
||
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. Фронты SDA/SCL
|
||
2. Наводки
|
||
3. Соответствие rise/fall таймингам
|
||
4. Уровни напряжений
|
||
4. Тестирование на практике
|
||
1. Проверка адресации (i2cdetect)
|
||
2. Запись/чтение регистров
|
||
3. Тест на шум/помехи
|
||
### UART
|
||
1.
|
||
|
||
### RS485
|
||
4. RS485 - особенности интерфейса.
|
||
1. Отличие от UART
|
||
2. Дифференциальная линия A/B.
|
||
3. Полудуплекс или полныйдуплекс.
|
||
4. Большие расстояния (до сотен метров).
|
||
5. Требует терминаторов 120 Ω.
|
||
1. Для чего нужны терминаторы - предотвращают отражения сигнала, обеспечивая стабильность и корректность данных на больших расстояниях.
|
||
6. Поддерживает несколько устройств на линии.
|
||
1. Каким образом осуществляется поддержка нескольких устройств.
|
||
2. Типы обмена информацией
|
||
5. RS485 - как протестировать протокол.
|
||
1. Проверить корректность переключения режимов TX/RX (DE/RE pins).
|
||
2. Проверка уровня сигнала на A/B на осциллографе.
|
||
3. Тест на разных скоростях (9600 → 1–3 Мбит/с).
|
||
4. Проверка устойчивости: длинные кабели, нагрузки, шум.
|
||
5. Имитация обрыва линии или короткого замыкания.
|
||
|
||
### Работа с Linux
|
||
1. Как посмотреть логи системы
|
||
1. `dmesg` kernel messages
|
||
2. Команды. Что выполняет данные команды:
|
||
1. `cat /etc/dev/trace | grep 13:00 `
|
||
2. `tail -f /etc/dev/trace`
|
||
3. `chmod` - изменение прав
|
||
4. `grep` - глобальный поиск регулярных выражений и вывод
|
||
5. `ls -l` - посмотреть текущие права
|
||
6. `ip br -a`
|
||
3. Чем отличаются команды
|
||
1. `cat /etc/dev/trace > /home/user.txt`
|
||
2. `echo "/etc/dev/trace" > /home/user.txt`
|
||
4. Файлы. Работа с правами
|
||
1. `chmod` - изменить права
|
||
2. `ls -l` - посмотреть текущие права
|
||
3. Знание rwx-битов
|
||
5. Devices. Как посмотреть устройства в Linux
|
||
1. Linux и I2C. Как можно проверить устройства
|
||
1. `/dev/i2c-* ` устройства
|
||
2. `i2cdetect` `i2cget` `i2cset`
|
||
2. Монтирование виртуальных файлов `/sys` / `/proc`
|
||
3.
|
||
|
||
6. Daemons. Службы и демоны.
|
||
1. `systemctl status <service>` - статус
|
||
2. `systemctl start/stop/restart <service>` - управление
|
||
### Сетевая модель OSI
|
||
1. Уровни модели.
|
||
1. Physical (Физический)
|
||
2. Data Link (Канальный)
|
||
3. Network (Сетевой)
|
||
4. Transport (Транспортный)
|
||
5. Session
|
||
6. Presentation
|
||
7. Application
|
||
2. На каких уровнях работают Ethernet, IP, TCP/UDP?
|
||
1. **Ethernet** — уровень 2 (Data Link)
|
||
2. **IP** — уровень 3 (Network)
|
||
3. **TCP/UDP** — уровень 4 (Transport)
|
||
3. Чем TCP отличается от UDP?
|
||
1. TCP:
|
||
1. Медленный. Надёжный. Имеет подтверждения, контроль доставки
|
||
2. Установление соединения (3-way handshake)
|
||
2. UDP
|
||
1. Меньшая задержка, подходит для потоковых сервисов
|
||
2. Без гарантии доставки
|
||
3. Нет подтверждений
|
||
4. Что такое ARP и на каком уровне он работает
|
||
1. ARP (Address Resolution Protocol)
|
||
2. Преобразует **IP → MAC**
|
||
3. Формально находится между уровнем 2 и 3, но чаще относят к **уровню 2**.
|
||
|
||
|
||
### Оборудование и приборы
|