Programator mikrokontrolerów PIC

Podobne dokumenty
Programator mikrokontrolerów AVR

Programator mikrokontrolerów PIC współpracujący z programem MPLAB AVT 5100

Programator procesorów rodziny AVR AVR-T910

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Miernik LC. Marek SP9XUH

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Uniwersalny programator mikrokontrolerów PIC, część 2

Płytka uruchomieniowa XM64

INSTRUKCJA OBSŁUGI PROGRAMATORA WILLEM

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

MultiTool instrukcja użytkownika 2010 SFAR

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Programator STK500v2 USB

Wstęp Architektura... 13

Programator JuPic+ Emulator programatora PICSTART Plus Współpracuje z aplikacją MPLAB IDE i PICP. Opis programatora

Konfiguracja pakietu CrossStudio for MSP

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Gotronik. Programator SuperPro 500P produkcji Xeltek

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

dokument DOK wersja 1.0

Płyta uruchomieniowa EBX51

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Spis treści. 1. Rozdział Rozdział Rozdział Rozdział Koniec spisu treści -

MJOY ENCODERS v1 ZASADA DZIAŁANIA

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

ZL8AVR. Płyta bazowa dla modułów dipavr

Analizator obwodów NWT-7

Mikrokontrolery AVR techniczne aspekty programowania

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Gotronik. Programator SuperPro 5000E produkcji Xeltek

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

Instrukcja obsługi programatora AVR Prog USB v2

ZL10PLD. Moduł dippld z układem XC3S200

U W A G I D O M O N T A ś U Z E S T A W U L A B O R A T O R Y J N E G O A B C 0 1 U S B 3, A B C 0 2

Kod produktu: MP01611-ZK

Instrukcja obsługi programatora AVR Prog USB v2

Pytka PicBoard2. Pytka prototypowa wspópracuje z programatorami JuPic, PicLoad, ICD, ICD2. Opis pytki

USB AVR JTAG. Instrukcja obsługi rev.1.0. Copyright 2011 SIBIT

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Płytka uruchomieniowa XM32

Wyniki (prawie)końcowe - Elektroniczne warcaby

Uniwersalny zestaw uruchomieniowy ZL4PIC

SML3 październik

MODUŁ UNIWERSALNY UNIV 3

Instrukcja obsługi programatora AVR Prog USB v2

Kod produktu: MP01611-ZK

Kod produktu: MP01611

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash

ATNEL. Programator USBASP. Instrukcja obsługi. Instrukcja programatora USBASP firmy Atnel. Mirosław Kardaś

SWITCH & Fmeter. Fmax 210MHz. opr. Piotrek SP2DMB. Aktualizacja

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

MSA-1 Mikroprocesorowy sterownik do przełącznika antenowego

NARZĘDZIE KONFIGURACYJNE VNX SETUP TOOL MODUŁÓW RODZINY VNX ADVANCED

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

1.1 Co to jest USBCOM? Budowa oraz parametry techniczne... 3

Kontroler obiektowy RCMAP27

INSTRUKCJA OBSŁUGI.

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

Instrukcja obsługi programatora AVR Prog USB v2

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Parametryzacja przetworników analogowocyfrowych

Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Instalacja MUSB2232FKA w systemie Windows 7

StrK Sterownik bipolarnego silnika krokowego

SiMod-X-(A1) Przetwornik parametrów powietrza z interfejsem RS485 (MODBUS RTU) oraz wyjściem analogowym (dotyczy wersji -A1)

Programator WillemProg 3.0, część 1

Instrukcja obsługi sterownika TB6560-3v2 oraz programu Mach3

SML3 październik

INSTRUKCJA OBSŁUGI. Programatora MKII AVR PRO ELTRONICS

Instrukcja programowania płytek edycji 2014

Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200)

Kod produktu: MP-1W-2480

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

