
Тестер инициализации материнской платы из программатора ST LINK v2
При ремонте материнских плат компьютеров и ноутбуков часто требуется проверить успешность прохождения POST-проверки при старте.
Для этого можно использовать подходящую Test-карту (Debug-плату) или хотя бы клавиатуру — если с запуском все нормально, при нажатии на кнопку Caps Lock на ней должен загораться соответствующий индикаторный светодиод:

Кроме того, для проверки можно использовать отдельный тестер инициализации, притворяющийся клавиатурой, на которой нажимается Caps Lock.
Самодельный компактный (по размеру флешки) Motherboard-тестер инициализации, поодключаемый через USB-разъем, можно сделать из дешевого клона-программатора ST LINK V2 с AliExpress, который там можно купить за копейки:
ST-Link V2 — это доступный программатор и отладчик (debugger) для микроконтроллеров STM8 и STM32 с разъемами USB и JTAG. Он содержит встроенный самовосстанавливающийся предохранитель на 500mA, имеет выходы с напряжениями 3.3V и 5V, работает с компьютером по стандартному USB-интерфейсу. Программатор ST-LINK V2 USB подключается к компьютеру (ноутбуку/материнской плате) через порт USB, предоставляя JTAG или SWD интерфейс, позволяющий производить программирование или отлаживание. Для работы с ST-Link V2 можно использовать различные программы, например:
- ST-LINK Utility 2.0+;
- STVD 4.2.1+;
- STVP 3.2.3+;
- IAR EWARM V6.20+;
- IAR EWSTM8 V1.30+;
- KEIL RVMDK V4.21+;
- ATOLLIC, TASKING и другие.
Перед использованием программатора желательно обновить его прошивку до последней версии firmware, используя программу ST-Link Utility.
Различные версии программатора ST-Link V2, выпущенные в Китае, могут иметь отличающееся назначение контактов на 10 контактном разъеме JTAG, не совпадающее с картинкой на корпусе. Поэтому перед его использованием/переделкой нужно разобрать снять внешнюю оболочку и ознакомиться с особенностями используемой модели.
Обычно программатор ST-Link V2 имеет следующую распиновку:

Назначение контактов на JTAG-разъеме программатора ST-Link V2:
- RST
- GND
- SWIM
- 3.3V
- 5V
- SWDIO
- GND
- SWCLK
- +3.3V
- +5V
Другой вариант расположения контактов на разъеме программатора ST-Link V2 с AliExpress:
- RST
- SWIM
- GND
- 3.3V
- 5V
- SWCLK
- SWDIO
- GND
- +3.3V
- +5V
Версия платы программатора с зеленой печатной платой с таким расположением контактов:

Есть еще программаторы с таким расположением контактов JTAG-разъема:
- RST
- SWDIO
- GND
- GND
- SWIM
- SWCLK
- +3.3V
- +3.3V
- +5V
- +5V
На плате программатора нужно найти контакты GND, CLK, DO, +3.3V, например:

или:

Точное назначение контактных площадок можно узнать, скачав Datasheet на контроллер, установленный на плате программатора.
Разобравшись с назначением контактов на плате будущего тестера, можно приступать к переделке программатора.
Как переделать программатор ST-Link V2 с AliExpress в USB-тестер инициализации?
Последовательность действий по переделке программатора в тестер инициализации материнских плат:
- заказать на AliExpress два программатора. Один из них будет переделан на тестер, второй будет использовать по прямому назначению (программировать первый);
- обновить прошивку программатора, например, программой ST-LinkUpgrade, ее можно скачать на сайте ST Microelectronics (кнопка Get Latest);
- снять с программатора защитный корпус;
- разобраться с назначением контактов на печатной плате препарируемого устройства, сделать четыре соединения будущего тестера с контактами разъема JTAG второго программатора:
- GND с GND;
- CLK с SWCLK;
- DO с SWDIO;
- +3.3V с +3.3V.
- GND с GND;
- скачать актуальную версию прошивки тестера от Dmitriy Karmanov (архив artifacts.zip) с gitlab, репозиторий karma_electronics/embedded/usb_tester/-/artifacts:

Файл usb_tester_bc_stlink_china.bin прошивки китайского программатора находится в папке output/bc_stlink_china.
- установить на компьютер утилиту для заливки прошивки, например программу STM32CubeProg (раньше называлась ST-LINK Utility):

- подключить второе устройство-программатор, соединенный с будущим DIY-тестером инициализации, к USB-порту компьютера, залить в него прошивку (файл usb_tester_bc_stlink_china.bin);
- отсоединить служебные провода, собрать устройство и пользоваться DIY USB-тестером инициализации. Самодельный тестер на ST-Link не может проверить состояние напряжений на USB разъеме., поэтому перед его использованием необходимо самостоятельно тестером проверить состояние порта (дата-линии и линия питания +5V).
Если проверямая материнская плата успешно прошла процедуру инициализации, на тестере будет мигать красный светодиод.
Если необходимо получить звуковую сигнализацию процедуры инициализации, можно подключить микродинамик к выводам GND и SWDIO тестера. Для этого можно использовать Speaker с подпаянным к нему разъемом или Dupont-коннекторы. Учитывая, что в DIY тестере разъем JTAG уже не нужен, его можно просто отпаять и качественно подключить небольшой динамик-пищалку к контаткам GND и SWDIO.



