33_38.pdf

(1863 KB) Pobierz
32693293 UNPDF
Uniwersalny programator mikrokontrolerów PIC
P R O J E K T Y
Uniwersalny programator
mikrokontrolerów PIC,
część 2
AVT-573
Stwierdzenie, że
mikrokontrolery PIC zdominowały
nasz rynek, byłoby chyba lekko
przesadzone, faktem jednak
jest, że są one dość lubiane
przez naszych elektroników-
konstruktorów. Wymaganym
w dzisiejszych czasach
standardem jest posiadanie
wewnętrznej pamięci programu,
najlepiej programowanej
w układzie. PIC-e warunek ten
spełniają. Trzeba tylko wiedzieć,
jak tę pamięć zaprogramować
i oczywiście mieć czym to
zrobić.
Rekomendacje : Przedstawiony
w artykule układ jest
uniwersalnym systemem
umożliwiającym programowanie
mikrokontrolerów irmy Microchip.
Oprogramowanie
1.Programator
„Oshon PIC Programmer”
Program jest do-
stępny na stronie autora
www.oshonsoft.com. Pobra-
ny plik należy rozpakować
i zainicjować instalację. Po
zainstalowaniu programator jest
gotowy do pracy. Ważną cechą jest
fakt, że program posiada zaimple-
mentowane sterowniki umożliwia-
jące pracę w systemie Windows
98, jak również Windows NT oraz
XP. Okno programatora jest przed-
stawione na rys . 7 . W oknie tym
widoczna jest informacja o typie
programowanego mikrokontrolera,
wielkości pamięci programu oraz
pamięci danych EEPROM. Dodat-
kowo przestawiona jest zawartość
tych pamięci. Programator posiada
bardzo prosty interfejs i prze-
znaczony jest do programowania
rodzin układów: PIC16F62x, PI-
C16F7x, PIC16F8x oraz PIC16F87x.
ra pliku HEX,
który ma być później
wprowadzony do pamięci
mikrokontrolera.
Tools – w tym menu zawar-
te są polecenia zapisu, odczytu
i weryikacji pamięci.
Hardware – menu to dotyczy
parametrów dołączonego progra-
matora. Opcja Schematics wyświe-
tla okno ze schematem prostego
programatora współpracującego
z oprogramowaniem. W zależ-
ności od zastosowanego układu
pełniącego rolę buforów pomię-
dzy złączem komputera a mikro-
kontrolerem należy odpowiednio
skonigurować poszczególne linie
portu LPT. W przedstawionym
programatorze bufory te powodu-
ją zanegowanie wszystkich linii
sterujących, dlatego należy skoni-
gurować oprogramowanie tak, aby
ponownie zanegowało te sygnały,
co w efekcie pozwoli na po-
prawną współpracę programatora
z oprogramowaniem.
Hardware Settings – służy do
koniguracji wyjść ( rys . 8 ). Moż-
liwe jest także sprawdzenie dzia-
Funkcje paska wyboru
File – w tym menu znajduje
się polecenie Clear buffer oraz
Open . Clear buffer służy do ka-
sowania buforów programatora
dla pamięci Flash oraz EEPROM.
Do komórek pamięci Flash zostaje
wpisana wartość 0x3FFF, a do ko-
mórek pamięci EEPROM wartość
0xFF. Polecenie Open umożliwia
wczytanie do bufora programato-
Rys. 7. Wygląd okna Oshon PIC
programmer
Rys. 8. Okno
konfiguracji linii
portu LPT
Rys. 9. Okno
testowania
programatora
Rys. 10. Okno wyboru typu mikro-
kontrolera
Elektronika Praktyczna 6/2004
33
32693293.020.png 32693293.021.png 32693293.022.png 32693293.023.png 32693293.001.png 32693293.002.png
Uniwersalny programator mikrokontrolerów PIC
należy wydać komendę
weryikacji kodu To-
ols -> Verify . Jeśli pa-
mięć zastanie zapisana
błędnie, to pojawi się
komunikat o adresie
pierwszego błędnego
słowa, w przeciwnym
przypadku programo-
wanie należy uznać za
zakończone.
Programator IC-Prog
Programator IC-Prog
jest kolejnym darmo-
wym narzędziem umoż-
liwiającym programo-
wanie mikrokontrolerów.
Oprogramowanie jest
udostępniane na stronie www.ic-
prog.com. Tam także znajdują
się uaktualnienia oraz schematy
obsługiwanych programatorów.
Ich liczba jest duża, gdyż opro-
gramowanie umożliwia programo-
wanie niemalże wszystkich typów
mikrokontrolerów, nie tylko irmy
Microchip, ale również Atmel.
Możliwe jest także programowanie
szeregowych pamięci EEPROM. Wy-
gląd okna programu jest przedsta-
wiony na rys . 11 .
Najcenniejszą cechą tego opro-
gramowania jest możliwość wybra-
nia jednej z wielu wersji języko-
wych, w tym także polskiej. Ko-
lejną zaletą jest brak konieczności
instalowania programu, gdyż plik
wykonywalny od razu urucha-
mia programator. Oprogramowa-
nie może pracować w systemach
Windows 98 lub niższym, a także
w systemach Windows NT oraz
XP. Do pracy w systemach ostat-
nio wymienionych wymagane jest
dołączenie biblioteki umożliwiają-
cej dostęp do portów komputera.
Biblioteka ta o nazwie icprog.sys
jest również dostępna na stronie
autora programu.
Przy pierwszym uruchomieniu
programu należy skonigurować
parametry jego pracy. W celu
ułatwienia wprowadzania dalszych
ustawień, na wstępie należy usta-
wić polski język wyświetlanych
komunikatów. Wykonuje się to
w menu Settings -> Options -> Lan-
guage , w wyświetlonym oknie
należy wybrać opcję Polish . Po
tej czynności program samoczyn-
nie zostanie zamknięty i ponow-
nie uruchomiony z interfejsem
w języku polskim. Następnie na-
Rys. 13. Okno testowania dołączo-
nego programatora
Rys. 11. Wygląd okna programu ICProg
leży wybrać rodzaj odpowiedniego
programatora w menu Ustawie-
nia -> Sprzęt lub nacisnąć klawisz
funkcyjny F3. W otwartym oknie
( rys . 12 ) należy wybrać typ pro-
gramatora – TAIT Serial Program-
mer oraz port równoległy, do któ-
rego jest dołączony. W oknie tym
można także ustawić opóźnienie
wysyłania danych oraz zanego-
wać poszczególne linie danych.
Dla przedstawionego programatora
wszystkie linie należy ustawić
według rys . 12 .
Oprogramowanie umożliwia
także sprawdzenie poprawności
pracy dołączonego programato-
ra. Funkcja ta jest wywoływana
w menu Ustawienia -> Sprawdź
sprzęt . Widok uruchomionego okna
jest przedstawiony na rys . 13 . Te-
stowanie przebiega analogicznie
jak to miało miejsce w przypadku
programu Oshon Programmer.
Jeżeli programator będzie pra-
cował w systemie Windows XP,
to należy do katalogu, w którym
znajduje się ICProg skopiować
plik icprog.sys oraz włączyć ste-
rownik systemu NT. Dokonuje się
tego poprzez menu Ustawienia -
> Opcje . W nowo otwartym oknie
należy w menu Różne zaznaczyć
opcję Włącz sterownik NT / 2000
( rys . 14 ).
łania dołączonego programatora
za pomocą opcji Check Hardware
( rys . 9 ), gdzie można zmienić
stan poszczególnych linii sterują-
cych i wykryć ewentualne niepra-
widłowości w pracy programatora.
Options – w tym menu doko-
nuje się wyboru obsługiwanego
mikrokontrolera. Po wybraniu je-
dynej opcji Change Microcontroller
Model ukaże się okno przedsta-
wione na rys . 10 . Aby wybrać
konkretny model mikrokontrolera,
należy wpisać cyfry przypisane do
typu, a następnie zatwierdzić je.
Proces programowania przebie-
ga następująco: W menu Options -
> Change Microcontroller Model
należy wybrać odpowiedni model
mikrokontrolera, następnie wczy-
tać plik HEX i wybrać polecenie
Tools -> Programm All . Należy
zwrócić uwagę na fakt, że wczy-
tany plik musi zawierać słowo
koniguracyjne (wartości tzw. bez-
pieczników), gdyż z poziomu pro-
gramatora nie można ustawić tego
parametru. W czasie programowa-
nia widoczny jest licznik progra-
mowanych słów pamięci programu
i danych. Po zaprogramowaniu
Rys. 12. Okno wyboru typu progra-
matora.
Rys. 14. Okno dodatkowych opcji
programowania
34
Elektronika Praktyczna 6/2004
32693293.003.png
 
