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. Что такое UART?
1. Асинхронный последовательный интерфейс передачи данных “точка-точка" 1. Асинхронный последовательный интерфейс передачи данных “точка-точка"
2. Двупроводная шина (RX, TX, GND) 2. Двухпроводная шина (RX, TX, GND)
3. Уровни (TTL 3.3 В / TTL 5 В) 3. Уровни (TTL 3.3 В / TTL 5 В)
2. Что значит асинхронный последовательный интерфейс? 2. Что значит асинхронный последовательный интерфейс?
1. Линии не содержат тактового сигнала. Синхронизация происходит по битам START/STOP. 1. Линии не содержат тактового сигнала. Синхронизация происходит по битам START/STOP.
3. UART = RS-232 (отличия) ? 3. UART = RS-232 (отличия) ?
1. UART – протокол передачи данных. RS-232 – электрический стандарт уровней (±3…±15 В). 1. UART – протокол передачи данных. RS-232 – электрический стандарт уровней (±3…±15 В).
2. В чем разница TTL UART и RS - 232 2. В чем разница TTL UART и RS - 232
1. TTL: 0/3.3 В или 0/5 В / RS-232: –15 В → лог. 1, +15 В → лог. 0 (инверсная логика) 1. TTL: 0/3.3 В или 0/5 В / RS-232: –15 В → лог. 1, +15 В → лог. 0 (инверсная логика)
4. Какие параметры нужно согласовать между устройствами? 4. Какие параметры нужно согласовать между устройствами?
1. Скорость (baud rate) - Количество символов (битовых переходов) в секунду. 1. Скорость (baud rate) - Количество символов (битовых переходов) в секунду.
1. Стандартные скорости 9600, 115200. 1. Стандартные скорости 9600, 115200.
2. Количество бит данных 2. Количество бит данных
3. Чётность (parity) 3. Чётность (parity)
4. Количество стоп-битов 4. Количество стоп-битов
5. Flow control (RTS/CTS) Контроль потока. 5. Flow control (RTS/CTS) Контроль потока.
5. Как устроен формат UART кадра? 5. Как устроен формат UART кадра?
1. 1 стартовый бит (0) 1. 1 стартовый бит (0)
2. 5–9 бит данных 2. 5–9 бит данных
3. необязательный бит чётности 3. необязательный бит чётности
4. 1 или 2 стоп-бита (1) 4. 1 или 2 стоп-бита (1)
6. Как определяется начало передачи? 6. Как определяется начало передачи?
1. По переходу TX с HIGH → LOW (start бит). 1. По переходу TX с HIGH → LOW (start бит).
7. Что происходит, если неверно настроен baud rate? 7. Что происходит, если неверно настроен baud rate?
1. Искажённый битовый поток 1. Искажённый битовый поток
2. Ошибки приёма 2. Ошибки приёма
3. “кракозябры” в терминале 3. “кракозябры” в терминале
8. Зачем используются стоп-биты? 8. Зачем используются стоп-биты?
1. Для восстановления синхронизации при асинхронной передаче. 1. Для восстановления синхронизации при асинхронной передаче.
9. Что такое XON/XOFF? 9. Что такое XON/XOFF?
1. Программный flow-control. 1. Программный flow-control.
2. `XOFF` посылается для остановки передачи, `XON` — для возобновления. 2. `XOFF` посылается для остановки передачи, `XON` — для возобновления.
10. Что такое аппаратный flow-control (RTS/CTS)? 10. Что такое аппаратный flow-control (RTS/CTS)?
1. RTS (Ready To Send) — устройство готово принимать данные 1. RTS (Ready To Send) — устройство готово принимать данные
2. CTS (Clear To Send) — разрешение на передачу. Используется для предотвращения переполнения буфера. 2. CTS (Clear To Send) — разрешение на передачу. Используется для предотвращения переполнения буфера.
11. 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, чтобы проверять передачу/приём на одном устройстве.
--- ---