ST-Link v2.1c vychází z originálního zapojení vývojových desek NUCLEO. Je to programátor, debugger určený pro rodinu mikrokontrolérů STM32. Obsahuje Virtual COM Port. Umožňuje napájet aplikaci napětím 3.3V spojením jumperu P2 vedle IDC konektoru. Písmeno C na konci označení verze znamená použití USB-C konektoru. Signály na IDC konektoru pro připojení cílového MCU jsou opatřeny ESD ochranou.
Originální ST-Link v2.1 na deskách NUCLEO se dá sice se od hlavní části, která obsahuje cílový MCU odlomit, ale toto řešení se mi moc nelíbí. Kompaktní klony nabízející se na Aliexpressu zase nemají vyvedené signály Virtual Com Portu. Navíc jsem potřeboval jiný pinout na konektoru 10-Pin IDC, na který připojuji hotovou propojovací redukci Tag-Connect 2050 IDC. Proto jsem tedy přistoupil k návrhu své vlastní konstrukce. Na GitHubu se dá stáhnout bootloader do MCU, přes který se potom pomocí aplikace “ST-Link Upgrade” naprogramuje přes USB vlastní firmware.
Schéma zapojení:
Deska plošného spoje:
Na desce plošného spoje není záměrně osazen pinový header P1 (STLINK Firmware), který slouží jenom jednou, k naprogramování bootloaderu do MCU. Pro tuto operaci stačí jenon přidržet kontakty. Deska je navržena pro snížení výrobních nákladů (šablona pro pastu) pro jednostrannou SMT (technologii). Na již zmíněný header P2 se dá nasadit propojka (jumper) a “pustit” tak ven interní napájení 3.3V, které může napájet přímo programovanou aplikaci. Maximální odebíraný proud je limitován USB portem. Není zde implementovaná proudová ochrana, neboť USB port by ji měl mít. Použitý LDO z 5V na 3.3V je dimenzován na 800mA, ale nedoporučuji toto napájení využívat trvale vzhledem ke ztrátovému výkonu LDO.
Render osazené desky plošného spoje:
Render desky plošného spoje z výrobních Gerber dat:
Reálné desky plošných spojů z výroby:
Vyrobené desky z Číny jsou opravdu luxusní a stojí zlomek ceny tuzemských výrobců !!! Panel je drážkovaný (V-cut panel).
Dokumentace projektu:
Dokumentace obsahuje elektrické schéma zapojení [pdf], výkres desky plošného spoje [pdf], osazovací plán [pdf] a seznam použitých součástek (Assembly & Purchase BOM [xls]), 3D zobrazení [pdf] a 3D model [step] osazené desky.
Důležité upozornění: Tyto dokumenty jsou určeny pouze pro vlastní osobní potřebu. Společnost WIDE SERVIS a provozovatel těchto stránek nenesou žádnou zodpovědnost za případné finanční ztráty, škody na majetku a zdraví vzniklé při použití těchto dokumentů.
W201212.01 - STLink V2.1C
Druhá verze s prohozenými signály tRX tTX na konektoru P3 10-Pin IDC (TARGET)
W201212.02 - STLink V2.1C
Postup uvedení do provozu:
1. Nahrání Bootloaderu.
Pomocí jiného programátoru, třeba již zmíněné desky NUCLEO, naprogramujeme do MCU ST-Linku Bootloader. K tomu je určený pinový header P1, který je defaultně neosazen. Na schématu je červeně přeškrtnutý. Propojíme tedy s programátorem signály GND, SWDIO a SWCLK a naprogramujeme MCU.
2. Firmware Upgrade.
Připojíme ST-Link k PC pomocí USB-C kabelu. Na ST-Linku se musí také rozsvítit červená LED LD3. Spustíme aplikaci ST-Link Upgrade a v okně aplikace klikneme na Device Connect. Vybereme Product Option STM32+MSD+VCP a klikneme na Yes >>>>. Podle následujícího obrázku.
Po procesu, který je indikován progress barem bude výsledek vypadat následně.
3. Firmware Upgrade – Update.
Celý proces můžeme zopakovat v nejnovější verzi STM32 ST-LINK Utility z nabídky ST-LINK -> Firmware update a tím firmware z aktualizovat. Případně z ST-Linku odstranit třídu Mass storage, která je tam stejně k ničemu. Podle následujícího obrázku.
Tímto zmizí z PC jednotka UNDEFINED.
Hotovo. ST-Link je připraven k použití.
Celý výše uvedený postup je reálně odzkoušený.
Závěr:
Tato konstrukce nevznikla za účelem nového řešení. Přípravků pro programování a ladění MCU STM32 je na trhu za přijatelnou cenu dostatek, a to jak originálních, tak jejich klonů. V pokročilém návrhovém systému je takovýto projekt zrealizovat otázka jednoho odpoledne. Někoho to může třeba oslovit a inspirovat.
Ukázka vyrobeného vzorku.
Použité odkazy:
- GitHub Stlink-Bootloaders
- STM32 Nucleo Boards
- STM32 ST-LINK utility
- STM32 Virtual COM Port Driver
- Tag-Connect™
- JLCPCB (JiaLiChuang (HongKong) Co., Limited)