vault backup: 2025-12-29 20:46:26

This commit is contained in:
Alexey Baranov
2025-12-29 20:46:26 +03:00
parent e87b886539
commit 3625a2e410
@@ -55,7 +55,250 @@
5. Linux и I²C 5. Linux и I²C
1. 1.
### UART ### UART
1. 1. Что такое UART?
1. Universal Asynchronous Receiver/Transmitter — асинхронный последовательный интерфейс передачи данных “точка-точка
### **Вопрос 2:** Как устроен формат UART кадра?
**Ответ:**
Стандартный фрейм:
- 1 стартовый бит (0)
- 5–9 бит данных
- необязательный бит чётности
- 1 или 2 стоп-бита (1)
---
### **Вопрос 3:** Почему UART называется асинхронным?
**Ответ:**
Линии не содержат тактового сигнала; синхронизация происходит по битам START/STOP.
---
### **Вопрос 4:** Какие параметры нужно согласовать между устройствами?
**Ответ:**
- Скорость (baud rate)
- Количество бит данных
- Чётность (parity)
- Количество стоп-битов
- Flow control (RTS/CTS)
---
### **Вопрос 5:** Что такое baud rate?
**Ответ:**
Количество символов (битовых переходов) в секунду.
Типичные: 9600, 115200, 921600, 3M, 10M baud (для высокоскоростных UART).
---
# 🔹 **2. Электрические уровни**
### **Вопрос 6:** UART = RS-232?
**Ответ:**
Нет.
UART – протокол передачи данных.
RS-232 – электрический стандарт уровней (±3…±15 В).
Также встречаются UART с уровнями:
- TTL 3.3 В
- TTL 5 В
- RS-485 (дифференциальный)
---
### **Вопрос 7:** В чём разница TTL UART и RS-232?
**Ответ:**
TTL: 0/3.3 В или 0/5 В
RS-232: –15 В → лог. 1, +15 В → лог. 0 (инверсная логика)
---
### **Вопрос 8:** Что происходит, если подключить TTL UART к RS-232 напрямую?
**Ответ:**
Устройство будет повреждено. Нужен конвертор MAX232 или аналог.
---
# 🔹 **3. Работа передачи и приёма**
### **Вопрос 9:** Как определяется начало передачи?
**Ответ:**
По переходу TX с HIGH → LOW (start бит).
---
### **Вопрос 10:** Что происходит, если неверно настроен baud rate?
**Ответ:**
- Искажённый битовый поток
- Ошибки приёма
- “кракозябры” в терминале
- Потеря синхронизации
---
### **Вопрос 11:** Зачем используются стоп-биты?
**Ответ:**
Для восстановления синхронизации при асинхронной передаче.
---
### **Вопрос 12:** Какие типы parity существуют?
**Ответ:**
- None
- Even
- Odd
- Mark
- Space
---
### **Вопрос 13:** Что происходит при ошибке паритета?
**Ответ:**
Устройство ставит флаг error, характерная ошибка `PE` (Parity Error).
Полученные данные считаются некорректными.
---
# 🔹 **4. Контроль потока**
### **Вопрос 14:** Что такое аппаратный flow-control (RTS/CTS)?
**Ответ:**
- RTS (Ready To Send) — устройство готово принимать данные
- CTS (Clear To Send) — разрешение на передачу
Используется для предотвращения переполнения буфера.
---
### **Вопрос 15:** что такое XON/XOFF?
**Ответ:**
Программный flow-control.
`XOFF` посылается для остановки передачи, `XON` — для возобновления.
---
### **Вопрос 16:** Что будет, если не использовать flow-control при высоких скоростях?
**Ответ:**
- Переполнение FIFO
- Потеря данных
- Framing errors
---
# 🔹 **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, чтобы проверять передачу/приём на одном устройстве.
---
### **Вопрос 23:** Как проверить UART в Linux?
### RS485 ### RS485
4. RS485 - особенности интерфейса. 4. RS485 - особенности интерфейса.