~/демоэкзамен.рф
09.02.01Arduino/STM32 · Verilog/ПЛИС · ПК~8 чБазовый → продвинутый

09.02.01 Компьютерные системы и комплексы — пошаговая подготовка к демонстрационному экзамену

Полный разбор по направлениям: проектирование цифровых устройств (логика, Verilog, ПЛИС/Quartus), программирование микроконтроллеров (Arduino — GPIO, кнопка, ШИМ, АЦП, UART, прерывания, таймеры; STM32 на HAL), сборка и диагностика ПК и периферии в Linux. Плату, пины и скорость UART можно заменить на свои.

Любой подсвеченный IP-адрес, интерфейс или VLAN можно нажать и изменить под свой вариант — значение подставится во всю документацию и на схему. Всё хранится только в твоём браузере.

Направления

Что входит в экзамен и из чего собирается задание

09.02.01 — «железное» направление. Задание ДЭ собирается из модулей под профессиональные модули программы. Любой подсвеченный параметр (плата, пин, скорость) можно нажать и заменить под свой вариант — он подставится во все примеры.

Направления и что делает студент
НаправлениеЧто делает студентИнструменты
Цифровые устройстваСпроектировать и смоделировать логическое/цифровое устройство, описать на HDL, проверить на ПЛИСMultisim, Proteus, Quartus, Verilog
Микропроцессорные системыЗапрограммировать микроконтроллер: ввод/вывод, датчики, индикация, интерфейсыArduino IDE, PlatformIO, STM32CubeIDE, Keil
Сборка и диагностикаСобрать/диагностировать ПК, найти и устранить неисправность, провести измеренияМультиметр, осциллограф, диагностическое ПО
ПериферияУстановить и настроить периферийное оборудование и драйверыОС, утилиты диагностики
Сверяйся со своим КОД.Точный состав модулей, платформа (Arduino/STM32/ПЛИС), приборы и баллы — в КОД твоего года и уровня. Тренируйся на той платформе и в тех средах, что используются на твоей площадке.
Шаг 1

Цифровая схемотехника: логика и Verilog

Базовая задача — реализовать комбинационную или последовательностную схему по таблице истинности. Сначала составляем таблицу и логическое выражение, затем описываем на Verilog и проверяем тестбенчем (например, в Quartus/ModelSim).

Пример: таблица истинности полного сумматора
ABCinSumCout
00000
00110
01010
01101
10010
10101
11001
11111
Полный сумматор на Verilog
module full_adder(
    input  wire a,
    input  wire b,
    input  wire cin,
    output wire sum,
    output wire cout
);
    assign sum  = a ^ b ^ cin;
    assign cout = (a & b) | (b & cin) | (a & cin);