. Polski. Dekoder rozjazdów GEODec C1O. DEKODER ROZJAZDÓW ROCO GeoLine. GEODec C1O. Instrukcja obsługi, programowania i budowy dekodera

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

Zestaw Startowy EvB. Więcej informacji na stronie:

Programator mikroprocesorów SDA555xFL ver. 1.3

Programator AVR USBasp

INTERFEJS SUBARU USB INSTRUKCJA OBSŁUGI strona 1/14

Electronic Infosystems

Instrukcja obsługi debugera JTAG-AVR USB v2

E-TRONIX Sterownik Uniwersalny SU 1.2

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Transkrypt:

Programator mikrokontrolerów PIC Marek SP9XUH www.sp9xuh.pl poczta@sp9xuh.pl Potrzeba wyposażenia się w programator mikrokontrolerów PIC wystąpiła w momencie budowy elektronicznego klucza telegraficznego, opartego na procesorze PIC16F84. Programatory oferowane przez firmy są dobre, profesionalnie wykonane, ale jednocześnie drogie. Podstawowy programator jest prosty w budowie, niewiele kosztuje i można bez problemu zbudować go samemu. Pierwszą decyzję jaką musiałem podjąć to wybór portu do którego będzie podłączony programator: USB, LPT czy COM. Współczesne komputery wyposażone są najczęściej tylko w porty USB, dlatego ich zastosowanie byłoby najbardziej korzystne. Jednak większość programatorów USB oparta jest na mikrokontrolerze, który i tak musimy wcześniej zaprogramować. Ostatecznie postanowiłem wykorzystać port LPT, w moim starszej generacji laptopie TOSHIBA. Programator pozwala na wykonywanie wszystkich potrzebnych operacji na pamięci dołączonego mikrokontrolera takich jak zapis, odczyt, kasowanie i weryfikację. Jego konstrukcja umożliwia pracę w trybie ICSP (In Circuit Serial Programming), co oznacza możliwość programowania naszego procesora wprost w układzie. Klucz napięciowy zbudowany jest w oparciu o notę aplikacyjną AN589 firmy Microchip. Dokumentacja przedstawia zasady, według których procesor jest programowany. Między innymi dowiadujemy się, że procesor wymaga podwyższonego napięcia Resetu (MCLR/), do rozpoczęcia programowania. Opisany układ spełnia funkcję programowania w obu trybach: - HVP (High Voltage Programming), - LVP (Low Voltage Programming). Programator posiada podstawkę w której możliwe jest programowanie procesorów w obudowach DIP18, DIP14. Wspomniane wcześniej złącze ICSP, pozwala programować mikrokontroler bezpośrednio w układzie w którym pracuje. Można także do tego złącza podłączyć płytkę z podstawkami pod inne typy mikrokontrolerów np. 16F876 (podstawka DIP28). Schemat ideowy Jak widać na schemacie poniżej, w programatorze możemy wyróżnić dwa bloki; - blok zasilania, - blok funkcjonalny. Zasilacz dostarcza napięć, +5V do zasilania mikrokontrolera oraz około +13V dla programowania w trybie HVP. Napięcie +5V otrzymujemy z układu LM7805L, pracującego w typowej dla siebie konfiguracji (in, gnd, out, kondensatory filtrujące; C8 elektrolityczny na wejściu, C9 ceramiczny na wyjściu) Napięcie resetu powinno wynosić około 13,2V i musi być stabilizowane. Najłatwiej byłoby zastosować scaloną przetwornicę wytwarzającą potrzebną wartość napięcia. Ja użyłem typowego stabilizatora LM7812L, przesuwając punkt odniesienia GND o 1,2V. Realizują to dwie diody (D2, D3) spolaryzowane w kierunku przewodzenia. Mostek Gretza umożliwia zasilanie programatora także ze źródła napięcia zmiennego. Aby zapewnić prawidłową pracę stabilizatora, wartość napięcia na kondensatorze C4 powinna wynosić nie mniej jak16v (zależy od stabilizatora). Diody D4 i D5 sygnalizują istnienie napięć zasilania. Uwaga: Maksymalny prąd dla stabilizatorów 78xxL wynosi 100 ma. Przy programowaniu mikrokontrolera w układzie i zasilania go z programatora należy pamiętać o tym, aby tej wartości prądu nie przekroczyć. Oczywiście w miejsce układów 78xxL można zastosować 78xx, których wydajność prądowa jest dużo większa; około 1,5A. Blok funkcjonalny to: - klucz tranzystorowy (T1, T2, T3), podający impulsy na wejście Reset (MCLR/), kiedy programujemy w trybie HVP (przełącznik S1 w pozycji HVP), - cztery trójstanowe bufory, znajdujące się w strukturze układu scalonego 74HCT125 Stosowanie buforów wykonanych technologią HCT jest zalecane ze względu na to, że na wyjściach bramek otrzymujemy pełny zakres napięcia zasilania. Rezystory R6 i R7 utrzymują wysoki stan na wejściu bramek, gdy odłączone jest sterowanie poprzez port LPT. Podobnie rezystor R9 utrzymuje poziom niski na wejściu LVP procesora, kiedy programator jest odłączony. Przełącznik S1 służy do wyboru trybu programowania (HVP/LVP). Jeżeli programowany mikrokontroler jest zasilany z układu w którym pracuje, wtedy zworkę S2 pozostawiamy rozwartą. 1

