vault backup: 2025-12-29 21:21:53

This commit is contained in:
Alexey Baranov
2025-12-29 21:21:53 +03:00
parent 7aa0cb8235
commit fa42c10625
@@ -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” формируется резистором подтяжки.
@@ -54,124 +54,59 @@
3. Тест на шум/помехи 3. Тест на шум/помехи
5. Linux и I²C 5. Linux и I²C
1. 1.
### UART (Universal Asynchronous Receiver/Transmitter) # UART (Universal Asynchronous Receiver/Transmitter)
1. Что такое UART? 1. **Общие вопросы и принцип работы.**
1. Асинхронный последовательный интерфейс передачи данных “точка-точка" 1. Что такое UART?
2. Двупроводная шина (RX, TX, GND) 1. Асинхронный последовательный интерфейс передачи данных “точка-точка"
3. Уровни (TTL 3.3 В / TTL 5 В) 2. Двухпроводная шина (RX, TX, GND)
2. Что значит асинхронный последовательный интерфейс? 3. Уровни (TTL 3.3 В / TTL 5 В)
1. Линии не содержат тактового сигнала. Синхронизация происходит по битам START/STOP. 2. Что значит асинхронный последовательный интерфейс?
3. UART = RS-232 (отличия) ? 1. Линии не содержат тактового сигнала. Синхронизация происходит по битам START/STOP.
1. UART – протокол передачи данных. RS-232 – электрический стандарт уровней (±3…±15 В). 3. UART = RS-232 (отличия) ?
2. В чем разница TTL UART и RS - 232 1. UART – протокол передачи данных. RS-232 – электрический стандарт уровней (±3…±15 В).
1. TTL: 0/3.3 В или 0/5 В / RS-232: –15 В → лог. 1, +15 В → лог. 0 (инверсная логика) 2. В чем разница TTL UART и RS - 232
4. Какие параметры нужно согласовать между устройствами? 1. TTL: 0/3.3 В или 0/5 В / RS-232: –15 В → лог. 1, +15 В → лог. 0 (инверсная логика)
1. Скорость (baud rate) - Количество символов (битовых переходов) в секунду. 4. Какие параметры нужно согласовать между устройствами?
1. Стандартные скорости 9600, 115200. 1. Скорость (baud rate) - Количество символов (битовых переходов) в секунду.
2. Количество бит данных 1. Стандартные скорости 9600, 115200.
3. Чётность (parity) 2. Количество бит данных
4. Количество стоп-битов 3. Чётность (parity)
5. Flow control (RTS/CTS) Контроль потока. 4. Количество стоп-битов
5. Как устроен формат UART кадра? 5. Flow control (RTS/CTS) Контроль потока.
1. 1 стартовый бит (0) 5. Как устроен формат UART кадра?
2. 5–9 бит данных 1. 1 стартовый бит (0)
3. необязательный бит чётности 2. 5–9 бит данных
4. 1 или 2 стоп-бита (1) 3. необязательный бит чётности
6. Как определяется начало передачи? 4. 1 или 2 стоп-бита (1)
1. По переходу TX с HIGH → LOW (start бит). 6. Как определяется начало передачи?
7. Что происходит, если неверно настроен baud rate? 1. По переходу TX с HIGH → LOW (start бит).
1. Искажённый битовый поток 7. Что происходит, если неверно настроен baud rate?
2. Ошибки приёма 1. Искажённый битовый поток
3. “кракозябры” в терминале 2. Ошибки приёма
8. Зачем используются стоп-биты? 3. “кракозябры” в терминале
1. Для восстановления синхронизации при асинхронной передаче. 8. Зачем используются стоп-биты?
9. Что такое XON/XOFF? 1. Для восстановления синхронизации при асинхронной передаче.
1. Программный flow-control. 9. Что такое XON/XOFF?
2. `XOFF` посылается для остановки передачи, `XON` — для возобновления. 1. Программный flow-control.
10. Что такое аппаратный flow-control (RTS/CTS)? 2. `XOFF` посылается для остановки передачи, `XON` — для возобновления.
1. RTS (Ready To Send) — устройство готово принимать данные 10. Что такое аппаратный flow-control (RTS/CTS)?
2. CTS (Clear To Send) — разрешение на передачу. Используется для предотвращения переполнения буфера. 1. RTS (Ready To Send) — устройство готово принимать данные
11. 2. CTS (Clear To Send) — разрешение на передачу. Используется для предотвращения переполнения буфера.
11. Что будет, если не использовать flow-control при высоких скоростях?
1. Переполнение FIFO / Потеря данных / Framing errors
--- 2. **Проблемы и диагностика.**
1. Способы тестирования UART?
### **Вопрос 16:** Что будет, если не использовать flow-control при высоких скоростях? 1. Проверить сигнал осциллографом
2. Запустить loopback тест
**Ответ:** 3. Отправить известную последовательность и сравнить (проверка UART - USB конвертором)
4. Проверить стресс/нагрузку
- Переполнение FIFO 2. Что такое loopback тест
1. Соединение TX → RX, чтобы проверять передачу/приём на одном устройстве.
- Потеря данных 3. Как обнаружить линии с шумом?
1. Нестабильные фронты
- Framing errors 2. Framing errors (Стоп-бит не обнаружен в ожидаемое время → нарушение кадра.)
3. Анализ сигнала на осциллографе
---
# 🔹 **5. Ошибки UART**
### **Вопрос 17:** Что такое framing error?
**Ответ:**
Стоп-бит не обнаружен в ожидаемое время → нарушение кадра.
---
### **Вопрос 18:** Что такое overrun error?
**Ответ:**
Буфер приёмника переполнен, данные потеряны.
---
### **Вопрос 19:** Что такое break condition?
**Ответ:**
TX держится в LOW дольше чем длительность кадра.
Используется для ресета некоторых устройств (например, загрузчиков MCU).
---
### **Вопрос 20:** Как обнаружить линии с шумом?
**Ответ:**
- Нестабильные фронты
- Ошибки паритета
- Framing errors
- Анализ сигнала на осциллографе
---
# 🔹 **6. Диагностика и тестирование**
### **Вопрос 21:** Как протестировать UART линию?
**Ответ:**
- Проверить сигнал осциллографом
- Запустить loopback тест
- Отправить известную последовательность и сравнить
- Проверить разные baud rates
- Тестировать передачу больших массивов данных
- Проверить стресс/нагрузку
---
### **Вопрос 22:** Что такое loopback?
**Ответ:**
Соединение TX → RX, чтобы проверять передачу/приём на одном устройстве.
--- ---