PIC500 – jednoduchý ISP programátor pre AVR

jaromir, 05.11.2013-09:18

Ako na to?
Pozrel som sa sem (http://www.tuxgraphics.org/electronics/200510/article05101.shtml) a vzal som si túto implementáciu STK500. Pôvodné zdrojové kódy neboli podľa môjho gusta. Hardwarovo závislé časti boli rozhádzané kde-kade, takže som to trošku preorganizoval a rozdelil do dvoch súborov – jeden by mal byť súhrnom platformne závislého kódu (hw.c/.h) , druhý skrýva implementáciu STK500 protokolu (main.c/command.h). Ak by som sa jedného dňa rozhodol preportovať STK500 na iný mikrokontrolér, malo by byť potrebné robiť zásahy iba v súbore hw.c/.h
I tak som urobil – pretože AVR-ká nemám ani trochu v láske, napísal som si hardwarovú platformu pre PIC16F1xxx, krátko povaril a výsledkom je programátor, ktorý beží na PIC16F1825. Pôvodne som chcel použiť MCU v 8-pinovom puzdre, ale nebolo by kam dať blikajúcu LED-ku (mám rád svetielka), zvolil som 14-pinové púzdro. Keďže som mal nejaké IO piny navyše, použil som externý kryštál na časovanie, hoci interný oscilátor v PIC by zrejme stačil.

Chcel som sa vyhnúť použitiu SMD súčiastok, lebo prototyp vznikal na univerzálnom plošnom spoji – aj preto som použil obligátny MAX3232 namiesto FT232, hoci nič nebráni použiť USB rozhranie. Okrem toho, sériových portov – či už v podobe USB/RS232 prevodníkov alebo „klasických“ COM portov, mám na pracovnom stole viacero.
Programátor je napájaný z cieľovej aplikácie. Potrebu napájať aplikáciu z programátora nemám.
Prototyp programátora je na univerzálnej doske, ale navrhol a otestoval som aj verziu na obojstrannom plošnom spoji, predloha je v prílohe.

Ako to funguje?
Používam to už niekoľko mesiacov a naprogramoval som s tým desiatky kusov AVR MCU, tak by som povedal, že to uspokojivo plní svoj účel. Okrem toho, spokojnosťou ma napĺňa pocit, že low-endové PIC-ko cvičí s AVR-kom.
Otestoval som to pod OS Windows 7 a Ubuntu 13.04, v oboch prípadoch s klasickým COM portom aj USB-RS232 prevodníkom. Používal som prednostne AVRDude, ale PIC500 funguje aj s AVR Studiom.



FAQ:
1, Prečo si nepoužil existujúce riešenia implementujúce STK500 v AVR-ku?
- Lebo medveď. AVR-ka nemám rád a o jedno menej je vždy fajn.
2, Prečo tam nie je USB?
- Lebo sa mi nechcelo. So sériákom mi to stačí.
3, Môžem tento programátor používať na neuzemnenom stole, zatiaľ čo sedím na umelohmotnom koberci, oblečený mám odev zo syntetických vlákien a práve triem ebonitovú tyč líščím ohonom?
- Nie, lebo to nemá nijakú ESD ochranu.



tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.115 )