mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-06 03:13:27 +03:00
vault backup: 2025-12-29 21:21:53
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
### **Вопрос 16:** Что будет, если не использовать flow-control при высоких скоростях?
|
2. **Проблемы и диагностика.**
|
||||||
|
1. Способы тестирования UART?
|
||||||
**Ответ:**
|
1. Проверить сигнал осциллографом
|
||||||
|
2. Запустить loopback тест
|
||||||
- Переполнение FIFO
|
3. Отправить известную последовательность и сравнить (проверка UART - USB конвертором)
|
||||||
|
4. Проверить стресс/нагрузку
|
||||||
- Потеря данных
|
2. Что такое loopback тест
|
||||||
|
1. Соединение TX → RX, чтобы проверять передачу/приём на одном устройстве.
|
||||||
- Framing errors
|
3. Как обнаружить линии с шумом?
|
||||||
|
1. Нестабильные фронты
|
||||||
|
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, чтобы проверять передачу/приём на одном устройстве.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user