9. februára 2021 Prevodníky, programátory, drivre a starosti pri oživení

Prevodníky, programátory, drivre a starosti pri oživení

Pri programovaní nejakej vývojovej dosky alebo Arduina ste sa už určite stretli s tým, že všetko bolo správne zapojené a svietilo, no nie a nie nahrať tam svoj softvér. Tento problém nastáva hlavne pri lacnejších alebo už nepodporovaných vývojových doskách či ovládačoch. V tomto blogu sa zoznámime s rôznymi problémami pri nahrávaní kódu, prevodníkmi a programátormi ako je napríklad USBasp a potrebnými ovládačmi.

Čo je to driver?

Driver, alebo po slovensky ovládač, je softvér v počítači, ktorý umožňuje komunikáciu medzi PC a konkrétnym hardvérom. Existujú ovládače na tlačiarne (pričom každý výrobca tlačiarní alebo dokonca iný typ môže mať iný driver), myšky, klávesnice, monitory atď atď…

Programátor vs prevodník

Programátor je zariadenie, ktoré umožňuje zápis jednotiek a núl skompilovaného programu priamo do FLASH pamäte mikrokontroléra. Ak však používame iba klasický prevodník (napríklad USB prevodník CH340G o ktorom si povieme nižšie), ten len “prevádza” signály USB na signály UART, ktorým mikrokontrolér rozumie. Ak však chceme prostredníctvom prevodníku nahrať do pamäte mikrokontroléra nový kód, je nutné, aby bol v mikrokontroléri predtým nahraný bootloader.

Bootloader je vlastne jednoduchý program, ktorý sa spustí po pripojení Arduino na napájanie a čaká na prijatie nového kódu z PC. Ak takýto kód prijme tak ho zapíše do pamäte. Vďaka tomu môžeme Arduino programovať aj prostredníctvom klasického USB kábla a prevodníku.

Programátor USBasp

USBasp patrí medzi obľúbený spôsob nahrávania kódu do mikrokontrolérov prostredníctvom takzvaného ICSP headera. Vďaka USBasp programátoru môžeme zapísať binárny kód (jednotky a nuly) priamo do FLASH pamäte mikrokontroléra. Označenie môže byť rôzne – ICSP, ISP, AVR ISP či iné, no v podstate sa jedná o tie isté piny. ICSP header môžete nájsť na každom Arduine ako zhluk 6 pinov:

Obrázok ICSP pinov na Arduino. Menší čierny čip naľavo je prevodník, ktorý ma vlastné ICSP rozhranie. Ak chceme však programovať čip ATMega328, na to sú určené piny vpravo

ICSP header má zvyčajne 10 alebo 6 pinov, ak niektoré signály nepotrebujeme (čo je prípad na väčšine dosiek). Preto pri programovaní môžeme často potrebovať okrem samotného programátora aj adaptér:

Po vložení takéhoto programátora do počítača, sa môže objaviť chybová hláška, že chýba driver. Prípadne sa objaví až keď sa ho snažíte použiť. Riešenie je však veľmi jednoduché a na pomoc pri inštalovaní drivera môžeme použiť program ZADIG.

LINK:  http://zadig.akeo.ie/ 

Po stiahnutí môžete program spustiť. Aby sme vedeli nainštalovať správny driver, je nutné v menu na hornej lište nájsť položku Options -> List all devices, ktorú zaškrtneme.

V riadku Driver vidíte, aký konkrétny driver je nainštalovaný a na aký je ho možné zmeniť. V našom prípade fungovala verzia libusbK, avšak ak Vám fungovať nebude, môžete vyskúšať aj iné, ak sú v ponuke.

Prevodník CH340G/CH341G

Prevodník CH340G je často používaný na klonoch, NODE MCU alebo iných vývojových doskách a to hlavne vďaka jeho nízkej cene. Čip CH340G je vlastne prevodník medzi USB signálmi z počítača a TTL 5V signálmi, ktorým rozumie mikropočítač. Preto je označovaný aj ako USB na TTL UART pričom UART je spôsob asynchrónnej komunikácie.

Viac o UART a USART odporúčame preštudovať na wiki: https://cs.wikipedia.org/wiki/USART

Inštalovanie správneho drivera pre tento prevodník však môže spôsobiť nemalé vrásky. Väčšina nových driverov nefunguje so starými čipmi a preto nájsť funkčnú verziu môže zabrať nejaký čas. Je to z toho dôvodu, že v Číne okopírovali dizajn čipu a aby pôvodný výrobca nestratil podiel na trhu, nové ovládače nepodporujú niektoré staré čipy.

Počas práce s týmito preovdníkmi som však narazil na ovládač, ktorý mi zatiaľ fungoval vždy a na všetkých PC. Je potrebné postupovať podľa návodu na:

Prevodník CP2102

Prevodník CP2102 je tiež veľmi populárny avšak práca s ním je o poznanie jednoduchšia ako s CH340G. CP2102 je OPEN SOURCE, čiže za istých podmienok ho môže vyrábať prakticky ktokoľvek, preto by pri hľadaní drivera nemal byť žiaden problém. Po pripojení do PC si Windows zvyčajne sám stiahne správny driver automaticky.

Iné prevodníky

V praxi sa môžete samozrejme stretnúť aj s inými prevodníkmi, ďalšími veľmi populárnymi sú napríklad FT232RL či PL2303. Samozrejme, môžete ich nájsť aj v našej ponuke.

Práca s nimi je tiež pomerne jednoduchá, stačí len stiahnuť driver (v prípade že to Windows nezvládne automaticky) a bezproblémov môžete fungovať. Hlavnými rozdielmi medzi takýmito prevodníkmi môže byť rýchlosť prenosu, spotreba, podpora 5V/3.3V zariadení a podobne, avšak pre bežné použitie je nepodstatné, ktorý variant si vyberiete.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *