Что входит в экзамен и из чего собирается задание
09.02.01 — «железное» направление. Задание ДЭ собирается из модулей под профессиональные модули программы. Любой подсвеченный параметр (плата, пин, скорость) можно нажать и заменить под свой вариант — он подставится во все примеры.
| Направление | Что делает студент | Инструменты |
|---|---|---|
| Цифровые устройства | Спроектировать и смоделировать логическое/цифровое устройство, описать на HDL, проверить на ПЛИС | Multisim, Proteus, Quartus, Verilog |
| Микропроцессорные системы | Запрограммировать микроконтроллер: ввод/вывод, датчики, индикация, интерфейсы | Arduino IDE, PlatformIO, STM32CubeIDE, Keil |
| Сборка и диагностика | Собрать/диагностировать ПК, найти и устранить неисправность, провести измерения | Мультиметр, осциллограф, диагностическое ПО |
| Периферия | Установить и настроить периферийное оборудование и драйверы | ОС, утилиты диагностики |
Цифровая схемотехника: логика и Verilog
Базовая задача — реализовать комбинационную или последовательностную схему по таблице истинности. Сначала составляем таблицу и логическое выражение, затем описываем на Verilog и проверяем тестбенчем (например, в Quartus/ModelSim).
| A | B | Cin | Sum | Cout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
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Микроконтроллер: ввод-вывод и антидребезг
Стартовый блок почти любого задания — управление выходом (светодиод) и чтение входа (кнопка) с антидребезгом, плюс вывод состояния в порт. Примеры для Arduino (Arduino Uno (ATmega328P)).
// Проект: 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");
}
}
}ШИМ, АЦП и интерфейсы
Часто нужно регулировать яркость/мощность (ШИМ) и считывать аналоговый датчик (АЦП), а результат отправлять по 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); }
}STM32 на HAL (если платформа ARM)
На STM32 логика та же, но периферия инициализируется через HAL/CubeMX. Ниже — переключение вывода и отправка по UART.
/* после инициализации в 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);
}Сборка и диагностика ПК (Linux)
Модуль обслуживания/ремонта — это сборка, диагностика и поиск неисправности. Многое проверяется штатными утилитами Linux. Команды выполняются с правами администратора.
lscpu # процессор
free -h # память (объём, использование)
lsblk # диски и разделы
sudo dmidecode -t memory # модули памяти (тип, объём, слоты)
sudo dmidecode -t baseboard # материнская плата
lspci # шина PCI (видео, контроллеры)
lsusb # устройства USBsudo 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- Сборка: подключай узлы поэтапно (питание → материнская плата → ОЗУ → видео → накопитель), соблюдая антистатику.
- Нет старта/POST: проверь питание, переустанови ОЗУ, послушай звуковые сигналы BIOS/UEFI — по их коду определи неисправный узел.
- Есть POST, нет загрузки: проверь накопитель (SMART), порядок загрузки в BIOS, целостность системы.
- Перегрев/выключения: проверь sensors, охлаждение и термопасту.
- Зафиксируй методику и результат диагностики, если это требуется заданием.
Самопроверка, техника безопасности и ошибки
- Схема/устройство собрано по ТЗ и работает; результат можно продемонстрировать эксперту.
- Соблюдена техника безопасности и антистатика, монтаж аккуратный.
- Питание и полярность проверены до включения; нет коротких замыканий.
- Программа микроконтроллера обрабатывает входы и корректно управляет выходами.
- Диагностика выполнена по методике, неисправность локализована и устранена.
- Результаты измерений/диагностики оформлены, если требуется.
Остались вопросы по подготовке
Задавай вопросы ИИ-помощнику на странице — он отвечает по теме демонстрационного экзамена 09.02.01: схемотехника и Verilog, микроконтроллеры (Arduino/STM32), диагностика и ремонт ПК. Значения в примерах (плата, пины, скорость) меняй под свой вариант — они подставятся во всю документацию.
Инструменты подготовки
премиумОдин клик — и адреса, подсети, VLAN, порты и пароли меняются на новый согласованный вариант. Значения подставятся во все команды и таблицы на странице. Удобно тренироваться «как на экзамене», когда даны другие числа.
- 1. Какой диапазон возвращает analogRead() на Arduino Uno?
- 2. Чем проверить здоровье диска (SMART) в Linux?
- 3. Оператор XOR в Verilog — это…
Откройте все памятки, тренажёры и инструменты подготовки — разово за 99 ₽, без регистрации.
Задай вопрос по настройке, командам или теории этой специальности — отвечу на основе ИИ.
Премиум открывает сразу всё:
- ✓генератор варианта стенда
- ✓таймер экзамена и чек-лист
- ✓тренажёр-тесты с автопроверкой
- ✓памятки и экспорт в PDF
- ✓100 вопросов ИИ-помощнику
дешевле чашки кофе · разово · без подписки и регистрации