Programátor USBDM JS16

STOMISI® USBDM-JS16-V0Návod na výrobu, upravená verze.

Oživený a otestovaný programátor vč. kabelů za 1 700,- Kč SKLADEM (Aktuální verze firmware: 4.12.1)

Oblíbil jsem si programátor USBDM verzi USBDM_SWD_SER_JS16CWJ. Programuje obvody Freescale HCS08, HCS12, Coldfire V1 a ARM Kinetis. Zdrojová data HW a SW jsou ke stažení zde.

Hlavní funkce (které považuji za důležité):

  • Interface BDM pro programování HCS08, HCS12 a Coldfire V1
  • Interface SWD pro programování ARM Kinetis
  • Zdroj napájecího napětí pro cílový mikrokontrolér
  • Nezávislý převodník UART/USB
  • Vlastní software pro obsluhu z PC
  • Funguje v Linuxu i Windows
  • Podpora IDE Codewarrior

Programátor USBDM je licencovaný jako svobodný software; můžete jej šířit a/nebo modifikovat za podmínek uvedených v licenci GNU General Public License, vydávané Free Software Foundation; buď verze 2 této licence, nebo (podle vašeho uvážení) kterékoli pozdější verze.

K výrobě programátoru není potřeba programátor. Obvod MC9S08JS16CWJ má v sobě booatloadder. V návodu je popsáno jak programátor zprovoznit a pomocí aplikace v PC nahrát firmware USBDM. Jakmile je firmware USBDM naprogramovaný, programátor funguje spolehlivě v Linuxu (používám Debian 8) i Windows. (Funguje opravdu moc dobře.)

Drobnou nevýhodou je, že prvotní naprogramování USBDM je nutné udělat v prostředí Windows, pod Linuxem to jednoduše nejde (nenašel jsem v rozumném čase řešení). Kdo ví jak na to, poraďte mi. Proč booatloader MC9S08JS16CWJ nefunguje v Linuxu? Nebo jsem někde dělal chybu? Pro ten účel (jednorázový krátký úkon) jsem musel stáhnout a nainstalovat Windows 7.

Osobně dávám přednost USBDM před některými komerčními výrobky (ve skříni mám USB Multilink od PE Micro).

Upravená verze USBDM_SWD_SER_JS16CWJ

Pro vlastní pořebu jsem si programátor USBDM_SWD_SER_JS16CWJ trochu upravil.

Překreslil jsem schéma zapojení do KiCad (součástky jsou ve schématu očíslovány jinak než v originální verzi). Doplnil jsem ochranné TVS diody a LC filtry na USB. Přidal jsem nějaké blokovací kondenzátory. Obvody 74LV125 jsem použil v menším pouzdru TSSOP14. Na místo 20pinového Serial Wire Debug (SWD) konektoru jsem použil 10pinový.

O ARM standardech připojení programovacího interface více zde.

Na nevyužité piny (standardně nezapojené) konektoru BDM i SWD jsem připojil RX a TX sériového portu (lze odpojit vyjmutím rezistorů R1 a R2 na desce). Na vyvíjené desce používám sériový port k servisním výpisům na terminál nebo komunikaci s vlastní testovací aplikací. Není potřeba zapojovat další vodiče, programátor i nezávislý UART jsou připojeny jedním kabelem přes jeden konektor. Je to pro mě praktické.

Nakreslil jsem plošný spoj s popisem konektorů pro snadnou orientaci. Materiál lze koupit např. u FARNELL.

Tento upravený programátor dávám po dohodě také svým zákazníkům, kteří si u mě objednají vývoj prototypu a následnou výrobu si dělají sami (vždy je možné koupit a použít komerční výrobek).

USBDM-JS16-V0 Osazovací plánPopis konektorů, osazovací plán, rozměr 35x55 mm

Konektor SWD (Serial Wire Data)

PIN OZNAČENÍ POPIS
1 VDD Napájecí napětí cílového mikrokontroléru
2 SWDIO Serial Wire Data I/O
3 GND Společná napájecí zem
4 SWCLK The Serial Wire Clock
5 GND Společná napájecí zem
6 SWO The Serial Wire Output
7 RXD Vstup RX do převodníku UART/USB; RX lze odpojit vyjmutím rezistoru R2. Tento pin bývá standardně nezapojený.
8 NC Nezapojený pin
9 TXD Výstup TX z převodníku UART/USB; TX lze odpojit vyjmutím rezistoru R1. Tento pin bývá standardně nezapojený.
10 RESET Systémový RESET

Konektor BDM (Background Debug Mode)

PIN OZNAČENÍ POPIS
1 BKGD Background Debug Comunication I/O
2 GND Společná napájecí zem
3 RXD Vstup RX do převodníku UART/USB; RX lze odpojit vyjmutím rezistoru R2. Tento pin bývá standardně nezapojený.
4 RESET Systémový RESET
5 TXD Výstup TX z převodníku UART/USB; TX lze odpojit vyjmutím rezistoru R1. Tento pin bývá standardně nezapojený.
6 VDD Napájecí napětí cílového mikrokontroléru 

Konektor UART (Universal Asynchronous Receiver and Transmitter)

PIN OZNAČENÍ POPIS
1 GND Společná napájecí zem
2 VDD Napájecí napětí cílového mikrokontroléru
3 TXD Výstup TX z převodníku UART/USB
4 RXD Vstup RX do převodníku UART/USB

Napájecí napětí VDD

Cílový mikrokontrolér lze napájet z programátoru volitelně napětím VDD 3,3 V nebo 5 V nebo externím napětím VDD v rozsahu 2-5,5 V. Volba napětí VDD se provádí pomocí JUMPERU na JP1. Pokud není JUMPER osazený je zvoleno externí napájecí napětí a na pin VDD musí být přivedeno napětí z vnějšího zdroje (cílové aplikace).

Napětí dodávané programátorem je jištěno vratnou pojistkou F1 500 mA.

Konektor P4/BKGD

Na konektor P4 je vyvedený signál BKGD z U3, slouží k programování a ladění U3 pomocí BDM, pro funkci USBDM není P4 potřeba.

Konektor P5/BLMS

Pro prvotní naprogramování firmware USBDM přes USB musí být P5 připojen na GND. Následně již není potřeba.

Dioda LED

Dioda LED signalizuje aktivitu USB.

Přidat komentář

Filtered HTML

  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Povolené HTML značky: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Řádky a odstavce se zalomí automaticky.

Plain text

  • Nejsou povoleny HTML značky.
  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Řádky a odstavce se zalomí automaticky.