endmodule
Тестбенч (перебор всех комбинаций)
`timescale 1ns/1ps
module tb_full_adder;
    reg a, b, cin;
    wire sum, cout;
    full_adder uut(.a(a), .b(b), .cin(cin), .sum(sum), .cout(cout));
    integer i;
    initial begin
        for (i = 0; i < 8; i = i + 1) begin
            {a, b, cin} = i;
            #10 $display("a=%b b=%b cin=%b -> sum=%b cout=%b", a, b, cin, sum, cout);
        end
        $finish;
    end
endmodule
На ПЛИС (Quartus).Создай проект в Quartus, добавь модуль, назначь выводы (Pin Planner) под плату, скомпилируй и прошей. Светодиоды/переключатели платы используй как выходы/входы для демонстрации работы схемы эксперту.
Шаг 2

Микроконтроллер: ввод-вывод и антидребезг

Стартовый блок почти любого задания — управление выходом (светодиод) и чтение входа (кнопка) с антидребезгом, плюс вывод состояния в порт. Примеры для Arduino (Arduino Uno (ATmega328P)).

Мигание и вывод в UART
// Проект: demo_device
const int LED = 13;

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
  Serial.println("start demo_device");
}

void loop() {
  digitalWrite(LED, HIGH);
  Serial.println("LED ON");
  delay(500);
  digitalWrite(LED, LOW);
  Serial.println("LED OFF");
  delay(500);
}
Кнопка с программным антидребезгом
const int BTN = 2;
const int LED = 13;
int lastState = HIGH;
unsigned long lastChange = 0;

void setup() {
  pinMode(BTN, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int s = digitalRead(BTN);
  if (s != lastState && millis() - lastChange > 30) {
    lastChange = millis();
    lastState = s;
    if (s == LOW) {                 // нажата (INPUT_PULLUP)
      digitalWrite(LED, !digitalRead(LED));
      Serial.println("toggle");
    }
  }
}
Шаг 3

ШИМ, АЦП и интерфейсы

Часто нужно регулировать яркость/мощность (ШИМ) и считывать аналоговый датчик (АЦП), а результат отправлять по UART или показывать на индикаторе.

Чтение АЦП и управление яркостью через ШИМ
const int SENS = A0;   // аналоговый вход
const int PWM  = 9;   // выход ШИМ

void setup() {
  pinMode(PWM, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int raw = analogRead(SENS);          // 0..1023
  int duty = map(raw, 0, 1023, 0, 255); // в диапазон ШИМ 0..255
  analogWrite(PWM, duty);
  float volt = raw * 5.0 / 1023.0;
  Serial.print("ADC="); Serial.print(raw);
  Serial.print(" U="); Serial.print(volt, 2);
  Serial.print(" duty="); Serial.println(duty);
  delay(200);
}
Прерывание по фронту на входе
const int IRQ_PIN = 2;
volatile unsigned long counter = 0;

void onEdge() { counter++; }            // обработчик прерывания

void setup() {
  pinMode(IRQ_PIN, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(IRQ_PIN), onEdge, FALLING);
  Serial.begin(9600);
}

void loop() {
  static unsigned long last = 0;
  if (counter != last) { last = counter; Serial.println(counter); }
}
Индикация.Для вывода чисел удобны 7-сегментный индикатор или LCD 16x2 (библиотека LiquidCrystal). Если в задании есть индикатор — заранее отработай вывод значения датчика на него.
Шаг 4

STM32 на HAL (если платформа ARM)

На STM32 логика та же, но периферия инициализируется через HAL/CubeMX. Ниже — переключение вывода и отправка по UART.

Мигание и UART на STM32 (HAL)
/* после инициализации в CubeMX: GPIO PA5 (LED), USART2 */
uint8_t msg[] = "tick\r\n";

while (1) {
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
    HAL_UART_Transmit(&huart2, msg, sizeof(msg) - 1, 100);
    HAL_Delay(500);
}
Подготовь среду заранее.В STM32CubeIDE/Keil потренируйся настраивать тактирование, GPIO, таймеры, UART и прошивать плату. На экзамене не должно уходить время на борьбу со средой.
Шаг 5

Сборка и диагностика ПК (Linux)

Модуль обслуживания/ремонта — это сборка, диагностика и поиск неисправности. Многое проверяется штатными утилитами Linux. Команды выполняются с правами администратора.

Инвентаризация и состояние комплектующих
lscpu                      # процессор
free -h                    # память (объём, использование)
lsblk                      # диски и разделы
sudo dmidecode -t memory   # модули памяти (тип, объём, слоты)
sudo dmidecode -t baseboard # материнская плата
lspci                      # шина PCI (видео, контроллеры)
lsusb                      # устройства USB
Здоровье диска и температура
sudo apt install -y smartmontools lm-sensors 2>/dev/null || true
sudo smartctl -H /dev/sda        # общий статус SMART диска
sudo smartctl -A /dev/sda        # атрибуты (переназначенные секторы и т.п.)
sudo sensors-detect --auto >/dev/null 2>&1
sensors                          # температуры CPU/плат
Тест памяти и стресс
sudo apt install -y memtester stress-ng 2>/dev/null || true
sudo memtester 256M 1            # тест 256 МБ ОЗУ, 1 проход
stress-ng --cpu 2 --timeout 30s --metrics-brief
  1. Сборка: подключай узлы поэтапно (питание → материнская плата → ОЗУ → видео → накопитель), соблюдая антистатику.
  2. Нет старта/POST: проверь питание, переустанови ОЗУ, послушай звуковые сигналы BIOS/UEFI — по их коду определи неисправный узел.
  3. Есть POST, нет загрузки: проверь накопитель (SMART), порядок загрузки в BIOS, целостность системы.
  4. Перегрев/выключения: проверь sensors, охлаждение и термопасту.
  5. Зафиксируй методику и результат диагностики, если это требуется заданием.
Финал

Самопроверка, техника безопасности и ошибки

  • Схема/устройство собрано по ТЗ и работает; результат можно продемонстрировать эксперту.
  • Соблюдена техника безопасности и антистатика, монтаж аккуратный.
  • Питание и полярность проверены до включения; нет коротких замыканий.
  • Программа микроконтроллера обрабатывает входы и корректно управляет выходами.
  • Диагностика выполнена по методике, неисправность локализована и устранена.
  • Результаты измерений/диагностики оформлены, если требуется.
Собирай и проверяй по частям.Поднимай устройство модулями: питание и индикация → ввод → логика → интерфейсы, проверяя каждый этап. Так проще найти ошибку и не потерять баллы за неработающее устройство целиком.
Помощь

Остались вопросы по подготовке

Задавай вопросы ИИ-помощнику на странице — он отвечает по теме демонстрационного экзамена 09.02.01: схемотехника и Verilog, микроконтроллеры (Arduino/STM32), диагностика и ремонт ПК. Значения в примерах (плата, пины, скорость) меняй под свой вариант — они подставятся во всю документацию.

Инструменты подготовки

премиум
Генератор варианта стенда

Один клик — и адреса, подсети, VLAN, порты и пароли меняются на новый согласованный вариант. Значения подставятся во все команды и таблицы на странице. Удобно тренироваться «как на экзамене», когда даны другие числа.

Таймер экзамена
8:00:00
Длительность:мин
Чек-лист
0/0
    Тренажёр-тест
    1. 1. Какой диапазон возвращает analogRead() на Arduino Uno?
    2. 2. Чем проверить здоровье диска (SMART) в Linux?
    3. 3. Оператор XOR в Verilog — это…
    🔒
    Инструменты подготовки к экзамену

    Откройте все памятки, тренажёры и инструменты подготовки — разово за 99, без регистрации.

    Документация обновлена: 2026. Материал по настройке оборудования на ОС Альт Linux. Проверяй актуальные значения под своё оборудование.
    ИИ-помощник
    по специальности 09.02.01

    Задай вопрос по настройке, командам или теории этой специальности — отвечу на основе ИИ.

    Бесплатных вопросов осталось: 3.
    🚀 Готовься уверенно, а не вслепую

    Премиум открывает сразу всё:

    • генератор варианта стенда
    • таймер экзамена и чек-лист
    • тренажёр-тесты с автопроверкой
    • памятки и экспорт в PDF
    • 100 вопросов ИИ-помощнику

    дешевле чашки кофе · разово · без подписки и регистрации

    Частые вопросы по специальности

    Что входит в демонстрационный экзамен по специальности 09.02.01?

    Сборка и диагностика ПК, работа с микроконтроллерами (Arduino, STM32), цифровая схемотехника (Verilog и ПЛИС), измерения и техника безопасности. Конкретные модули смотри в своём КОД.

    Какой диапазон значений возвращает analogRead() на Arduino Uno?

    От 0 до 1023 — у Arduino Uno 10-битный АЦП.

    Учитывается ли техника безопасности на экзамене?

    Да. На аппаратных и монтажных модулях соблюдение охраны труда оценивается отдельными баллами, поэтому обесточивай схему перед изменениями и работай аккуратно.

    Подготовка по другим специальностям

    Памятки к экзамену