Płytka drukowana Płytkę zaprojektowałem jako jednostronną. Wykonałem ją "technologią" termotransferu, według mnie najprostszą i najtańszą dla amatora. Jednak ze względu na dosyć duże pola lutownicze i szerokie ścieżki nie obyło się bez kilku zwór Mozaika od strony druku Lustrzane odbicie mozaiki 2

Rozmieszczenie elementów Układ jest na tyle prosty, że jego montaż nie sprawia kłopotu. Należy tylko pamiętać o krosach które trzeba wykonać przed montażem podstawki pod mikrokontroler, bo później może być problem. Po sprawdzeniu prawidłowości montażu i usunięciu ewentualnych zwarć, podłączamy napięcie zasilania, ok. 16V. Sprawdzamy wartość napięć +5V i +13V. Jeżeli jest wszystko w porządku wkładamy w podstawkę układ scalony U1 i programator jest gotowy do działania. Programowanie Pierwszą czynność jaką musimy wykonać, to prawidłowo ustawić przełącznik trybu programowania S1 (zworka) na pozycję HVP (High Voltage Programming) lub LVP (Low Voltage Programming). O sposobie programowania danego typu mikrokontrolera dowiemy się z jego dokumentacji, którą bez problemu można pobrać ze strony Microchip-a. Dla przykładu procesory z serii 16F8xx możemy programować w trybie LVP. Złącze ICSP w które wyposażony jest programator, umożliwia programowanie procesora bezpośrednio w układzie w którym pracuje. Według mojej oceny jest to najlepsze rozwiązanie ze względu na to, że mikrokontroler może być na stałe wlutowany w płytkę i nie trzeba wkładać i wyciągać go z podstawki, co grozi uszkodzeniem nóżek. Pin Opis wyprowadzeń złącza programującego ICSP Funkcja Pin procesora Opis 1 MCLR MCLR wejście napięcia programowania 2 Vcc VDD plus zasilania 3 GND VSS minus zasilania 4 DATA RB7 zegar 5 CLOCK RB6 dane 6 LVP RB3/4/5 niskie napięcie programowania Przykład podłączenia mikrokontrolera PIC16F84 i PIC16F876A. 3

