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. **Для чего можно использовать логический анализатор?**
1. ==**I2C - Общие принципы работы** == 1. декодирование протоколов (I²C, SPI, UART, RS-485)
1. Шина _двухпроводная_: SDA (данные) и SCL (тактовый). OpenDrain линия + pull up резисторы. 2. анализ таймингов
1. Что означает Open Drain? 3. поиск дребезга, ошибок фронтов
Устройства могут только тянуть линию вниз (0), а “1” формируется резистором подтяжки. 4. проверка правильной работы CS/SCLK/SDA линий
2. Опишите преимущества: 5. фиксация больших последовательностей команд
1. Арбитраж. Несколько устройств на шине 2. Ключевые параметры логического анализатора?
2. Отсутствие конфликтов (драйвер против драйвера) 1. частота дискретизации (≥ 4× частоты шины)
3. Pull up резисторы. Для чего нужны: 2. количество каналов (4, 8, 16…)
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.
3. RS485 - особенности интерфейса. ### **Вопрос 2. **
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. Имитация обрыва линии или короткого замыкания.
### Работа с 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
- напряжение питания
- температура
- время ответа устройства