mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-05 21:13:26 +03:00
vault backup: 2026-03-19 17:03:08
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
Оборудование
|
||||
# **SG vs VSG - Генератор сигналов и Векторный Генератор Сигналов**
|
||||
1. **Базовые понятия и принцип работы**
|
||||
1. Генератор сигналов (SG - Signal Generator )
|
||||
1. Источник радиосигнала предназначенный для генерации немодулированного сигнала CW или простых аналоговых модуляций (AM, FM, PM)
|
||||
2. Архитектура SG
|
||||
![[SignalGenerator_HLBD.png]]
|
||||
1. Задающий генератор. Reference & Frequency Synthesizer
|
||||
1. Внутренний OCXO или внешний 10 MHz
|
||||
2. PLL формирует RF-частоту
|
||||
2. Источник модулирующего напряжения. RF Oscillator
|
||||
1. Генерация чистой синусоиды
|
||||
2. Минимальный фазовый шум
|
||||
3. Аналоговый модулятор
|
||||
1. AM: изменение амплитуды
|
||||
2. FM: изменение частоты
|
||||
3. PM: изменение фазы
|
||||
4. RF Output Stage
|
||||
1. Усилители
|
||||
2. Ступенчатые аттенюаторы
|
||||
3. Фильтры гармоник
|
||||
|
||||
3. Векторный Генератор сигналов (VSG - Vector Signal Generator)
|
||||
1. Источник радиосигналов, способный генерировать **модулированные сигналы** (QPSK, QAM, OFDM и т.д.), а не только немодулированную несущую.
|
||||
4. Архитектура VSG:
|
||||
1. Baseband / Digital Signal Processing (DSP)
|
||||
1. Генерация битового потока
|
||||
2. Маппинг (QPSK / QAM / OFDM)
|
||||
3. Фильтрация (RRC, FIR)
|
||||
4. Формирование I/Q
|
||||
2. DAC (I/Q DAC)
|
||||
1. Преобразование цифровых I/Q в аналоговые сигналы
|
||||
3. I/Q Modulator
|
||||
1. Модуляция аналоговых I/Q на RF-несущую
|
||||
4. LO / Frequency Synthesizer
|
||||
1. Генерация высокостабильной несущей
|
||||
5. RF Chain
|
||||
1. Усиление, аттенюация
|
||||
2. Фильтрация гармоник
|
||||
6. Reference & Clocking
|
||||
1. Внутренний или внешний 10 MHz reference
|
||||
5. Вопросы по архитектуре:
|
||||
1. Где именно формируется модуляция - в аналоговой или цифровой части?
|
||||
2. Модуляция формируется **в цифровом домене (DSP)**, а затем переносится на RF-частоту через I/Q-модулятор.
|
||||
3. Что такое I/Q сигналы и почему они используются?
|
||||
1. Использование I/Q (ортогональных компонентов сигнала) позволяет независимо управлять амплитудой и фазой, что критично для QAM и OFDM.
|
||||
4. Как формируется RF-несущая в VSG?
|
||||
1. Через **PLL-синтезатор частоты**, опирающийся на: внутренний генератор OCXO или внешний 10 MHz reference.
|
||||
5. Почему важен фазовый шум ?
|
||||
1. увеличивает EVM.
|
||||
2. ухудшает прием OFDM
|
||||
3. влияет на соседние поднесущие (ICI)
|
||||
6. Какие требования к DAC в VSG?
|
||||
1. Высокая разрядность (14–16 бит)
|
||||
2. Высокая частота дискретизации
|
||||
3. Минимальные spurs и jitter
|
||||
7. Какие элементы входят в RF-output stage?
|
||||
1. Аттенюаторы
|
||||
2. Усилители
|
||||
3. Фильтры подавления гармоник
|
||||
4. Защита выхода
|
||||
8. Как синхронизируют VSG с другим оборудованием?
|
||||
1. общий **10 MHz reference**
|
||||
9. Зачем нужна внешняя опора 10 MHz?
|
||||
1. снижения частотных ошибок.
|
||||
|
||||
2. **Практические навыки**
|
||||
1. Как VSG используется при тестировании?
|
||||
1. Генерация модулированного сигнала
|
||||
2. Sweep по мощности
|
||||
3. Измерение EVM, ACLR, P1dB, AM/AM, AM/PM
|
||||
2. Какие ключевые параметры VSG важны при тестировании усилителя?
|
||||
1. Диапазон частот
|
||||
2. Максимальная выходная мощность
|
||||
3. EVM (Error Vector Magnitude)
|
||||
4. ACLR / ACPR
|
||||
3. Почему нельзя тестировать PA немодулированным сигналом?
|
||||
1. Нельзя выявить: динамическую нелинейность, спектральные утечки, реальные искажения OFDM/
|
||||
|
||||
|
||||
# **Vector Signal Analyzer - Векторный Анализатор Сигналов**
|
||||
|
||||
1. Что такое RBW?
|
||||
2. Что такое EVM - Отклонение реального вектора сигнала от идеального.
|
||||
3. Какие основные причины отклонения EVM :
|
||||
1. Нелинейность усилителя
|
||||
2. Фазовый шум
|
||||
3. I/Q дисбаланс
|
||||
4. Квантование
|
||||
|
||||
|
||||
# **Logical Analizator - Логический анализатор**
|
||||
|
||||
1. **Для каких целей используется логический анализатор?**
|
||||
1. декодирование протоколов (I²C, SPI, UART, RS-485)
|
||||
2. анализ таймингов
|
||||
3. поиск дребезга, ошибок фронтов
|
||||
4. проверка правильной работы CS/SCLK/SDA линий
|
||||
5. фиксация больших последовательностей команд
|
||||
2. Ключевые параметры логического анализатора?
|
||||
1. частота дискретизации (≥ 4× частоты шины)
|
||||
2. количество каналов (4, 8, 16…)
|
||||
3. поддерживаемые декодеры
|
||||
4. глубина буфера
|
||||
5. возможность триггеров и логических условий
|
||||
3. Как правильно выставить частоту дискретизации для SPI 20 МГц?
|
||||
1. Минимум 80–100 МГц, иначе (потеря фронтов, неверное декодирование, ложные ошибки, просадки уровней, искажение фронтов, )
|
||||
|
||||
|
||||
# **Oscilloscope - Осциллограф**
|
||||
|
||||
1. **Для каких целей используется осциллограф?**
|
||||
1. анализ сигнал-интегрити
|
||||
2. измерение уровней напряжений
|
||||
3. проверка фронтов и спада
|
||||
4. оценка jitter
|
||||
2. Почему логический анализатор не всегда заменяет осциллограф?
|
||||
1. LA показывает **логические уровни**, а осциллограф — **физическую форму сигнала**.
|
||||
3. Какие параметры осциллографа важны для тестирования?
|
||||
1. полоса пропускания (BW)
|
||||
2. глубина памяти
|
||||
3. чувствительность входов
|
||||
4. наличие дифференциальных пробников
|
||||
4. Какие проблемы можно увидеть только осциллографом?
|
||||
1. короткие выбросы (glitch)
|
||||
2. плохая форма сигнала
|
||||
3. перекрёстные помехи
|
||||
|
||||
# **Comodity Tools - Программаторы и адаптеры интерфейсов**
|
||||
(USB-UART, USB-SPI, USB-I2C, USB-RS485)
|
||||
|
||||
1. Какие USB–интерфейсные адаптеры Вы знаете и где они используются?
|
||||
1. FTDI FT232 (UART) / CP2102/CP2104 / Aardvark (SPI/I2C) / Saleae Logic Pro
|
||||
2. Какие программы используются для анализа интерфейсов?
|
||||
1. RealTerm (UART)
|
||||
2. MobaXterm
|
||||
3. Linux tools: `i2cdetect`, `strace`, `minicom`, `busctl`
|
||||
4. Python tools: `pyserial (UART)` `smbus / periphery (I2C)` `spidev (SPI)` `modbus-tk / pymodbus (RS-485/Modbus)`
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 156 KiB |
@@ -0,0 +1,138 @@
|
||||
1. **Методики тестирования**. Типовые испытания оборудования. Проверка функциональности оборудования
|
||||
1. Что описывает методика испытаний
|
||||
1. Цель
|
||||
2. Условия
|
||||
3. Оборудование
|
||||
4. Процедуру
|
||||
5. Критерии PASS / FAIL
|
||||
2. Чем методика отличает от тест-кейса?
|
||||
1. методика → высокоуровневый документ
|
||||
2. тест-кейс → конкретная проверка
|
||||
3. методика включает набор тест-кейсов
|
||||
3. Проверка функциональности оборудования:
|
||||
1. Визуальный контроль
|
||||
2. Проверка питания
|
||||
3. Проверка интерфейсов
|
||||
4. Базовая функциональность
|
||||
5. Расширенные режимы
|
||||
6. Нагрузочные тесты
|
||||
7. Граничные условия
|
||||
|
||||
2. **Сетевой стек**
|
||||
1. Сетевой стек (модель OSI / TCP-IP)
|
||||
1. Объясни модель OSI и где в ней работает TCP/IP![[image 1.png|453]]
|
||||
1. OSI (7 уровней):
|
||||
1. Physical (физический) - биты, сигналы, бинарная передача данных
|
||||
2. Data Link (канальный) - MAC. Кадры. Физическая адресация
|
||||
3. Network (сетевой) - Пакеты. Определение пути и IP
|
||||
4. Transport (транспортный). Блоки
|
||||
5. Session - (сеансовый). Данные
|
||||
6. Presentation - (представления) Данные
|
||||
7. Application - (приложения) Данные
|
||||
2. TCP/IP:
|
||||
1. IP → Network layer
|
||||
2. TCP / UDP → Transport
|
||||
2. Разница между TCP и UDP?
|
||||
1. TCP (Имеет подтверждения, контроль доставки):
|
||||
1. Медленный. Надёжный.
|
||||
2. Установление соединения (3-way handshake)
|
||||
2. UDP (Нет подтверждения и гарантии доставки)
|
||||
1. Меньшая задержка, подходит для потоковых сервисов
|
||||
3. Что такое ARP и на каком уровне он работает
|
||||
1. ARP (Address Resolution Protocol)
|
||||
2. Сопоставление **IP → MAC**
|
||||
3. Формально находится между уровнем 2 и 3, но чаще относят к **уровню 2**
|
||||
|
||||
3. **Linux Networking**
|
||||
1. Как посмотреть сетевые интерфейсы в линукс
|
||||
1. `ip a `
|
||||
2. `ifconfig`
|
||||
2. Как Linux выбирает маршруты и как их посмотреть
|
||||
1. по routing table (`ip route`)
|
||||
3. Как посмотреть открытые порты
|
||||
1. `ss -tuln`
|
||||
2. `netstat -tuln`
|
||||
4. DHCP
|
||||
1. `dhcp-leases-list ` - что выведет данная команда
|
||||
5. SSH.
|
||||
1. `ssh -L 5901:10.10.10.5:5900 user@192.168.10.1` - проброс c remote host на lochalhost
|
||||
4. **Linux**
|
||||
1. Управление системой инициализации и службами.
|
||||
Как понять что сервис не стартует
|
||||
1. `systemctl status` - управление службами.
|
||||
2. `journalctl -u ` - утилита для анализа логов (собираемых демоном systemd)
|
||||
2. Как посмотреть логи ядра
|
||||
1. `dmesg`
|
||||
3. Чем отличается команды:
|
||||
1. `echo "test" > file.txt`
|
||||
2. `echo "test" >> file.txt`
|
||||
**Ответ:** первая перезаписывает файл, если нет создает.
|
||||
Вторая добавляет в конец файла.
|
||||
4. Process:
|
||||
1. `ps - ef` - что выведет данная команда
|
||||
2. `kill -9 PID` - как
|
||||
5. Hardware
|
||||
1. I2C
|
||||
1. `/dev/i2c-* ` - объекты устройств для управления
|
||||
2. Утилиты для управления `i2cdetect` `i2cget` `i2cset`
|
||||
2. UART
|
||||
1. `cat /dev/tty*` объекты устройств (консоль)
|
||||
3.
|
||||
2. **Реальный пример** (нет связи с сервером):
|
||||
Проверка интерфейса
|
||||
`ip a`
|
||||
Проверка IP
|
||||
`ping`
|
||||
Проверка маршрута
|
||||
`ip route`
|
||||
Проверка пути
|
||||
`traceroute`
|
||||
Проверка портов
|
||||
`telnet / nc`
|
||||
Анализ трафика
|
||||
через tcpdump или Wireshark
|
||||
5. **Docker**
|
||||
1. Что такое Docker Image и Docker Container
|
||||
1. image → шаблон
|
||||
2. container → запущенный instance
|
||||
2. Что делает Docker Compose
|
||||
1. описывает многоконтейнерные системы
|
||||
2. YAML файл
|
||||
3. поднимает сервисы одной командой
|
||||
3. Как посмотреть запущенные контейнеры
|
||||
1. `docker ps`
|
||||
4. Как контейнеры общаются друг с другом
|
||||
1. через `docker network`
|
||||
2. по имени сервиса (DNS внутри)
|
||||
5. Реальный пример.
|
||||
У тебя стенд (сервер + БД) в Docker. БД не доступна. Что проверяешь?
|
||||
1. контейнер запущен (`docker ps`)
|
||||
2. сеть (`docker network`)
|
||||
3. порты (`docker inspect`)
|
||||
4. логи (`docker logs`)
|
||||
6. **Git**
|
||||
1. Что такое GIt
|
||||
1. распределённая система контроля версий
|
||||
2. Основные команды
|
||||
1. `git clone`
|
||||
2. `git pull`
|
||||
3. `git add`
|
||||
4. `git commit`
|
||||
5. `git push`
|
||||
3. Что такое branch ?
|
||||
1. отдельная линия разработки
|
||||
4. Чем отличается merge от rebase
|
||||
1. merge → сохраняет историю
|
||||
2. rebase → переписывает историю
|
||||
5. Пример: Ты сделал изменения, но не в той ветке. Что делать?
|
||||
1. git stash
|
||||
2. переключиться
|
||||
3. применить изменения
|
||||
7. **Wireshark**
|
||||
1. Что такое
|
||||
1. анализ сетевого трафика
|
||||
2. захват пакетов
|
||||
3. декодирование протоколов
|
||||
2.
|
||||
8. Схемотехника
|
||||
|
||||
@@ -0,0 +1,257 @@
|
||||
Аппаратная часть.
|
||||
# **i2C (Inter-Integrated Circuit)**
|
||||
1. **Общие вопросы и логика работы**
|
||||
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. **Тестирование**
|
||||
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. Тест на шум/помехи
|
||||
5. Как проверить I²C в Linux?
|
||||
1. `/dev/i2c-*` - представление устройств в системе (файлы устройств)
|
||||
2. Утилиты: `i2cdetect`, `i2cget`, `i2cset`
|
||||
# **UART (Universal Asynchronous Receiver/Transmitter)**
|
||||
1. **Общие вопросы и логика работы.**
|
||||
1. Что такое UART?
|
||||
1. Асинхронный последовательный интерфейс передачи данных “точка-точка"
|
||||
2. Двухпроводная шина (RX, TX, GND)
|
||||
3. Уровни (TTL 3.3 В / TTL 5 В)
|
||||
2. Что значит асинхронный последовательный интерфейс?
|
||||
1. Линии не содержат тактового сигнала. Синхронизация происходит по битам START/STOP.
|
||||
3. UART = RS-232 (отличия) ?
|
||||
1. UART – протокол передачи данных. RS-232 – электрический стандарт уровней (±3…±15 В).
|
||||
2. В чем разница TTL UART и RS - 232
|
||||
1. TTL: 0/3.3 В или 0/5 В / RS-232: –15 В → лог. 1, +15 В → лог. 0 (инверсная логика)
|
||||
4. Какие параметры нужно согласовать между устройствами?
|
||||
1. Скорость (baud rate) - Количество символов (битовых переходов) в секунду.
|
||||
1. Стандартные скорости 9600, 115200.
|
||||
2. Количество бит данных
|
||||
3. Чётность (parity)
|
||||
4. Количество стоп-битов
|
||||
5. Flow control (RTS/CTS) Контроль потока.
|
||||
5. Как устроен формат UART кадра?
|
||||
1. 1 стартовый бит (0)
|
||||
2. 5–9 бит данных
|
||||
3. необязательный бит чётности
|
||||
4. 1 или 2 стоп-бита (1)
|
||||
6. Как определяется начало передачи?
|
||||
1. По переходу TX с HIGH → LOW (start бит).
|
||||
7. Что происходит, если неверно настроен baud rate?
|
||||
1. Искажённый битовый поток
|
||||
2. Ошибки приёма
|
||||
3. “кракозябры” в терминале
|
||||
8. Зачем используются стоп-биты?
|
||||
1. Для восстановления синхронизации при асинхронной передаче.
|
||||
9. Что такое XON/XOFF?
|
||||
1. Программный flow-control.
|
||||
2. `XOFF` посылается для остановки передачи, `XON` — для возобновления.
|
||||
10. Что такое аппаратный flow-control (RTS/CTS)?
|
||||
1. RTS (Ready To Send) — устройство готово принимать данные
|
||||
2. CTS (Clear To Send) — разрешение на передачу. Используется для предотвращения переполнения буфера.
|
||||
11. Что будет, если не использовать flow-control при высоких скоростях?
|
||||
1. Переполнение FIFO / Потеря данных / Framing errors
|
||||
2. **Тестирование.**
|
||||
1. Способы тестирования UART?
|
||||
1. Проверить сигнал осциллографом
|
||||
2. Запустить loopback тест
|
||||
3. Отправить известную последовательность и сравнить (проверка UART - USB конвертором)
|
||||
4. Проверить стресс/нагрузку
|
||||
2. Что такое loopback тест
|
||||
1. Соединение TX → RX, чтобы проверять передачу/приём на одном устройстве.
|
||||
3. Как обнаружить линии с шумом?
|
||||
1. Нестабильные фронты
|
||||
2. Framing errors (Стоп-бит не обнаружен в ожидаемое время → нарушение кадра.)
|
||||
3. Анализ сигнала на осциллографе
|
||||
4. На что влияет длина UART кабеля?
|
||||
1. Ослабление сигнала
|
||||
2. Шум
|
||||
3. Перекрёстные помехи
|
||||
4. Максимальная длина зависит от скорости (обычно 1–2 м )
|
||||
5. Как уменьшить шум в UART?
|
||||
1. Экранированный кабель + скрутка
|
||||
2. Переход на RS - 485 (дифференциальный сигнал)
|
||||
3. Разнести питание и сигнал
|
||||
6. Как проверить UART в Linux?
|
||||
1. `stty -F /dev/ttyS0`
|
||||
2. `echo "test" > /dev/ttyS0`
|
||||
3. `cat /dev/ttyS0`
|
||||
4. `minicom / picocom`
|
||||
5. `dmesg | grep tty`
|
||||
7. Как работать с USB-UART адаптерами в Linux?
|
||||
1. `/dev/ttyUSB0` (ch341, cp2102)
|
||||
2. `lsusb`
|
||||
3. `dmesg | grep tty
|
||||
# **RS-485**
|
||||
1. **Общие вопросы и логика работы**
|
||||
1. Что такое RS485 и для чего применяется?
|
||||
1. Дифференциальный последовательный интерфейс.
|
||||
2. Предназначенный для связи на большие расстояния (до 1200 м) и многоточечной топологии (до 32 устройств).
|
||||
3. Обеспечивает высокую помехоустойчивость и может работать на скоростях до 10 Мбит/с на коротких дистанциях.
|
||||
2. Что значит дифференциальный интерфейс и в чём преимущества?
|
||||
1. Сигнал передаётся по двум линиям A и B. Информация кодируется **разностью напряжений**, а не абсолютными уровнями.
|
||||
2. Высокая помехоустойчивость.
|
||||
3. Возможность работы на больших расстояниях.
|
||||
4. Устойчивость к земляным петлям и снижение влияния электромагнитных наводок.
|
||||
3. Чем RS-485 отличается от RS-232?
|
||||
1. Тип сигнала:
|
||||
RS-232 - однотактный. RS-485 - дифференциальный
|
||||
2. Расстояние:
|
||||
RS-232 - до 15м. RS-485 - 1200м
|
||||
3. Скорость
|
||||
RS-232 - до ~115 кбит/с. RS-485 - до 10 Мбит/с
|
||||
4. Топология
|
||||
RS-232 - точка - точка. RS-485 - многоточка
|
||||
5. Устойчивость к помехам
|
||||
RS-232 - низкая. RS-485 - высокая
|
||||
4. От чего зависит максимальная скорость RS-485?
|
||||
1. Длина линии. (ёмкости кабеля)
|
||||
2. Количество узлов (слейвов)
|
||||
3. Крутизны фронтов драйвера
|
||||
4. Типовые параметры (10 Мбит/с → до 10–20 м / 1 Мбит/с → до 300 м / 100 кбит/с → до 1200 м)
|
||||
5. Какие уровни сигналов определены в RS-485?
|
||||
1. Логическая 1: **(V_B – V_A) ≥ +200 mV**
|
||||
2. Логический 0: **(V_B – V_A) ≤ –200 mV**
|
||||
3. Максимальный дифференциальный сигнал: до ±6 В
|
||||
4. Максимальное напряжение между линиями относительно земли: ±12…±15 В (зависит от драйвера)
|
||||
6. Что такое терминатор и зачем он нужен?
|
||||
1. **Резистор 120 Ω**, подключённый на каждом конце линии.
|
||||
2. Устраняет отражения.
|
||||
3. Стабилизирует линию. Снижает ошибки передачи.
|
||||
7. Можно ли ставить терминатор в середине линии?
|
||||
1. Он должен быть только на **двух концах** шины.
|
||||
2. Дополнительные терминаторы приводят к перегрузке драйвера и ухудшению сигнала.
|
||||
8. Что такое bias-резисторы (fail-safe biasing)
|
||||
1. Это пара резисторов (Pull-up на B, Pull-down на A), которые формируют устойчивый логический уровень, когда линия неактивна.
|
||||
2. Типовые значения (Pull-up(down): 680-1k) Без них приемник может «дрожать» между 0 и 1 из-за шумов.
|
||||
9. Что будет, если bias-резисторы установлены на каждом узле RS-485?
|
||||
1. Получится слишком сильный ток смещения → возможный перегрев или некорректный уровень idle.
|
||||
2. Bias ставится только **на одном узле** (обычно master).
|
||||
10. Как устройства определяют, кто говорит в RS-485?
|
||||
1. Не определено протоколом. Регламентируется протоколом верхнего уровня (Modbus RTU и т.д.)
|
||||
11. Что будет, если два устройства одновременно начнут передавать?
|
||||
1. Возникнет коллизия: сигнал искажается
|
||||
2. CRC/паритетные ошибки.
|
||||
2. **Тестирование.**
|
||||
1. Способы тестирования линии:
|
||||
1. Проверить осциллографом
|
||||
2. Логическим анализатором.
|
||||
2. Как тестировать RS-485 линию осциллографом?
|
||||
1. Дифференциальную форму сигнала (AB)
|
||||
2. фронты/спады (slew rate)
|
||||
3. отражения (ringing)
|
||||
4. уровни idle и biasing
|
||||
5. помехоустойчивость при подключённых нагрузках
|
||||
3. Как проверить работу на длинной линии?
|
||||
1. Проверка работы терминаторов.
|
||||
2. измерение ошибок CRC при передаче
|
||||
3. шумовое воздействие (индуктор, электромотор и т.п.)
|
||||
4. Как проверить устойчивость при нескольких узлах?
|
||||
1. подключение 5–32 узлов
|
||||
2. тест работы на разных расстояниях
|
||||
3. нагрузочное тестирование
|
||||
4. тест потери питания одного узла (не должен тянуть линию вниз)
|
||||
# **SPI (Serial Peripheral Interface)**
|
||||
1. **Общие вопросы и логика работы**
|
||||
1. Что такое SPI и где используется?
|
||||
1. Serial Peripheral Interface - синхронный последовательный интерфейс Master-Slave.
|
||||
2. DAC, ADC, Sensors, Display, EEPROM.
|
||||
3. Высокоскоростные периферийные устройства
|
||||
4. Главные преимущества: высокая скорость (до десятков МГц) и простота протокола.
|
||||
2. Какие сигналы содержит классический SPI?
|
||||
1. **SCLK** - тактовая линия
|
||||
2. **MOSI** - Master Out Slave In
|
||||
3. **MISO** - Master In Slave Out
|
||||
4. **CS/SS** - выбор ведомого (активный низкий)
|
||||
3. Какая максимальная частота SPI?
|
||||
1. Зависит от: конкретного устройства (обычно 4–60 МГц)
|
||||
2. длины трасс/кабеля
|
||||
4. Можно ли подключить несколько slave к одному SPI?
|
||||
1. Да - с общими MOSI/MISO/SCLK и индивидуальными CS.
|
||||
5. Что такое 3-wire и 4-wire SPI?
|
||||
1. **3-wire:** SCLK + SDIO + CS (двунаправленный канал данных)
|
||||
2. **4-wire:** SCLK + MOSI + MISO + CS
|
||||
6. Может ли SPI выполнять чтение и запись одновременно?
|
||||
1. Да, SPI - full duplex интерфейс:
|
||||
7. Что такое setup time и hold time для SPI?
|
||||
1. **Setup time** - время, за которое данные становятся стабильными до активного фронта SCLK
|
||||
2. **Hold time** - время, после которого данные должны оставаться стабильными после фронта
|
||||
8. Что такое QSPI и чем отличается от SPI?
|
||||
1. передаёт данные по 4 линиям вместо 1
|
||||
2. скорость выше в 4 раза
|
||||
3. используется для флэш-памяти и дисплеев
|
||||
4. требует другую инициализацию
|
||||
9. Что такое Dual SPI?
|
||||
1. Использует **две** линии данных (как половина QSPI).
|
||||
2. **Тестирование.**
|
||||
1. Что важно проверить при тестировании SPI устройства?
|
||||
1. частоту SCLK
|
||||
2. стабильность фронтов
|
||||
3. корректность работы CS
|
||||
4. правильность данных MISO/MOSI
|
||||
5. реакцию на нарушения таймингов
|
||||
2. Как тестировать SPI при помощи логического анализатора?
|
||||
1. Подключить MOSI/MISO/SCLK/CS
|
||||
2. Декодировать SPI
|
||||
3. Отследить значения регистров
|
||||
4. Проверить синхронизацию с фронтами
|
||||
5. Проверить, что CS не дребезжит
|
||||
3. Что делать, если устройство читает 0xFF или 0x00 вместо реальных данных?
|
||||
1. неверный CS
|
||||
2. неправильный CPHA/CPOL
|
||||
3. недостаточное время ответа slave
|
||||
4. слишком высокая частота SCLK
|
||||
4. Что произойдёт при слишком высокой частоте SPI?
|
||||
1. искажённые фронты
|
||||
2. пропадание отдельных бит
|
||||
3. CRC/verify ошибки в протоколе устройства
|
||||
4. «шумящие» осциллограммы на MISO
|
||||
5. Можно ли моделировать SPI трафик без железа?
|
||||
1. да, с использованием Python + spidev mock
|
||||
2. или с помощью FPGA/Pattern Generator
|
||||
3. или LA в режиме pattern generation
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,74 @@
|
||||
#linux
|
||||
|
||||
# **Junior Base**
|
||||
1. Linux отличие от Windows
|
||||
1. Open Source
|
||||
2. Все есть файл
|
||||
3. Процессы = демоны
|
||||
4. ФС: (ext4, xfs, btrfs, fat32)
|
||||
2. Дистрибутивы
|
||||
1. Примеры (Ubuntu Debian Astra)
|
||||
2. Состав (ядро, пакеты, менеджер)
|
||||
3. Shell
|
||||
1. Командная оболочка, интерпретатор команд, связывающий пользователя и ОС
|
||||
4. Разница между bash, sh
|
||||
1. **sh** - старый минималистичный shell. Bash наиболее распространённый,
|
||||
5. Что такое `sudo` ?
|
||||
6. Что такое `nano` ?
|
||||
7. Терминал:
|
||||
1. `pwd` - print work directory
|
||||
2. `cd` - change directory
|
||||
1. Отличия `cd /` от `cd ~` или `cd ..`
|
||||
3. Directory an File:
|
||||
1. `mkdir` `touch` - create file or directory
|
||||
2. `rm` - remove
|
||||
3. `mv` - move file or directory
|
||||
4. `cp` - copy
|
||||
5. `scp` - copy to host
|
||||
6. `ls -la` - Show catalog with details
|
||||
4. Права.
|
||||
1. `ls -l` - посмотреть текущие права
|
||||
2. Что значит `r w x `
|
||||
3. `chmod` - изменить права
|
||||
# **Junior+ Middle Base**
|
||||
1. Console.
|
||||
1. Чем отличаются команды:
|
||||
1. `cat /etc/dev/trace > /home/user.txt`
|
||||
2. `echo "/etc/dev/trace" > /home/user.txt`
|
||||
2. Разница между `>` и `>>` (перенаправление/перезапись и добавление с перенаправлением)
|
||||
3. Как объединить две команды |
|
||||
1. `cmd1 | cmd2`
|
||||
2. Logs. Работа с логами системы:
|
||||
1. `var/log` - стандартная директория
|
||||
2. `dmesg` kernel messages
|
||||
3. `journalctl `
|
||||
4. `grep` - глобальный поиск регулярных выражений и вывод
|
||||
5. `cat /etc/dev/trace | grep 13:00 ` - что делает данная команда
|
||||
6. `tail -f /etc/dev/trace` - что делает данная команда
|
||||
7. `cat и tail ` - отличия.
|
||||
3. Process (Процессы):
|
||||
1. Что такое PID и как его узнать `ps - ef`
|
||||
2. Что делает данная команда: `kill -9 PID`
|
||||
4. Daemons & Service.
|
||||
1. Что такое Systemd - система инициализации и управления сервисами.
|
||||
2. Что делают команды:
|
||||
1. `systemctl status <service>`
|
||||
2. `systemctl start/stop/restart <service>`
|
||||
5. Network (Сеть):
|
||||
1. `ip br -a` - что делает данная команда
|
||||
2. `dhcp-leases-list ` - что выведет данная команда
|
||||
3. `ssh root@192.168.10.10` - что делает данная команда
|
||||
4. localhost - что это?
|
||||
5. Как пробросить порт с удаленного хоста на localhost:
|
||||
1. `ssh -L 5901:10.10.10.5:5900 user@192.168.10.1`
|
||||
6. Devices. Устройства в Linux
|
||||
1. I2C.
|
||||
1. `/dev/i2c-* ` (обьекты) устройства
|
||||
2. Утилиты для работы с i2c `i2cdetect` `i2cget` `i2cset`
|
||||
3. Привести пример.
|
||||
2. UART.
|
||||
1. `cat /dev/tty*` (обьекты) устройства
|
||||
2. `dmesg | grep tty` - поиск текущих устройств
|
||||
3. `minicom / picocom` - утилиты для работы с serial портом
|
||||
4. Привести пример.
|
||||
3. Монтирование виртуальных файлов `/sys` / `/proc`
|
||||
@@ -0,0 +1,190 @@
|
||||
---
|
||||
tags:
|
||||
- mcu
|
||||
- stm32
|
||||
- HAL
|
||||
---
|
||||
---
|
||||
### 1. Блок: Архитектура, ядро и память (Cortex-M)
|
||||
|
||||
_Цель: оценить понимание работы процессорного ядра, памяти и загрузки._
|
||||
|
||||
**Вопрос 1:**
|
||||
Опишите полный путь программы от нажатия кнопки "питание" до выполнения первой инструкции в `main()`. Что происходит в Startup-файле?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
1. После подачи питания и сброса, процессор забирает первое слово (32 бита) из таблицы векторов (начало памяти, обычно 0x08000000) — это начальное значение **основного указателя стека (MSP)**.
|
||||
2. Процессор забирает второе слово из таблицы векторов — это адрес **обработчика сброса (Reset_Handler)**.
|
||||
3. Выполняется код `Reset_Handler` (обычно написан на ассемблере или Си в startup-файле). Его задачи:
|
||||
- Копирование инициализированных данных из Flash в RAM (секция `.data`).
|
||||
- Обнуление секции неинициализированных переменных (секция `.bss`).
|
||||
4. Вызывается функция `SystemInit()` (настройка базовой частоты, PLL).
|
||||
5. Вызывается функция `main()`.
|
||||
|
||||
|
||||
**Вопрос 2:**
|
||||
В чем разница между стеком (Stack) и кучей (Heap)? Где хранятся локальные и глобальные переменные?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
- **Stack:** Растет вниз. Используется для хранения локальных переменных, адресов возврата функций, сохранения контекста при прерываниях. Память выделяется автоматически и очень быстро.
|
||||
|
||||
- **Heap:** Используется для динамического выделения памяти (`malloc`/`new`). В bare-metal (голом металле) и критичных к времени системах на МК использование кучи часто ограничивают или запрещают из-за фрагментации и недетерминизма.
|
||||
|
||||
- **Глобальные переменные:** Хранятся в RAM (секции `.data` и `.bss`).
|
||||
|
||||
- **Локальные:** На стеке.
|
||||
|
||||
- **Константы (`const`):** В Flash (секция `.rodata`).
|
||||
|
||||
|
||||
**Вопрос 3:**
|
||||
Для чего в программировании регистров используется ключевое слово **`volatile`**? Приведите два примера из практики STM32.
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
Ключевое слово запрещает компилятору оптимизировать доступ к переменной, заставляя каждый раз читать её из памяти, а не использовать кэшированное значение в регистре CPU.
|
||||
|
||||
1. **Регистры периферии:** Например, флаг `RXNE` в регистре `USART_SR`. Если компилятор увидит цикл `while (!(USART_SR & RXNE_FLAG));`, без `volatile` он может оптимизировать чтение, вынеся его за пределы цикла.
|
||||
|
||||
2. **Переменные, разделяемые с прерываниями:** Глобальный флаг, который устанавливается в прерывании и проверяется в основном цикле `while(flag == 0) {}`. Без `volatile` компилятор может решить, что флаг никогда не меняется в основном потоке, и зациклить программу [](https://www.nowcoder.com/discuss/793216015415934976?sourceSSR=post)[](https://www.pvsm.ru/sobesedovanie/445258#begin).
|
||||
|
||||
|
||||
### 2. Блок: Библиотеки (HAL, LL, SPL) и периферия
|
||||
|
||||
_Цель: проверить практический опыт написания кода и конфигурации._
|
||||
|
||||
**Вопрос 4:**
|
||||
Чем отличается HAL от LL? В каком случае вы выберете LL, а в каком HAL?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
- **HAL (Hardware Abstraction Layer):** Высокоуровневые, переносимые функции с таймаутами. Удобен для быстрой разработки, сложных стеков (USB, ETH), когда скорость выполнения не критична. "Толстый" и может быть медленным.
|
||||
|
||||
- **LL (Low-Layer):** Легковесные, inline-функции, работающие почти напрямую с регистрами. Нужен для high-speed периферии (SPI на максимальной частоте, тактирование таймеров) или для проектов с жесткими ограничениями по памяти/производительности. Требует глубокого понимания работы регистров.
|
||||
|
||||
- _Доп. вопрос:_ Можно ли их миксовать? (Ответ: Можно для разных периферийных устройств, но для одного и того же (например, UART) лучше не стоит из-за конфликтов управления состояниями (handles) [](https://www.programmersought.com/article/79177505633/).
|
||||
|
||||
|
||||
**Вопрос 5:**
|
||||
Настройте таймер (например, TIM2) на генерацию прерывания с частотой 1 кГц при частоте шины APB1 = 80 МГц.
|
||||
|
||||
- **Ожидаемый ответ (ход мыслей):**
|
||||
|
||||
1. Включить тактирование таймера (`__HAL_RCC_TIM2_CLK_ENABLE()`).
|
||||
|
||||
2. Настроить предделитель (**Prescaler**) и период (**AutoReload**).
|
||||
|
||||
3. Расчет: Частота таймера = 80 МГц / (Prescaler + 1). Желаемая частота срабатывания = Частота таймера / (AutoReload + 1) = 1 кГц.
|
||||
|
||||
4. Выбираем компромисс, например: `Prescaler = 8000 - 1` => частота таймера = 10 кГц. Тогда `AutoReload = 10 - 1` => получим 1 кГц.
|
||||
|
||||
5. Включить прерывание по обновлению (Update Interrupt) в NVIC.
|
||||
|
||||
6. Запустить таймер.
|
||||
|
||||
|
||||
**Вопрос 6:**
|
||||
В чем «подвох» работы с **I2C** в STM32 через HAL? Почему иногда "вешает" систему?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
- Функции типа `HAL_I2C_Master_Transmit()` по умолчанию работают с бесконечным таймаутом (`HAL_MAX_DELAY`) или большим. Если устройство на шине "зависло" и не отвечает ACK, программа заблокируется в этом цикле.
|
||||
|
||||
- Необходимо либо использовать режимы с таймаутом (указать конечное значение в мс), либо переходить на **прерывания (Interrupt)** или **DMA**, чтобы освободить CPU.
|
||||
|
||||
- Также нужно не забывать про программный сброс шины, если она зависла.
|
||||
|
||||
|
||||
### 3. Блок: Продвинутая периферия (DMA, Interrupts, RTOS)
|
||||
|
||||
_Цель: оценить способность писать эффективный многозадачный код._
|
||||
|
||||
**Вопрос 7:**
|
||||
Объясните механизм работы DMA (Direct Memory Access). Как вы организуете прием потока данных по UART (RS-485) с помощью DMA в режиме "кругового буфера" (Circular mode)?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
- DMA — это интеллектуальный "пересыльщик" данных, который работает независимо от ядра CPU.
|
||||
|
||||
- Настройка UART DMA Rx в круговом режиме:
|
||||
|
||||
1. Выделяем буфер в памяти (например, `uint8_t uart_rx_buffer[256]`).
|
||||
|
||||
2. Настраиваем DMA на запись данных из регистра `UART->DR` в этот буфер.
|
||||
|
||||
3. Включаем прерывание от DMA по достижению половины буфера (Half-Transfer) и по завершению (Transfer Complete).
|
||||
|
||||
4. В обработчике прерывания мы понимаем, какая половина буфера сейчас заполнена, и можем обрабатывать данные, пока DMA продолжает писать во вторую половину. Это классический механизм double-buffer (ping-pong).
|
||||
|
||||
|
||||
**Вопрос 8 (RTOS):**
|
||||
В чем разница между семафором (Semaphore) и мьютексом (Mutex)? Что такое **инверсия приоритета (Priority Inversion)** и как FreeRTOS с ней борется?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
- **Семафор:** Счетчик. Используется для уведомления о событиях или подсчета ресурсов (может быть дан несколько раз).
|
||||
|
||||
- **Мьютекс:** Двоичный семафор, но с приоритетом. Обладает механизмом **наследования приоритета** (Priority Inheritance). Используется для защиты общего ресурса от одновременного доступа.
|
||||
|
||||
- **Инверсия приоритета:** Ситуация, когда высокоприоритетная задача ждет ресурса, захваченного низкоприоритетной, а средняя задача (не работающая с ресурсом) вытесняет низкую и выполняется первой, косвенно "опуская" приоритет высокой задачи ниже средней.
|
||||
|
||||
- **Решение в FreeRTOS:** На время, пока мьютекс захвачен низкоприоритетной задачей, ее приоритет временно повышается до уровня ожидающей высокоприоритетной задачи (наследование приоритета) [](https://www.nowcoder.com/discuss/793216015415934976?sourceSSR=post)[](https://www.pvsm.ru/sobesedovanie/445258#begin).
|
||||
|
||||
|
||||
**Вопрос 9:**
|
||||
Проектируем устройство сбора данных с 8 датчиков по SPI (макс. скорость 10 МГц). Данные должны обрабатываться и отправляться по USB. Предложите архитектуру задачи/прерывания/DMA.
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
1. Так как скорость высокая, используем **SPI + DMA** для опроса датчиков (по таймеру). DMA автоматически перекидывает данные в память.
|
||||
|
||||
2. По завершению DMA (Transfer Complete) генерируется прерывание, которое отправляет семафор задаче `DataProcessor`.
|
||||
|
||||
3. Задача `DataProcessor` (средний приоритет) просыпается, обрабатывает массив данных (усреднение, фильтрация, подсчет CRC).
|
||||
|
||||
4. Обработанные данные кладутся в **очередь (Queue)** для задачи `USB_Sender`.
|
||||
|
||||
5. Задача `USB_Sender` (высокий приоритет) забирает из очереди и отправляет через USB-стек (который внутри себя тоже использует DMA).
|
||||
|
||||
|
||||
### 4. Блок: Низкий уровень (CMSIS, Регистры) и отладка
|
||||
|
||||
_Цель: отделить инженеров, которые понимают "как это работает под капотом" от тех, кто просто копирует код из CubeMX._
|
||||
|
||||
**Вопрос 10:**
|
||||
Покажите (или опишите), как на прямую через регистры (CMSIS) настроить ножку PA5 на выход и установить на ней высокий уровень. (Без HAL).
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
c
|
||||
|
||||
// Включаем тактирование порта A (RCC)
|
||||
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
|
||||
// Настраиваем PA5 как общий выход (Push-pull)
|
||||
GPIOA->MODER &= ~GPIO_MODER_MODER5_Msk; // Очищаем биты
|
||||
GPIOA->MODER |= GPIO_MODER_MODER5_0; // 01 = General purpose output mode
|
||||
// Устанавливаем высокий уровень на выходе (Output Data Register)
|
||||
GPIOA->ODR |= GPIO_ODR_OD5;
|
||||
|
||||
|
||||
**Вопрос 11:**
|
||||
Программа на МК периодически "вылетает" (уходит в `HardFault_Handler`). Ваши действия по отладке?
|
||||
|
||||
- **Ожидаемый ответ:**
|
||||
|
||||
1. **Анализ стека:** Смотрю на значения регистров в момент остановки (особенно Program Counter, Link Register, Stack Pointer).
|
||||
|
||||
2. **Чтение регистров фault'а:** В STM32 есть специальные регистры (CFSR, HFSR, BFAR), которые точно указывают причину: обращение к памяти по неверному адресу (MemManage), выполнение недопустимой инструкции (UsageFault) или деление на ноль [](https://www.pvsm.ru/sobesedovanie/445258#begin).
|
||||
|
||||
3. **Использование отладчика:** Можно посмотреть дизассемблированный код по адресу из Program Counter.
|
||||
|
||||
4. **Вероятные причины:**
|
||||
|
||||
- Выход за границы массива (испортили стек).
|
||||
|
||||
- Размер стека задачи в RTOS слишком мал.
|
||||
|
||||
- Использование указателя без проверки на NULL.
|
||||
|
||||
- Обращение к уже освобожденной памяти.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
tags:
|
||||
- osi
|
||||
- network
|
||||
- tcp
|
||||
- ssh
|
||||
- vnc
|
||||
---
|
||||
|
||||
### OSI
|
||||
1. Уровни модели.
|
||||
1. **Physical** (Физический)
|
||||
2. **Data Link** (Канальный)
|
||||
1. VLAN
|
||||
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**.
|
||||
---
|
||||
|
||||
### Протоколы :
|
||||
|
||||
1. **Telnet** - Teletype Network - Устаревший протокол удаленного доступа, через текстовый терминал. 23 порт (дефолт). Низкая безопасность, данные передаются в открытом виде.
|
||||
2. **SSH** - Secure Shell - современный аналог Telnet. 22 порт. Высокая безопасность. Шифрование данных. Аутентификация по паролю, ключам. Дополнительная функциональность - передача данных SFTP проброс портов
|
||||
3. **VLAN** - Virtual Local Area Network - технология позволяющая разделить одну физическую сеть коммутатора на несколько изолированных. Повышение безопасности и гибкая маршрутизация. Снижение нагрузки, группировка пользователей.
|
||||
1. Основные факты: Второй уровень OSI - Data Link.
|
||||
2. Работает с кадрами. Роутер использует теги для frame VLANID
|
||||
4. **VNC** - Virtual Network Computing - система удаленного доступа к ПК. Доступ к рабочему столу в Linux (Win). Работает по модели клиент-сервер (порт 5900) Совместный доступ нескольких пользователей
|
||||
5. **RDP**
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
|
||||
# **Основы радиосвязи, передачи данных и ЦОС**
|
||||
https://supereyes.ru/articles/oscillograph/tsifrovaya-obrabotka-teorema-kotelnikova/?srsltid=AfmBOorXz2v11CVTPzDEdptp6cReNHXZGfrQz3IHJlSCqySnbHcai6mg
|
||||
https://radioskot.ru/publ/teoria/fazovaya-chastotnaya-i-amplitudnaya-modulyacziya
|
||||
|
||||
1. Что такое радиосигнал?
|
||||
1. Радиосигнал - это электромагнитная волна, модулированная по одному или нескольким параметрам (амплитуда, частота, фаза) для передачи информации.
|
||||
2. Основные параметры (Частота, Амплитуда, Фаза, Полоса, Спектр)
|
||||
2. Несущий сигнал (несущая частота)
|
||||
1. Высокочастотная волна, которая служит «носителем» информации. Он характеризуется тремя основными параметрами: амплитудой (силой сигнала), частотой (числом колебаний в секунду) и фазой (положением волны во времени относительно точки отсчета).
|
||||
3. Модуляция
|
||||
1. Процесс «наложения» низкочастотного информационного сигнала (голос, данные) на высокочастотный несущий сигнал путем изменения его одного или нескольких параметров: **амплитуды**, **частоты** или **фазы**
|
||||
2. Низкочастотные сигналы плохо подходят для передачи на большие расстояния. Они быстро теряют энергию, сталкиваются с препятствиями и подвержены помехам. Высокочастотные волны, напротив, лучше распространяются, особенно если их частота правильно подобрана для конкретной среды - воздуха, кабеля или космоса.
|
||||
3. Типы модуляций:
|
||||
1. Аналоговая: AM / FM / PM
|
||||
2. Цифровая: ASK / FSK / PSK
|
||||
4. Разница между между аналоговой и цифровой радиосвязью
|
||||
1. Аналоговая - информация передается непрерывным параметром
|
||||
2. Цифровая - информация кодируется в символы/биты и передается через цифровую модуляцию (QPSK, QAM и т.д.)
|
||||
4. Дискретизация
|
||||
1. Процесс преобразования непрерывного сигнала во временной ряд отсчетов.
|
||||
2. Ключевой параметр - частота дискретизации (Fs)
|
||||
5. Теорема Найквиста-Шеннона-Котельникова
|
||||
1. Cигнал с конечным по частоте спектром можно однозначно восстановить, если частота дискретизации в два и более раза превышает самую высокочастотную составляющую сигнала. (Fs≥2⋅Fmax)
|
||||
6. Что такое квантование?
|
||||
1. Преобразование отсчетов сигнала в дискретные уровни амплитуды.
|
||||
2. Параметры (Разрядность, Квантовый шум)
|
||||
7. Что такое I/Q модуляция?
|
||||
1. I/Q модуляция (квадратурная модуляция) это метод цифровой и аналоговой модуляции, который разделяет сигнал на две ортогональные (сдвинутые на 90 градусов) составляющие: **I** (синфазная, In-phase) и **Q** (квадратурная, Quadrature) . Эти две компоненты, представляющие действительную (I) и мнимую (Q) части сигнала, позволяют одновременно изменять амплитуду и фазу несущей, что лежит в основе эффективных методов, таких как QAM и PSK, для передачи большего количества данных в одном канале связи.
|
||||
8. I/Q представление сигнала.
|
||||
1. Сигнал представляется двумя ортогональными компонентами:
|
||||
1. I (In-phase)
|
||||
2. Q (Quadrature)
|
||||
2. Позволяет:
|
||||
1. Анализировать фазу и амплитуду
|
||||
2. Реализовывать цифровые модуляции
|
||||
9. Цифровые модуляции. Что такое QPSK / QAM ?
|
||||
1. QPSK — 2 бита на символ, 4 фазы
|
||||
2. QAM — комбинированная амплитудно-фазовая модуляция
|
||||
|
||||
|
||||
---
|
||||
**Определения**
|
||||
|
||||
| Параметр | Описание | Дополнительно | Ссылка на ресурс |
|
||||
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
|
||||
| **AM**<br>Amplitude Modulation | Способ преобразования сигнала при котором амплитуда гармонического колебания (несущего сигнала) изменяется по закону изменения передаваемого информационного или модулирующего сигнала.<br>![[AM_form2.png]] | **Коэффициент АМ** или (глубина модуляции)<br>отношение разности между максимальным и минимальным значениями амплитуд модулированного сигнала к сумме этих значений, выраженное в процентах. | https://www.kipis.ru/info/index.php?ELEMENT_ID=40932 |
|
||||
| **FM **<br>Frequency Modulation | Способ преобразования сигнала при котором частота гармонического колебания (несущего сигнала) изменяется по закону изменения передаваемого информационного или модулирующего сигнала.<br><br>![[FM_form.png]] | Частотно-модулированный сигнал является более помехозащищенным.<br><br>**Девиация частоты** - наибольшее значение отклонения модулированного сигнала от несущего <br><br>**Индекс модуляции** - отношение частоты девиации к <br>частоте модулированного сигнала. | https://www.eliks.ru/info/index.php?ELEMENT_ID=315701 |
|
||||
| **PM**<br>Phase Modulation | В случае синусоидального модулирующего (информационного) сигнала, результаты частотной и фазовой модуляции совпадают. В аналоговой технике фазовая модуляция используется реже, чем частотная, поскольку требует более сложного преобразования при приеме.<br><br>![[PM_form.png]] | | |
|
||||
| **I/Q модуляция**<br><br>**I** (синфазная, In-phase)**Q** (квадратурная, Quadrature).<br> | Квадратурная модуляция - это метод цифровой и аналоговой модуляции, <br>который разделяет сигнал на две ортогональные (сдвинутые на 90 градусов) составляющие: <br><br>Эти две компоненты, представляющие действительную (I) и мнимую (Q) части сигнала, <br>позволяют одновременно изменять амплитуду и фазу несущей, что лежит в основе эффективных методов, <br>таких как QAM и PSK, для передачи большего количества данных в одном канале связи | | https://radioprog.ru/post/415 |
|
||||
| **QAM**<br>Quadrature Amplitude Modulation | Квадратурная модуляция - разновидность амплитудной модуляции сигнала, <br>которая представляет собой сумму двух несущих колебаний одной частоты, но сдвинутых по фазе относительно друг друга на 90°, <br>каждое из которых модулировано по амплитуде своим модулирующим сигналом | | https://digteh.ru/UGFSvSPS/modul/QAM/ |
|
||||
| **QPSK** | | | |
|
||||
| **OFDM** | | | |
|
||||
| **PSK**<br>Phase Shift Keying | Фазовая двоичная модуляция | | |
|
||||
| **FDD**<br>Frequency Division Duplex | | | |
|
||||
| **DL** - Downlink <br>**UL** - Uplink<br> | Относительно BS (BaseStation) <br>DL - канал передачи данных <br>UL - канал для приема данных | | |
|
||||
| **CC** <br>Сomponent Сarrier | Компонентная несущая - отдельная полоса частот (канал) | | |
|
||||
| **CA**<br>Carrier Aggregation | Компонентная агрегация - одновременное использование нескольких несущих частот. Обеспечивает широкую полосу канала, тем самым увеличивается обьем и скорость передаваемых данных <br><br>**Виды агрегации:**<br>![[Intra-band contiguous.png]]]<br>![[intra-band non-contiguous.png]]<br>![[Inter-band non-contiguous.png]] | <br> | https://gsm-repiteri.ru/chto-takoe-agregaciya-chastot-v-sotovoy-svyazi-4g |
|
||||
| **LTE** <br>Long-Term Evolution | | | |
|
||||
| **RSSI** <br>Received Signal Strength Indicator | | | |
|
||||
| **EVM**<br>Error Vector Modulation | Отклонение реального вектора сигнала от идеального.<br>**Основные причины:**<br>Нелинейность усилителя<br>Фазовый шум<br>I/Q дисбаланс<br>Квантование | | |
|
||||
| | | | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#rf
|
||||
|
||||
# **Основы радиосвязи, передачи данных и ЦОС**
|
||||
---
|
||||
**Определения**
|
||||
|
||||
| Параметр | Описание | Дополнительно | Ссылка на ресурс |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
|
||||
| **AM**<br>Amplitude Modulation | Способ преобразования сигнала при котором амплитуда гармонического колебания (несущего сигнала) изменяется по закону изменения передаваемого информационного или модулирующего сигнала.<br>![[AM_form2.png]] | **Коэффициент АМ** или (глубина модуляции)<br>отношение разности между максимальным и минимальным значениями амплитуд модулированного сигнала к сумме этих значений, выраженное в процентах. | https://www.kipis.ru/info/index.php?ELEMENT_ID=40932 |
|
||||
| **FM **<br>Frequency Modulation | Способ преобразования сигнала при котором частота гармонического колебания (несущего сигнала) изменяется по закону изменения передаваемого информационного или модулирующего сигнала.<br><br>![[FM_form.png]] | Частотно-модулированный сигнал является более помехозащищенным.<br><br>**Девиация частоты** - наибольшее значение отклонения модулированного сигнала от несущего <br><br>**Индекс модуляции** - отношение частоты девиации к <br>частоте модулированного сигнала. | https://www.eliks.ru/info/index.php?ELEMENT_ID=315701 |
|
||||
| **PM**<br>Phase Modulation | В случае синусоидального модулирующего (информационного) сигнала, результаты частотной и фазовой модуляции совпадают. В аналоговой технике фазовая модуляция используется реже, чем частотная, поскольку требует более сложного преобразования при приеме.<br><br>![[PM_form.png]] | | |
|
||||
| **I/Q модуляция**<br><br>**I** (синфазная, In-phase)**Q** (квадратурная, Quadrature).<br> | Квадратурная модуляция - это метод цифровой и аналоговой модуляции, <br>который разделяет сигнал на две ортогональные (сдвинутые на 90 градусов) составляющие: <br><br>Эти две компоненты, представляющие действительную (I) и мнимую (Q) части сигнала, <br>позволяют одновременно изменять амплитуду и фазу несущей, что лежит в основе эффективных методов, <br>таких как QAM и PSK, для передачи большего количества данных в одном канале связи | | https://radioprog.ru/post/415 |
|
||||
| **QAM**<br>Quadrature Amplitude Modulation | Квадратурная модуляция - разновидность амплитудной модуляции сигнала, <br>которая представляет собой сумму двух несущих колебаний одной частоты, но сдвинутых по фазе относительно друг друга на 90°, <br>каждое из которых модулировано по амплитуде своим модулирующим сигналом | | https://digteh.ru/UGFSvSPS/modul/QAM/ |
|
||||
| **QPSK** | | | |
|
||||
| **OFDM** | | | |
|
||||
| **PSK**<br>Phase Shift Keying | Фазовая двоичная модуляция | | |
|
||||
| **FDD**<br>Frequency Division Duplex | | | |
|
||||
| **LTE** <br>Long-Term Evolution | Стандарт беспроводной передачи данных для мобильных устройств. Основан на GSM/EDGE и UMTS/HSPA | | |
|
||||
| **DL** - Downlink <br>**UL** - Uplink<br> | Относительно BS (BaseStation) <br>DL - канал передачи данных <br>UL - канал для приема данных | | |
|
||||
| **CC** <br>Сomponent Сarrier | Компонентная несущая - отдельная полоса частот (канал) для приема-передачи данных. Используется в сетях LTE и 5G<br>Применяются в UL и DL | Ширина: 1.3, 3, 5, 10, 15 и 20 МHz | |
|
||||
| **CA**<br>Carrier Aggregation | Компонентная агрегация - одновременное использование нескольких несущих частот. <br>**Виды агрегации:**<br>![[Intra-band contiguous.png]]]<br>![[intra-band non-contiguous.png]]<br>![[Inter-band non-contiguous.png]] | Обеспечивает широкую полосу канала, тем самым увеличивается обьем и скорость передаваемых данных ( до 3 Гбит/сек)<br><br>До 5 CC могут быть объединены в LTE - Advance <br> | https://gsm-repiteri.ru/chto-takoe-agregaciya-chastot-v-sotovoy-svyazi-4g |
|
||||
| **RSSI** <br>Received Signal Strength Indicator<br>#LTE | Показатель мощности принимаемого сигнала, который поступает на антенну устройства. Измеряется в дБм.<br>Важный параметр для определения качества и стабильности сигнала.<br>![[RSSI Treshholds.png]] | Оценка дальности до BS и помехи в сети<br>Чем выше RSSI тем мощнее уровень сигнала и лучше качество связи.<br>Из-за помех RSSI - падает. | https://www.vegatel.ru/articles/rssi-sinr-rsrp-rsrq-parametry-kachestva-sotovogo-signala |
|
||||
| **RSRP**<br>Reference Signal Received Power<br>#LTE | | **Good:** >−80 dBm | |
|
||||
| **SINR / CINR**<br>Signal-to-Interference-plus-Noise Ratio<br>#LTE | | | |
|
||||
| **ICMP**<br>Internet Control Message Protocol | | | |
|
||||
| **EVM**<br>Error Vector Modulation | Отклонение реального вектора сигнала от идеального.<br>**Основные причины:**<br>Нелинейность усилителя<br>Фазовый шум<br>I/Q дисбаланс<br>Квантование | | |
|
||||
| **ACPR**<br>Adjacent Channel Power Ratio<br>#acpr | Коэффициент мощности в соседнем канале.<br><br>ACPR определяется как выраженное в децибелах отношение величины P1 в определенной полосе частот (BW1) на центральной частоте рабочего канала к величине мощности P2, определенной в конкретной полосе (BW2) при заданной расстройке (F) от несущей частоты рабочего канала (fc). Пояснения о различиях в коэффициентах ACPR и ACLR показаны на рис. 1 | | |
|
||||
| **ACLR**<br>Adjacent Channel Leakage Ratio<br>#aclr | Коэффициент утечки мощности в соседний канал.<br><br>Это отношение средней мощности, сосредоточенной на частоте назначенного канала (assigned channel), к средней мощности, сосредоточенной на частоте соседнего канала (adjacent channel)<br><br>![[ACPR_ACLR.png]] | 1. Ключевой показатель качества в системах беспроводной связи (5G, LTE, CDMA)<br><br>2. Используется для оценки<br>**спектральной маски и линейности** усилителей мощности в цифровых системах передачи данных.<br><br>3. Требования к широкополосным усилителям мощности, согласно 3GPP спеке для стандарта WCDMA **не хуже -45dBm**<br><br>4. Чем меньше ACLR или ACPR - тем лучше | https://microwave-e.ru/moduls/mmimo/ |
|
||||
| **PAPR** | | | |
|
||||
| **VSWR**<br>Voltage Standing Wave Ratio | Это показатель согласования нагрузки с линией передачи. | **VSWR ≤ 1.9:1** означает допустимое согласование антенны, при котором не более ~10% передаваемой мощности отражается назад, что безопасно для RU и не приводит к деградации качества связи. | |
|
||||
| eCPRI (<br><br>[enhanced/evolved Common Public Radio Interface](https://www.google.com/search?q=enhanced%2Fevolved+Common+Public+Radio+Interface&mstk=AUtExfCRAtrT1NJrCo6nBuUUHG3c5pzm3Eeb4kf52Y96n5IRAJ0MYokGbpQothapTgI2vjVgk-9m5HWEpKqX8ReHUCkcJ46CxONNrmMZOCXYsQXmtr4uuY8-5MrLfx6UQ1TEFl8&csui=3&ved=2ahUKEwi3o6Ch1auSAxVn0AIHHc90OCEQgK4QegQIARAB))** — это ==стандарт открытого интерфейса для сетей 5G, соединяющий базовые блоки (BBU/CU/DU) с удаленными радиоголовками (RRH/RU)== | | | |
|
||||
| | | | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
![[dBm_to_watt.png]]
|
||||
Reference in New Issue
Block a user