Pobierz opis
Get a descriptionOpis programatora
Programator zbudowany został w oparciu o procesor PIC16F87, który obecnie zdobywa coraz większą popularność ze względu na swoja funkcjonalność. Programator w połączeniu z zintegrowanym środowiskiem uruchomieniowym MPLAB IDE (pracującym pod kontrolą systemu operacyjnego WINDOWS), PICP (Windows), PICP (Linux) tworzy niezwykle sprawne i profesjonalne narzędzie programisty. Funkcjonalność tego zestawu powoduje, że może być przeznaczony do małych i średnich zastosowań, a polecany jest zarówno dla użytkowników początkujących jak i zaawansowanych. Urządzenie jest kompatybilne z programatorem PICSTART Plus. Programator JuPic powstał jako część pracy dyplomowej na Politechnice Śląskiej i jest wynikiem wielotygodniowej pracy nad protokołem komunikacyjnym. Pierwszy model został uruchomiony w 2000 roku i jest rozwijany do dziś. Zarówno sprzęt i oprogramowanie jest wyłącznie mojego autorstwa i były stworzone od podstaw.
Urządzenie przeznaczone jest do programowania rodziny mikrokontrolerów serii "F" z pamięcią typu FLASH oraz serii "C" z pamięcią typu CMOS.
Protokół programujący zaimplementowany w urządzeniu spełnia wszystkie wymagania elektryczno-czasowe jakie narzucone są do prawidłowego zaprogramowania procesora i jest całkowicie zgodny z dokumentacją techniczną firmy Microchip.
Progaramator należy uruchomić wykonując następujące czynności: Instalacja Programatora
- zapoznać się z rozdziałem "Konfiguracja programatora"
- programator umieścić na stabilnym nieprzewodzącym podłożu
- podłączyć przewód RS232 do komputera i programatora
- podłączyć zasilacz do sieci, a następnie przewód zasilania 12V do programatora
- umieścić programowany procesor w podstawce lub podłączyć przewód programowania zewnętrznego ICSP
- uruchomić program MPLAB IDE na komputerze (program jest darmowy i można go pobrać ze strony lub z sekcji Download)
- uaktywnić programator wybierając z menu -->PICSTART Plus funkcję -->Enable Programmer (dokumentacja do programu znajduje się również na stronie internetowej)
Funkcje programatora
Programator posiada szereg funkcji i usprawnień rozszerzających jego możliwości:
- układ wyposażony jest w przycisk kasowania, który bez konieczności podłączania programatora do komputera umożliwia wyzerowanie pamięci procesora (także Code Protection), aby wykasować pamięć należy nacisnąć i przytrzymać klawisz "ERASE" przez 2 sekundy - dioda informacyjna zasygnalizuje wyzerowanie procesora.
- wprowadzono diodę informacyjną "LED", która pokazuje aktualny stan urządzenia:
- dioda sygnalizuje dwa podwójne krótkie błyski - załączenie zasilania i inicjacja programatora
- dioda świeci światłem ciągłym - programator gotowy do pracy
- dioda pulsuje równomiernie szybko - nawiązywana jest komunikacja z programem MPLAB IDE
- dioda pulsuje równomiernie wolno - programator jest w trakcie wymiany danych z programem MPLAB IDE (zapis/odczyt)
- dioda gaśnie - reakcja na przyciśnięcie klawisza
- dioda sygnalizuje 3 krótkie błyski - procesor został wykasowany
- dioda okresowo nadaje 3 krótkie błyski - zawieszenie programatora, naruszenie struktury programu, konieczna wymiana oprogramowania
- wprowadzono złącze ICSP, czyli możliwość programowania w obwodzie bez konieczności wyjmowania procesora z uruchamianego urządzenia
- wprowadzono możliwość programowania procesorów w trybie LVP!
- wyprowadzono podstawkę DIP18, która umożliwia programowanie kilku typów procesorów bez konieczności podłączania przewodów. Do podstawki można włożyć procesory, które mają kompatybilne wyjścia z rozstawem DIP18, DIP14 oraz DIP8
- wyprowadzono zworki konfiguracyjne, które pozwalają przystosować programator do własnych potrzeb
- programator można podłączyć bezpośrednio do portu COM komputera bez konieczności posiadania przewodu RS232
- układy scalone są umieszczone na podstawkach co umożliwia ich ewentualna wymianę bez konieczności lutowania
- procedury programujące zostały poddane optymalizacji co powoduje przyspieszenie programowania procesorów. Każda komórka przed zaprogramowaniem jest porównywana z wartością, która ma być do niej wpisana i jeśli jest taka sama, operacja zapisu jest pomijana.
Konfiguracja Programatora
Programowanie może odbywać się na dwa sposoby:
- napięciem wysokim HVP (12V) - zworka "LVP ON" rozłączona
- napięciem niskim LVP (5V) - zworka "LVP ON" zwarta (funkcja działa tylko dla procesorów posiadających tryb LVP)
Możliwe są również 4 tryby pracy ze względu na zasilanie układu:
Tryb SAFE - bezpieczny
Uaktywnienie trybu następuje po załączeniu zworki "SAFE"
Tryb ten pozwala na programowanie procesora najbezpieczniejszym sposobem. Napięcie na nóżki procesora podawane jest przez klucz załączany tylko podczas jego programowania (zapis/odczyt), natomiast po operacji wymiany danych jest odcinane. Zalecane jest aby w tym trybie nie zasilać ze złącza ICSP układu zewnętrznego.
Tryb VCC - z bezpośrednim zasilaniem
Uaktywnienie trybu następuje po załączeniu zworki "VCC"
Tryb ten pozwala bezpośrednio zasilać programowany procesor napięciem 5V podawanym z zasilacza umieszczonego na płytce. Napięcie jest podawane cały czas na nóżki procesora dlatego należy zachować ostrożność podczas jego wkładania lub wyjmowania z podstawki. Jeśli procesor jest programowany nie w podstawce lecz poprzez złącze zewnętrzne protokołem ICSP, napięcie podawane jest również na przyłączony układ. W ten sposób można wykorzystać zasilacz programatora do zasilania układu programowanego. Jedynym ograniczeniem jest tu wydolność prądowa stabilizatora i zabezpieczającej diody szeregowej, dlatego należy wziąć ten fakt pod uwagę aby nie spalić elementów zasilacza na płytce.
Tryb zależny - bez zasilacza
Uaktywnienie trybu następuje po załączeniu zworki "VCC" i "LVP ON"
Tryb ten pozwala na pacę programatora bez przyłączonego zasilania. Napięcie do pracy programatora (5V) podawane jest bezpośrednio z układu programowanego przez złącze ICSP. W tej konfiguracji możliwa jest tylko praca z procesorami, które mogą być programowane niskim napięciem (LVP). Podczas pracy w tym trybie nie wolno podłączać zasilania do programatora ponieważ może ulec uszkodzeniu stabilizator.
Tryb niezależny - z podwójnym zasilaniem
Uaktywnienie trybu następuje po rozłączeniu zworki "SAFE" i "VCC"
Tryb ten pozwala na podawanie zasilania z dwóch różnych źródeł. Programator zasilany jest z własnego stabilizatora, natomiast programowany procesor zasilany jest z urządzenia programowanego.
Przewód łączący RS232
Programator łączy się z komputerem poprzez szeregowe łącze RS-232C kablem typu "modem" (tzw. straight through), który jest także wykorzystywany przy łączeniu oryginalnego programatora PICSTART Plus. Siedmiożyłowy przewód łączący zakończony jest męską wtyczką DB-9 od strony programatora i żeńską DB-9 lub DB-25 od strony komputera. Przewód można wykonać we własnym zakresie; wykaz sygnałów używanych przez programator przedstawiony jest w poniższej tabeli.
Sygnał DB-25 DB-9 Kierunek DB-9 Sygnał Żeński Żeński PC --- JuPic Męski TX 2 3 ---> 3 RX RX 3 2 <--- 2 TX DTR 20 4 ---> 4 Data Ready GND 7 5 --- 5 GND DSR 6 6 <--- 6 pull up Vdd RTS 4 7 ---> 7 CTS CTS 5 8 <--- 8 RTSTabela 1 Sygnały przewodu łączącego komputer z programatorem
Złącze ICSP
Programator posiada dwa złącza trybu ICSP:
- klasyczne na goldpinach
- gniazdo RJ-12
Gniazdo RJ-12 pozwala prosto i szybko podłączyć projektowany układ do programatora.
Opis wyprowadzeń:
Pin Sygnał Port 1 VPP MCLR 2 VDD VDD 3 GND VSS 4 DATA RB7 5 CLOCK RB6 6 PGM (LVP) RB3/4/5
Upgrade Programatora
Nowa wersja programatora zbudowanego w oparciu o procesor 16F87 wyposażona została w moduł bootloader'a, który umożliwia w prosty sposób ładowanie nowego kodu do procesora. Procedura uaktualniania firmware'u składa się z dwóch kroków:
Krok 1 Przygotowanie i konfiguracja sprzętu oraz oprogramowania PC
- Zainstalować terminal Tera term Pro lub skorzystać z dostępnego w systemie (W:Hyper, L:Minicom)
- Uruchomić terminal i skonfigurować parametry portu COMx: Menu --> Setup --> Serial port... --> COMx, 19200, 8n1, hardware
- Zapisać ustawienia: Menu --> Setup --> Save setup... --> 'teraterm.ini'
Po skonfigurowaniu wszystkich wymaganych parametrów, należy przeprowadzić test łączności:
- Podłączyć programator do komputera
- Włączyć zasilanie programatora
- Uruchomić terminal
- Nacisnąć klawisz "s" na klawiaturze komputera
Jeśli wyświetlony zostanie numer seryjny programatora połączenie pracuje poprawnie i można przystąpić do instalowania oprogramowania.
Uwaga! W przypadku posiadania programatora z numerem seryjnym równym xx.03.xx.xx należy dodatkowo wyłączyć bufor FIFO portu szeregowego lub ustawić opóźnienie linii 2ms. Procedura jest dokładnie opisana w dokumentacji dostarczonej wraz z programatorem.
Krok 2 Instalacja nowego oprogramowania do programatora
- Uruchomić terminal (skonfigurować jak powyżej -> patrz: Krok 1)
- Nacisnąć i przytrzymać przycisk "ERASE" na programatorze
- Nacisnąć klawisz "u" (upgrade) w okienku terminala (na klawiaturze); wejście w tryb programowania zostanie zasygnalizowane zapaleniem się diody "PROG" oraz na terminalu pojawi się znak ":". W tym punkcie procesor nie jest jeszcze wykasowany i można zrezygnować z funkcji aktualizacji kodu naciskając klawisz "e" (exit) lub wyłączyć zasilanie, po tej czynności programator powróci to standardowego trybu pracy. (Uwaga! Między naciśnięciem przycisku "ERASE", a naciśnięciem klawisza "u" nie może minąć więcej niż 2s! W przeciwnym wypadku przycisk "ERASE" zadziała jak dedykowana funkcja kasowania procesora).
- Nacisnąć klawisz "l" (load), aktualny kod procesora zostanie wykasowany, a na terminalu pojawi się znak oczekiwania na plik ">", zgaśnie również dioda "PROG"
- Wysłać plik: Menu --> File --> Send file... --> 'jupic-xx-x.xx.xx-xx.hex'
Aktualnie dostępne są firmware'y (wybór dla dwóch wersji z różnym kwarcem):
Data 18.432MHz 11.0592MHz Opis 18.09.2015 Poprawiona obsługa 16C5X 24.03.2010 Poprawiony zapis 12F609, 12F615 12.11.2009 Poprawiony zapis 16CXXX 27.08.2009 Poprawiony zapis 16F722*, dadany 16F727* 08.03.2009 Poprawiony zapis 16F636*, dadany 16F722 12.08.2008 16F882, 16F526 (bez flash data!) 02.11.2007 Poprawiony zapis CONFIG 16F785, 16HV785 17.10.2007 Poprawiony zapis EE, dodany 12F519 21.09.2007 Poprawiana obsługa procesorów 16CXXX 22.05.2007 16F631, 16F677, 18FX682, 18FX685 24.04.2007 24.02.2007 dodana obsługa nowych 18FXXXX 16.01.2006 kilka poprawek do poprzedniej wersji 24.10.2005 dodana obsługa 16F91X i 18F2X80, 18F4X80 11.06.2005 poprawionch kilka drobnych błędów 12.02.2005 dodana obsługa 18F2XXX i 18F4XXX 01.02.2005 dodana obsługa 18F2XX1 i 18F4XX1 08.01.2005 dodana obsługa 12F50X 13.10.2004 --- poprawiona obsługa 10F20X 28.08.2004 --- dodana obsługa 10F20X 18.05.2004 --- pierwsza wersja nowego koduKod jest przeznaczony wyłącznie dla nowej wersji programatora
z procesorem 16F87 i może być załadowany tylko przez bootloader!
Programatory z najnowszą wersją bootloader'a xx.05.xx.xx
nie mogą pracować z wersjami niższymi (xx.04.xx.xx i starsze)!Podczas ładowania nowego kodu w oknie terminala widoczny będzie pasek progresu, a na programatorze będzie migała równomiernie dioda informacyjna "PROG". Po zakończonej operacji poprawnego zapisu pojawi się napis "OK!" i programator automatycznie wystartuje z wprowadzonym programem. Od tego momentu upgrade jest zakończony, a programator gotowy do pracy.
Jeśli podczas ładowania kodu programu wystąpią jakiekolwiek kłopoty z zapisem (np. zerwana transmisja, wyłączenie zasilania, załadowanie niewłaściwego kodu oraz inne nieprzewidziane sytuacje) i programator nie uruchomi się należy powtórzyć powyższe czynności. Brak poprawnego kodu w procesorze programator sygnalizuje trzema błyskami diodą PROG, a na terminalu pojawia się napis "ERROR!". Takie objawy dotyczyć będą również przypadku załadowania niepoprawnego kodu do procesora. W celu przywrócenia programatora do pracy po nieudanej próbie aktualizacji należy skorzystać z trybu RECOVERY.
Wejście w tryb RECOVERY:
- Uruchomić terminal
- Wyłączyć zasilanie programatora
- Nacisnąć i przytrzymać przycisk ERASE na programatorze
- Włączyć zasilanie programatora
- Po pojawianiu się znaku ":" na terminalu załadować kod jak w Kroku 2 punkt 4.
Pełna lista obsługiwanych procesorów
Wyszczególniona lista dotyczy wszystkich procesorów danego modelu, niezależnie od obudowy (DIP, SOIC, TQFP, itp.), typu (C, CE, F, LF, HV) oraz zakresu temperaturowego (I, E).
Gwiazką zaznaczono najnowsze obsługiwane procesory w wersji BETA.
10FXXX 12FXXX 16FXXX 18FXXX 12CXXX 16CXXX PIC10F200 PIC10F202 PIC10F204 PIC10F206 PIC10F220 PIC10F222 PIC12F508 PIC12F509 PIC12F510 PIC12F519 PIC12F609 PIC12F615 PIC12F629 PIC12F635 PIC12F675 PIC12F683 PIC16F505 PIC16F506 PIC16F526* PIC16F54 PIC16F57 PIC16F610 PIC16F616 PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F631 PIC16F636 PIC16F639 PIC16F648A PIC16F676 PIC16F677 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F72 PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F716 PIC16F722* PIC16F727* PIC16F737 PIC16F747 PIC16F767 PIC16F777 PIC16F785 PIC16HV785 PIC16F818 PIC16F819 PIC16F83 PIC16F84 PIC16F84A PIC16F87 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16F88 PIC16F882* PIC16F883 PIC16F884 PIC16F886 PIC16F887 PIC16F913 PIC16F914 PIC16F916 PIC16F917 PIC16F946 PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448 PIC18F452 PIC18F458 PIC18F1220 PIC18F1230 PIC18F1320 PIC18F1330 PIC18F2220 PIC18F2221 PIC18F2320 PIC18F2321 PIC18F2331 PIC18F2410 PIC18F2420 PIC18F2423 PIC18F2431 PIC18F2450 PIC18F2455 PIC18F2480 PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2523 PIC18F2525 PIC18F2550 PIC18F2580 PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F2682 PIC18F2685 PIC18F4220 PIC18F4221 PIC18F4320 PIC18F4321 PIC18F4331 PIC18F4410 PIC18F4420 PIC18F4423 PIC18F4431 PIC18F4450 PIC18F4455 PIC18F4480 PIC18F4510 PIC18F4515 PIC18F4520 PIC18F4523 PIC18F4525 PIC18F4550 PIC18F4580 PIC18F4585 PIC18F4610 PIC18F4620 PIC18F4680 PIC18F4682 PIC18F4685 PIC18F6620 PIC18F6720 PIC18F8620 PIC18F8720 PIC12C508 PIC12C508A PIC12C509 PIC12C509A PIC12C671 PIC12C672 PIC12CE518 PIC12CE519 PIC12CE673 PIC12CE674 PIC14C000 PIC16C505 PIC16C54 PIC16C54C PIC16C55 PIC16C554 PIC16C558 PIC16C55A PIC16C56 PIC16C56A PIC16C57 PIC16C57C PIC16C58A PIC16C58B PIC16C620 PIC16C620A PIC16C621 PIC16C621A PIC16C622 PIC16C622A PIC16C62A PIC16C62B PIC16C63 PIC16C63A PIC16C642 PIC16C64A PIC16C65A PIC16C65B PIC16C66 PIC16C662 PIC16C67 PIC16C71 PIC16C710 PIC16C711 PIC16C712 PIC16C715 PIC16C716 PIC16C717 PIC16C72 PIC16C72A PIC16C73A PIC16C73B PIC16C745 PIC16C74A PIC16C74B PIC16C76 PIC16C765 PIC16C77 PIC16C770 PIC16C771 PIC16C773 PIC16C774 PIC16C781 PIC16C782 PIC16C923 PIC16C924 PIC16C925 PIC16C926 PIC16CE623 PIC16CE624 PIC16CE625
Home Page Oferta Cennik Informacje Download Linki Kontakt Księga gości