mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-06 02:13:27 +03:00
vault backup: 2025-12-29 22:49:12
This commit is contained in:
@@ -1,109 +1,453 @@
|
||||
# **Логические анализаторы**
|
||||
|
||||
### Hardware. Digital Interface
|
||||
1. ==**I2C - Общие принципы работы** ==
|
||||
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 кΩ** (зависит от скорости и ёмкости линии).
|
||||
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
|
||||
2. ==**I2C - как протестировать протокол**== ?
|
||||
1. Проверить корректность инициализации битрейта (100/400 kHz и выше).
|
||||
2. Использовать **логический анализатор** для просмотра транзакций.
|
||||
3. Проверять **ACK/NACK**, корректность адресации.
|
||||
4. Тест на устойчивость: длинные транзакции, шум, ошибки тактирования.
|
||||
5. Проверка ошибок: освобождение шины при зависании SDA.
|
||||
1. **Для чего можно использовать логический анализатор?**
|
||||
1. декодирование протоколов (I²C, SPI, UART, RS-485)
|
||||
2. анализ таймингов
|
||||
3. поиск дребезга, ошибок фронтов
|
||||
4. проверка правильной работы CS/SCLK/SDA линий
|
||||
5. фиксация больших последовательностей команд
|
||||
2. Ключевые параметры логического анализатора?
|
||||
1. частота дискретизации (≥ 4× частоты шины)
|
||||
2. количество каналов (4, 8, 16…)
|
||||
---
|
||||
|
||||
3. RS485 - особенности интерфейса.
|
||||
1. Отличие от UART
|
||||
2. Дифференциальная линия A/B.
|
||||
3. Полудуплекс или полныйдуплекс.
|
||||
4. Большие расстояния (до сотен метров).
|
||||
5. Требует терминаторов 120 Ω.
|
||||
1. Для чего нужны терминаторы - предотвращают отражения сигнала, обеспечивая стабильность и корректность данных на больших расстояниях.
|
||||
6. Поддерживает несколько устройств на линии.
|
||||
1. Каким образом осуществляется поддержка нескольких устройств.
|
||||
2. Типы обмена информацией
|
||||
4. RS485 - как протестировать протокол.
|
||||
1. Проверить корректность переключения режимов TX/RX (DE/RE pins).
|
||||
2. Проверка уровня сигнала на A/B на осциллографе.
|
||||
3. Тест на разных скоростях (9600 → 1–3 Мбит/с).
|
||||
4. Проверка устойчивости: длинные кабели, нагрузки, шум.
|
||||
5. Имитация обрыва линии или короткого замыкания.
|
||||
### **Вопрос 2. **
|
||||
|
||||
### Работа с Linux
|
||||
1. Как посмотреть логи системы
|
||||
1. `dmesg` kernel messages
|
||||
2. Команды. Что выполняет данные команды:
|
||||
1. `cat /etc/dev/trace | grep 13:00 `
|
||||
2. `tail -f /etc/dev/trace`
|
||||
3. `chmod` - изменение прав
|
||||
4. `grep` - глобальный поиск регулярных выражений и вывод
|
||||
5. `ls -l` - посмотреть текущие права
|
||||
6. `ip br -a`
|
||||
3. Чем отличаются команды
|
||||
1. `cat /etc/dev/trace > /home/user.txt`
|
||||
2. `echo "/etc/dev/trace" > /home/user.txt`
|
||||
4. Файлы. Работа с правами
|
||||
1. `chmod` - изменить права
|
||||
2. `ls -l` - посмотреть текущие права
|
||||
3. Знание rwx-битов
|
||||
5. Devices. Как посмотреть устройства в Linux
|
||||
1. Linux и I2C. Как можно проверить устройства
|
||||
1. `/dev/i2c-* ` устройства
|
||||
2. `i2cdetect` `i2cget` `i2cset`
|
||||
2. Монтирование виртуальных файлов `/sys` / `/proc`
|
||||
3.
|
||||
-
|
||||
|
||||
6. Daemons. Службы и демоны.
|
||||
1. `systemctl status <service>` - статус
|
||||
2. `systemctl start/stop/restart <service>` - управление
|
||||
### Сетевая модель OSI
|
||||
1. Уровни модели.
|
||||
1. Physical (Физический)
|
||||
2. Data Link (Канальный)
|
||||
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**.
|
||||
-
|
||||
|
||||
- поддерживаемые декодеры
|
||||
|
||||
- глубина буфера
|
||||
|
||||
- возможность триггеров и логических условий
|
||||
|
||||
|
||||
### Оборудование и приборы
|
||||
---
|
||||
|
||||
### **Вопрос 3. Как правильно выставить частоту дискретизации для SPI 20 МГц?**
|
||||
|
||||
**Ответ:** минимум 80–100 МГц, иначе:
|
||||
|
||||
- потеря фронтов
|
||||
|
||||
- неверное декодирование
|
||||
|
||||
- ложные ошибки
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 4. Какие проблемы могут возникнуть при неправильном подключении LA?**
|
||||
|
||||
- ложные импульсы
|
||||
|
||||
- просадки уровней
|
||||
|
||||
- паразитная ёмкость
|
||||
|
||||
- искажение фронтов
|
||||
|
||||
- неверная интерпретация протокола
|
||||
|
||||
|
||||
---
|
||||
|
||||
# ⚡ **2. Осциллографы**
|
||||
|
||||
### **Вопрос 5. Зачем QA-инженеру осциллограф для тестирования цифровых интерфейсов?**
|
||||
|
||||
Ожидается:
|
||||
|
||||
- анализ сигнал-интегрити
|
||||
|
||||
- измерение уровней напряжений A/B (RS-485)
|
||||
|
||||
- проверка фронтов и спада
|
||||
|
||||
- анализ ringing/overshoot
|
||||
|
||||
- оценка jitter
|
||||
|
||||
- определение времени setup/hold
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 6. Почему логический анализатор не всегда заменяет осциллограф?**
|
||||
|
||||
LA показывает **логические уровни**, а осциллограф — **физическую форму сигнала**.
|
||||
Осциллограф нужен, если:
|
||||
|
||||
- искажён фронт
|
||||
|
||||
- шум
|
||||
|
||||
- проблемы с кабелями
|
||||
|
||||
- нет дифференциального уровня RS-485
|
||||
|
||||
- SPI не работает на высокой частоте
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 7. Какие параметры осциллографа важны для тестирования?**
|
||||
|
||||
- полоса пропускания (BW)
|
||||
|
||||
- частота выборки (sampling rate)
|
||||
|
||||
- глубина памяти
|
||||
|
||||
- чувствительность входов
|
||||
|
||||
- наличие дифференциальных пробников
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 8. Какие проблемы можно увидеть только осциллографом?**
|
||||
|
||||
- короткие выбросы (glitch)
|
||||
|
||||
- плохая форма сигнала
|
||||
|
||||
- ringing от плохого терминатора
|
||||
|
||||
- перекрёстные помехи
|
||||
|
||||
- слабый драйв линии (не тянет до уровня)
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 🔁 **3. Генераторы сигналов / Pattern Generators**
|
||||
|
||||
### **Вопрос 9. Для чего QA-инженер использует генератор сигналов?**
|
||||
|
||||
- создание тестовых стимулов
|
||||
|
||||
- эмуляция master/slave устройств
|
||||
|
||||
- тестирование ошибок синхронизации
|
||||
|
||||
- генерирование шумов
|
||||
|
||||
- проверка реакции на неправильные сигналы
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 10. Какие сигналы можно генерировать для негативных тестов?**
|
||||
|
||||
- неправильные тайминги SCLK
|
||||
|
||||
- дрожащая линия SDA
|
||||
|
||||
- случайные последовательности для UART
|
||||
|
||||
- неверные уровни RS-485
|
||||
|
||||
- random bit flips
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 11. Как использовать генератор для тестирования приёмника UART?**
|
||||
|
||||
- генерировать поток на заданных скоростях
|
||||
|
||||
- добавлять jitter
|
||||
|
||||
- менять стоп-биты
|
||||
|
||||
- вставлять битовые ошибки
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 💻 **4. Программаторы и адаптеры интерфейсов**
|
||||
|
||||
(USB-UART, USB-SPI, USB-I2C, USB-RS485)
|
||||
|
||||
### **Вопрос 12. Какие USB–интерфейсные адаптеры ты знаешь и где они используются?**
|
||||
|
||||
Ожидаемые примеры:
|
||||
|
||||
- FTDI FT232 (UART)
|
||||
|
||||
- CP2102/CP2104
|
||||
|
||||
- CH340/341
|
||||
|
||||
- Aardvark (SPI/I2C)
|
||||
|
||||
- BusPirate
|
||||
|
||||
- Analog Discovery
|
||||
|
||||
- Saleae Logic Pro
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 13. Почему важно уметь работать с Aardvark или аналогами?**
|
||||
|
||||
Потому что они позволяют:
|
||||
|
||||
- программно генерировать SPI/I2C
|
||||
|
||||
- симулировать master/slave
|
||||
|
||||
- делать нагрузочные тесты
|
||||
|
||||
- повторять тест-кейсы с высокой точностью
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 14. Какие ошибки можно выявить только с USB-интерфейсными адаптерами?**
|
||||
|
||||
- неправильный порядок байтов
|
||||
|
||||
- проблемы с таймингом (проверка в автоматизированном режиме)
|
||||
|
||||
- глюки при длительных тестах
|
||||
|
||||
- ошибки протокола при больших объёмах данных
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 🔌 **5. Мультиметр, LCR-метр, питание**
|
||||
|
||||
### **Вопрос 15. Какие измерения QA должен уметь выполнять мультиметром при тестировании цифровых интерфейсов?**
|
||||
|
||||
- проверка питания устройств
|
||||
|
||||
- проверка подтяжек резисторов
|
||||
|
||||
- проверка целостности линии
|
||||
|
||||
- измерение напряжений A/B RS-485
|
||||
|
||||
- поиск коротких замыканий
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 16. Для чего используется LCR-метр?**
|
||||
|
||||
- измерение ёмкости/индуктивности кабеля
|
||||
|
||||
- тестирование терминаторов
|
||||
|
||||
- измерение Rbias RS-485
|
||||
|
||||
- проверка компонентов на плате
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 17. Почему важно тестировать стабильность питания при работе SPI/I2C устройств?**
|
||||
|
||||
Потому что скачки питания → нарушение таймингов → некорректные ответы.
|
||||
|
||||
---
|
||||
|
||||
# 🔋 **6. Лабораторный блок питания**
|
||||
|
||||
### **Вопрос 18. Какие функции ЛБП нужны для QA?**
|
||||
|
||||
- ограничение по току
|
||||
|
||||
- симуляция просадки питания
|
||||
|
||||
- быстрый отклик при коротком замыкании
|
||||
|
||||
- точное напряжение
|
||||
|
||||
- режим логгирования
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 19. Как использовать ЛБП для негативных тестов?**
|
||||
|
||||
- резкое отключение питания во время SPI записи
|
||||
|
||||
- падение напряжения до 4.2В/3.3В/2.8В
|
||||
|
||||
- короткие просадки
|
||||
|
||||
- проверка восстановления I²C/SPI после питания
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 📰 **7. Анализаторы протоколов и ПО для автоматизации**
|
||||
|
||||
### **Вопрос 20. Какие программы используются для анализа интерфейсов?**
|
||||
|
||||
- Saleae Logic software
|
||||
|
||||
- Sigrok / PulseView
|
||||
|
||||
- Total Phase Control Center
|
||||
|
||||
- RealTerm (UART)
|
||||
|
||||
- Modbus Scanner/Modpoll
|
||||
|
||||
- Python + pyserial / spidev / smbus
|
||||
|
||||
- Linux tools: `i2cdetect`, `strace`, `minicom`, `busctl`
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 21. Для чего QA использует Sigrok/PulseView?**
|
||||
|
||||
- запись цифровых сигналов
|
||||
|
||||
- декодирование протоколов
|
||||
|
||||
- анализ таймингов
|
||||
|
||||
- триггеры по событиям (например CS↓)
|
||||
|
||||
- сравнение с эталонной осциллограммой
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 22. Как автоматизировать тестирование протоколов через Python?**
|
||||
|
||||
Отвечающий должен знать:
|
||||
|
||||
- pyserial (UART)
|
||||
|
||||
- smbus / periphery (I2C)
|
||||
|
||||
- spidev (SPI)
|
||||
|
||||
- modbus-tk / pymodbus (RS-485/Modbus)
|
||||
|
||||
- наличие логирования, повторяемости тестов
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 🎚 **8. Специализированные приборы**
|
||||
|
||||
### **Вопрос 23. Для чего используются дифференциальные пробники?**
|
||||
|
||||
- измерение A/B линий RS-485
|
||||
|
||||
- точная оценка дифференциального сигнала
|
||||
|
||||
- безопасное измерение сигналов до ±60 В
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 24. Зачем нужен анализатор сигнальной целостности?**
|
||||
|
||||
(если на проекте high-speed SPI 50–100 МГц)
|
||||
|
||||
- анализ отражений
|
||||
|
||||
- оценка импеданса линий
|
||||
|
||||
- подбор терминаторов
|
||||
|
||||
- предотвращение ошибок CRC на высокой скорости
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 25. Какие полезные функции есть в современных осциллографах?**
|
||||
|
||||
- декодирование SPI/I2C/UART
|
||||
|
||||
- Mask Testing
|
||||
|
||||
- Bus Triggering
|
||||
|
||||
- автоматическое измерение timing
|
||||
|
||||
- длительная запись (history mode)
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 🔧 **9. Средства для работы с кабелями и линиями**
|
||||
|
||||
### **Вопрос 26. Какие инструменты используются для тестирования кабельных линий?**
|
||||
|
||||
- тестеры витой пары
|
||||
|
||||
- TDR-рефлектометры
|
||||
|
||||
- меритель длины кабеля
|
||||
|
||||
- кабельные анализаторы
|
||||
|
||||
- приборы для поиска обрывов
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 27. Почему важно проверять кабели перед тестами RS-485?**
|
||||
|
||||
Плохой кабель → высокий уровень шума → CRC ошибки → некорректная работа протокола.
|
||||
|
||||
---
|
||||
|
||||
# 🧪 **10. Оборудование для стресс- и долговременных тестов**
|
||||
|
||||
### **Вопрос 28. Зачем QA-инженерам термокамеры?**
|
||||
|
||||
- тестирование работы интерфейсов при -40…+85 °C
|
||||
|
||||
- проверка стабильности частоты SPI/I²C
|
||||
|
||||
- выявление пограничных ошибок таймингов
|
||||
|
||||
- ускоренное старение оборудования
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 29. Какое оборудование используется для непрерывного прогон-тестирования?**
|
||||
|
||||
- стенды с автоматикой (Python + USB адаптеры)
|
||||
|
||||
- эмуляторы устройств
|
||||
|
||||
- роботы-стимуляторы (например для кнопок/GPIO)
|
||||
|
||||
- ПК с постоянным логгированием
|
||||
|
||||
- нагрузочные генераторы пакетов
|
||||
|
||||
|
||||
---
|
||||
|
||||
### **Вопрос 30. Какие метрики собираются во время долгих тестов интерфейсов?**
|
||||
|
||||
- количество ошибок CRC/битов
|
||||
|
||||
- количество зависаний интерфейса
|
||||
|
||||
- время восстановления после ошибок
|
||||
|
||||
- стабильность частоты SCLK
|
||||
|
||||
- напряжение питания
|
||||
|
||||
- температура
|
||||
|
||||
- время ответа устройства
|
||||
|
||||
Reference in New Issue
Block a user