From e102fa7d0a4f5f549e7c76407d7c0dfe83377c0b Mon Sep 17 00:00:00 2001 From: Alexey Baranov Date: Mon, 29 Dec 2025 22:49:12 +0300 Subject: [PATCH] vault backup: 2025-12-29 22:49:12 --- Interview Question/4. Equipment Skills.md | 552 ++++++++++++++++++---- 1 file changed, 448 insertions(+), 104 deletions(-) diff --git a/Interview Question/4. Equipment Skills.md b/Interview Question/4. Equipment Skills.md index e1bdd17..7086414 100644 --- a/Interview Question/4. Equipment Skills.md +++ b/Interview Question/4. Equipment Skills.md @@ -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 ` - статус - 2. `systemctl start/stop/restart ` - управление -### Сетевая модель 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 + +- напряжение питания + +- температура + +- время ответа устройства