Wkładamy mikrokontroler w podstawkę lub podpinamy złącze ICSP i... potrzebujemy jeszcze oprogramowania. Programator testowałem dwoma programami, WinPic i IC-Prog. Na jednym jak i drugim wszystkie operacje na procesorze (zapis, odczyt, ustawianie bitów konfiguracyjnych,...) przebiegały bezbłędnie. Prędkość programowania nie jest może oszałamiająca, ale to tylko LPT. WinPic Program można pobrać download lub bezpośrednio ze strony autora http://www.qsl.net/dl4yhf/winpicpr.html. Rozpakowujemy pobrany plik, instalujemy i możemy przystąpić do konfiguracji. W zasadzie pozostaje nam tylko ustawienie rodzaju interfejsu (Interface/Interfejs) na Microchip AN589 i wybranie numeru portu LPT do którego podłączony jest programator. Ewentualne błędy programowania procesora możemy próbować usunąć zmieniając parametry opóźnienia na linii DATA, wydłużenia zegara CLK lub włączyć tryb wolny. Dla ułatwienia możemy wybrać polską wersję językową (Options/opcje). 4

W zakładce Device config/układ konfiguracja ustawiamy typ procesora który będziemy programować i interesujące nas bity konfiguracyjne Po załadowaniu kodu (File/Open, Plik/Otwórz),który chcemy wgrać do procesora, w zakładce Code/Obszar programu ujrzymy dane dla pamięci Flash, a w zakładce Data/EEPROM te które będą umiesczone w pamięci EEPROM. Klikamy Device/Program(Układ/Programowanie) i po chwili mamy zaprogramowany procesor. Jest to oczywiście tylko przykład. Warto zapoznać się z dokumentacją programu i poznać wszystkie jego możliwości. 5

IC-Prog Program można pobrać w dziale Download lub ze strony programu www.ic-prog.com. Po rozpakowaniu otrzymujemy dwa pliki icprog.exe oraz icprog.sys. Icprog.exe to plik programu, natomiast icprog.sys będzie nam potrzebny jeżeli naszym systemem operacyjnym jest Windows NT, 2000 lub XP. Dla tych systemów wykonujemy następujące operacje; - plik icprog.sys kopiujemy do tego samego katalogu co icprog,exe, - np. w menadżerze plików, na pliku icprog.exe klikamy prawym klawiszem myszy. Wybieramy Właściwości następnie zakładkę Zgodność i ustawiamy tryb zgodności jak poniżej. Klikamy Zastosuj i OK Następnie uruchamiamy ICProg, wchodzimy w Ustawienia(Settings) -> Opcje(Options) i wybieramy zakładkę Różne(Misc). Zaznaczamy Włącz sterownik 200/NT (Enable NT/2000 Driver) i akceptujemy zmiany. Dla łatwiejszego poruszania się po programie możemy wybrać polską wersję językową. Teraz w programie ustawiamy typ programatora. Wybieramy Ustawienia -> Sprzęt a w polu Programator - AN589Programmer. Dla systemu Windows 95/98 w polu Interfejs zaznaczamy "Bezpośredni I/O", a dla Windows NT/2000/XP, wybieramy "Windows API". 6

Proces programowania jest podobny jak w programie WinPic. Wybieramy typ układu - Ustawienia -> Urządzenie, ładujemy plik z kodem, ustawiamy rodzaj oscylatora i ewentualnie bity konfiguracyjne. Podłączamy programator do układu lub wkładamy procesor w podstawkę Z menu Polecenia wybieramy Programuj wszystko i po chwili układ jest zaprogramowany. Pliki do pobrania: pic_prog_sch.pdf schemat ideowy pic_prog_bottom_pcb.pdf płytka drukowana pic_prog_top_pcb.pdf odbicie lustrzane płytki pic_prog_elementy.pdf rozmieszczenie elementów icprog106c_setup.zip program IC-Prog wersja 1.06C winpic_setup.zip program WinPic icprog_help_eng.zip plik pomocy do IC-Prog pic_prog_artykul.pdf opis w formacie Acrobat Reader pic_programator.zip wszystkie pliki 7