⚠️ Внимание! Мы не несем ответственности за ваши действия с вашей техникой и не призываем вас к каким-либо действиям! Все что показано на сайте носит лишь развлекательный и познавательный характер и не является единственно верным решением. Все что вы делаете - вы делаете на свой страх и риск и под личную ответственность!
Тестер инициализации — штука удобная тем, кто постоянно возится с компьютерами и ноутбуками, при ремонте подобной техники важно понять, проходит ли материнская плата базовую проверку (POST) при старте. Это помогает сузить круг поиска неисправности.
Тестер инициализации — это устройство для проверки работоспособности и правильной инициализации электронных систем, интерфейсов или компонентов. Чаще всего используется в контексте диагностики компьютеров, ноутбуков, материнских плат, телевизоров, игровых приставок и другой техники с USB-портами.
Для этого используют Post-карты (платы диагностики) или обычную Клавиатуру. Если при нажатии Caps Lock загорается индикатор, значит, базовая инициализация прошла. Мы же сделаем тестер чисто для собственного удобства из двух китайских ST-LINK V2, это дешевый и давно изученный вариант.
Тестер будет выполнять такую роль: по сути он притворяется USB клавиатурой и программно как бы «нажимает» Caps Lock.
Что потребуется?
- ST-LINK V2 — 2 штуки.
- Минимальные навыки пайки, припой и паяльник.
- Пассивный пьезо-зуммер, динамик 5 В, 16 Ом.
Инструкция, делаем тестер инициализации из программаторов ST-LINK V2:
Берем дешевый китайский клон программатора ST-LINK V2:

Купить можно на WB, OZON, Aliexpress. Внутри него стоит микроконтроллер STM32. Берем в количестве 2х штук. Один у нас будет «донором» — из него мы будем делать тестер. Второй будем использовать для прошивки первого.

Здесь стоит отметить, что бывают клоны в пластиковом корпусе и в металлическом, большой разницы нет, но пластиковый можно разрезать, если хотите сделать световую индикацию больше и ярче. Также стоит учитывать, что клонов китайских ST-LINK V2 и микроконтроллеров STM32 просто тьма, эталонным же считается клон ST-LINK V2 в корпусе TQFP48 (48 выводов у микросхемы), но также встречаются и удешевленные варианты с TQFP44 (44 вывода у микросхемы) — вариант в этой статье TQFP44. В принципе плохого в этом ничего нет, они совместимы, просто в корпусе TQFP44 обычно удешевленный чип. Главный подводный камень кроется в том, что у дешевых подделок ST-LINK V2 практически всегда отсутствует возможность перепрошивать их, в случае если регистры защиты чипа выставлены китайцем так, что прошить его не получается — сам ST-LINK V2 работать будет, а вот заменить ему прошивку просто уже не получится. Именно с такой версией ST-LINK V2 я и столкнулся, прошить ее не получилось, регистры защиты снять тоже. Поэтому я оставлю здесь ссылку на продавца с OZON, у которого попался нужный мне для переделки вариант, на фото выше он в синем пластиковом корпусе.
Оригинальная прошивка программатора ST-LINK V2 заменяется на прошивку для тестера инициализации
Она превращает устройство в наш тестер. Скачиваем файл прошивки программатора USBtester_firmware.bin (автор прошивки здесь если что)
Подготавливаем ST-LINK V2, обновляем ему прошивку
Устанавливаем программу STM32 ST-LINK Utility v4.6.0. В конце установки разрешаем установку и работу драйвера.
Вставляем ST-LINK V2 в компьютер, жмем в программе ST-LINK > Firmware update, и кнопку Device connect:

Если есть обновление по версии — можете обновить на актуальную прошивку, нажав кнопку «Yes». Но можно и принудительно, даже если прошивки одинаковые. Если попросит переподключить устройство — переподключаем.

Далее идем в Target > Option Bytes и отключаем Read Out Protection:

Выставляем параметр Read Out Protection в Enabled:

Применяем кнопкой — «Apply». Если ошибка — значит ваш ST-LINK V2 защищен от перепрограммирования, прошить его не получится, но с его помощью можно будет прошивать другой ST-LINK V2, который от записи не защищен. У меня ST-Link, который пришел в металлическом корпусе Read Out Protection снимать не захотел, а вот в пластиковом — без проблем.

Далее для прошивки нужно соединить программаторы
Основной программатор нужно соединить через 10-пиновый разъем BH2-10 к прошиваемому программатору с которого мы сняли защиту Read Out Protection.
К прошиваемому программатору для удобства подпаиваем провода с разъемами, которые шли в комплекте с ST-LINK V2 и по схеме подключаем к основному программатору:


Прошиваем ST-LINK в тестер инициализации
Подключаем программатор (тот что у нас на фото не разобран естественно) в USB порт компьютера, запускаем STM32 ST-LINK Utility и жмем кнопку «Program Verify»:

Откроется окно выбора прошивки. Выбираем ранее скачанный файл прошивки USBtester_firmware.bin, жмем «Start».

Прошивка быстрая.

Готово! Отключаем от USB, отпаиваем провода от площадки будущего тестера инициализации.
Научим изделие издавать сигналы!
Снимаем пластиковый разъем, отпаиваем выводы разъема:

Берем пассивный пьезо-зуммер (динамик 5 В, 16 Ом), он же пищалка, он же в народе «спикер», можно взять с какой-нибудь донорской платы или приобрести новый.
Припаиваем его «+» динамика к SWDIO контакту нашего теперь уже тестера и минус «-» к GND контакту соответственно, получилось как-то так:

Чтобы окультурить изделие, делаем в пластиковом корпусе в области светодиодов отверстие:

Надеваем корпус на устройство, в область светодиода можно добавить немного клея из клеевого пистолета, тогда светодиоды будут ярче и равномернее светить и вырезанное отверстие будет выглядеть более адекватно, затем фиксируем все это термоусадочной трубкой:

Такой вот получился результат:

Тестер инициализации готов!
Принцип работы: тестер вставляется в USB-порт диагностируемой платы, это может быть ноутбук, материнская плата ПК, игровая приставка. Индикатор на подключенном тестере начинает мигать если есть питание на порту USB. Включаем устройство и если плата исправна и дошла до этапа инициализации USB, тестер получает питание и издает сигнал. Когда начинается загрузка операционной системы — тестер издает второй сигнал.
Отдельная благодарность за помощь в изготовлении тестера моему коллеге по цеху — Андрею Дубринскому (https://paika.by/)