32693293.004.png 32693293.005.png 32693293.006.png 32693293.007.png
Uniwersalny programator mikrokontrolerów PIC
UWAGA! Przeprowadzone testy wykazały, że przy szybkim
procesorze komputera mogą pojawiać się błędy w czasie pro-
gramowania. Częściowo można je wyeliminować odpowiednim
ustawieniem opóźnienia portu (rys. 12). Dobre efekty przynosi
również uruchomienie innej aplikacji obciążającej procesor. Dla
komputera z procesorem 850 MHz, uruchomienie odtwarzacza
MP3 powoduje całkowity brak błędów. Wymienione problemy
występują dla programu IC-Prog w wersji 1.05C, w przypadku
wersji 1.04 programowanie przebiega prawidłowo bez dodatko-
wych zabiegów. Jednak ta wersja programu obsługuje mniejszą
liczbę mikrokontrolerów. Dlatego w zależności od programowa-
nego mikrokontrolera należy zastosować odpowiednią „metodę”.
lecenie 3 ... Jako polecenia stoso-
wane są znaki, których znaczenie
jest następujące:
p – programuj układ,
v – sprawdź poprawność zapisu,
r – odczytaj pamięć układu,
i – przy programowaniu nie
pokazuj okna z zawartością pa-
mięci, pokazywane jest tylko okno
informacyjne wskazujące stopień
zaawansowania wykonywanego
procesu,
l – wczytaj plik,
fxxxh – słowo koniguracyjne
(dla bezpieczników),
q – zamknij okno po zaprogra-
mowaniu.
Przykładowa komenda progra-
mowania może być następująca:
IC-Prog -ltest.hex -p -v -i -f3E-
EA -q
Po wydaniu takiej komendy
zostanie uruchomiony IC-Prog,
następnie będzie wczytany plik
test.hex, którym zostanie zapro-
gramowany mikrokontroler, dalej
zostanie zweryikowana popraw-
ność zapisu i zapisane słowo
koniguracyjne. Okno programato-
ra będzie wyświetlone w postaci
zminimalizowanej (tylko wskaźnik
programowania), a po zakończeniu
procesu programowania zostanie
automatycznie zamknięte. Jak wi-
W menu Programowanie moż-
na wybrać sposób weryikacji
zapisywanego kodu w pamięci
mikrokontrolera. Do wyboru jest:
weryikacja w czasie programo-
wania lub po zaprogramowaniu.
W menu Skróty można zapisać
cztery najczęściej używane typy
mikrokontrolerów, następnie za-
programowany typ będzie można
wybrać za pomocą kombinacji
klawiszy CTRL+F1/F2/F3/F4.
Do operacji na pamięci mikro-
kontrolera służą polecenia zawarte
w menu Polecenia :
Odczytaj wszystko (F8) – odczy-
tuje zawartość pamięci Flash
oraz EEPROM mikrokontrolera
i umieszcza w buforze, skąd
następnie dane mogą zostać
zapisane w postaci pliku HEX
lub BIN.
– Polecenie Programuj wszystko
(F5)- zapisuje zawartość bufora
do pamięci Flash i EEPROM
mikrokontrolera.
Programuj i koniguruj (F4)
– zapisuje do mikrokontrolera
konigurację bezpieczników.
Wyczyść wszystko – kasuje pa-
mięć programu i danych mi-
krokontrolera.
– Weryikuj – porównuje dane
zapisane w pamięci mikrokon-
trolera z danymi znajdującymi
się w buforze.
Procedura programowania wy-
gląda następująco: na początku
należy wybrać typ mikrokontrole-
ra z listy lub poprzez kombinacje
klawiszy CTRL+F1/F2/F3/F4 (jeżeli
wcześniej zostały przypisane do
nich odpowiednie typy mikro-
kontrolerów), następnie należy
wczytać odpowiedni plik kombi-
nacją klawiszy CTRL+O (litera
„O”) lub poleceniem Otwórz ...
Jeżeli wczytany plik zawiera pra-
widłowe słowo koniguracyjne, to
automatycznie zostaną ustawione
odpowiednie bezpieczniki ( Fuses )
w oknie dialogowym programato-
ra, w przeciwnym wypadku usta-
wienia te można zmienić ręcznie.
Proces programowania rozpoczyna
się naciśnięciem klawisza F5 lub
wybraniem polecenia Programuj
wszystko . W zależności od wybra-
nej opcji weryikacji, poprawność
zapisu jest sprawdzana podczas
programowania lub po jego za-
kończeniu. Jeżeli nie pojawi się
komunikat o błędzie, to pamięć
mikrokontrolera została zaprogra-
mowana prawidłowo.
Oprócz programowania okien-
kowego możliwe jest także wy-
wołanie procesu programowania
przez zewnętrzny program z linii
poleceń. Funkcja ta jest przydatna
podczas pisania programu w edy-
torze, na przykład MPLAB. Wtedy
z poziomu tego edytora można
wywołać proces programowania.
Ułatwia to znacznie pracę przy
wielokrotnym sprawdzaniu po-
prawności skompilowanego progra-
mu. Wywołanie programu z linii
poleceń ma następującą postać:
Icprog polecenie1 polecenie 2 po-
Tab. 3. Zestawienie mikrokontrole-
rów obsługiwanych przez odpowied-
nie podstawki programujące
Podstawka Obsługiwane układy
DIP8 PIC12F629, PIC12F675
DIP14 PIC16F630, PIC16F676
DIP18-1
PIC16F83, PIC16F84,
PIC16F84A, PIC16F627,
PIC16F628
DIP18-2
PIC16F83, PIC16F84,
PIC16F84A, PIC16F818,
PIC16F819
DIP18-3
PIC16F83, PIC16F84,
PIC16F84A, PIC18F1320
DIP28-1
PIC16F72, PIC16F73,
PIC16F76, PIC16F870,
PIC16F872, PIC16F873,
PIC16F873A, PIC16F876,
PIC16F876A
DIP28-2
PIC18F242, PIC18F252,
PIC18F248, PIC18F258,
PIC18F2320,
DIP40-1
PIC16F74, PIC16F87,
PIC16F871, PIC16F874,
PIC16F874A, PIC16F877,
PIC16F877A
DIP40-2
PIC18F442, PIC18F252,
PIC18F448, PIC18F458,
PIC18F4320, PIC18F4539
Rys. 15. Sposób podłączenia programatora do pracującego systemu
Elektronika Praktyczna 6/2004
35
32693293.008.png 32693293.009.png 32693293.010.png 32693293.011.png
Uniwersalny programator mikrokontrolerów PIC
Rys. 16. Schemat elektryczny adaptera DIP8
Rys. 17. Schemat elektryczny adaptera DIP14
Rys. 18a. Schemat elektryczny adaptera DIP18-1
dać, taki tryb programowania jest
bardzo przydatny w przypadku
prac nad projektem, natomiast
przy programowaniu plikami wy-
nikowymi wygodniejszy będzie
standardowy sposób programowa-
nia za pomocą klawiszy funkcyj-
nych lub myszki.
nych grup mikrokontrolerów, jed-
na podstawka może być zastoso-
wana do kilku rodzajów układów.
Każda podstawka posiada złącze
sygnałów wejściowych CON1,
które należy połączyć przewodem
taśmowym ze złączem CON3
płytki programatora. Na każdej
podstawce programującej znajdu-
je się jedna podstawka służąca
do zamontowania mikrokontrolera
oraz druga umożliwiająca połącze-
nie z podstawką systemu. Sposób
podłączenia programatora z pracu-
jącym systemem jest przedstawio-
ny na rys . 15 . Do obsługi mikro-
kontrolerów wymienionych w tab .
2 (w cz. 1 artykułu) niezbędne
jest zastosowanie dziewięciu pod-
stawek programujących. W tab . 3
przedstawiony jest spis układów
przypisanych do konkretnej pod-
stawki programującej. W przypad-
ku podstawek 18-nóżkowych, dla
każdej wersji możliwe jest progra-
mowanie układów typu PIC16F83,
PIC16F84, PIC16F84A. Jest tak,
ponieważ podstawki te różnią się
między sobą jedynie innym umiej-
scowieniem nóżki programowania
PGM, a wymienione układy nie
posiadają takiego wyprowadzenia.
Mogą więc być obsługiwane przez
dowolną podstawkę. Pozostałe
układy przypisane są do konkret-
nej wersji podstawki.
Akcesoria dodatkowe
Do programowania w systemie
należy zastosować dodatkowe pod-
stawki programujące, które przyłą-
czane są do programatora poprzez
złącze CON3. W zależności od
typu mikrokontrolera należy zasto-
sować odpowiednią podstawkę. Ze
względu na podobieństwa pew-
36
Elektronika Praktyczna 6/2004
32693293.012.png 32693293.013.png 32693293.014.png
Uniwersalny programator mikrokontrolerów PIC
Rys. 18b. Schemat elektryczny adaptera DIP18-2
Rys. 18c. Schemat elektryczny adaptera DIP18-3
Rys. 19a. Schemat elektryczny adaptera DIP28-1
Rys. 19b. Schemat elektryczny adaptera DIP28-2
Elektronika Praktyczna 6/2004
37
32693293.015.png 32693293.016.png 32693293.017.png 32693293.018.png 32693293.019.png
 
Zgłoś jeśli naruszono regulamin