vault backup: 2025-12-29 22:49:12

This commit is contained in:
Alexey Baranov
2025-12-29 22:49:12 +03:00
parent adde334cdc
commit e102fa7d0a
+447 -103
View File
@@ -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
- напряжение питания
- температура
- время ответа устройства