21_25.pdf
(
995 KB
)
Pobierz
JuPIC - programator mikrokontrolerów PIC współpracujący z programem MPLAB - AVT-5100
P R O J E K T Y
JuPIC
JuPIC
Programator mikrokontrolerów PIC
wspó³pracuj¹cy z programem MPLAB
AVT-5100
Konstruktorzy s¹ bez
w¹tpienia ludmi równie
leniwymi, jak wszyscy inni.
St¹d pomys³ tworzenia dla
nich, a zw³aszcza dla
programistów, zintegrowanych
narzêdzi projektowych.
W artykule przedstawiamy
projekt programatora
mikrokontrolerów PIC, który
doskonale wtapia siê
w rodowisko MPLAB, dziêki
czemu przygotowanie
oprogramowania
mikrokontrolerów mo¿na
zrealizowaæ za pomoc¹
jednego tylko programu.
Rekomendacje
: doskona³e
narzêdzie przystosowane do
bezporedniej wspó³pracy ze
rodowiskiem MPLAB. Idealne
rozwi¹zanie dla
projektantów korzystaj¹cych
z mikrokontrolerów PIC firmy
Microchip.
Od kilku lat jestemy wiad-
kami ogromnego postêpu w dzie-
dzinie elektroniki cyfrowej i nie-
zast¹pionych w niej mikroproce-
sorów i mikrokontrolerów. Stopieñ
z³o¿onoci tych uk³adów wzrasta
w szybkim tempie, powoduj¹c ko-
niecznoæ przyswajania coraz to
nowej wiedzy. Najszybszym spo-
sobem na osi¹gniêcie tego celu
jest wykorzystanie programów in-
teraktywnych, porednicz¹cych
miêdzy u¿ytkownikiem a urz¹dze-
niem. Ka¿da firma chc¹ca wejæ
na rynek ze swoimi mikrokontro-
lerami udostêpnia zazwyczaj spe-
cjalne oprogramowanie, które
umo¿liwia korzystanie z oferowa-
nych uk³adów. Obserwuj¹c rynek
mikrokontrolerów jednouk³ado-
wych, mo¿na zauwa¿yæ, i¿ coraz
wiêksza liczba producentów udo-
stêpnia darmowe oprogramowa-
nie, serwis informacyjny oraz do-
kumentacjê techniczn¹, chc¹c
przyci¹gn¹æ do swoich produktów
jak najwiêksz¹ grupê u¿ytkowni-
ków. Jedn¹ z firm, która wysz³a
naprzeciw tym wymaganiom, jest
firma Microchip produkuj¹ca mik-
rokontrolery rodziny PICmicro.
Przedstawiony w niniejszym ar-
tykule programator JuPIC powsta³
jako czêæ pracy dyplomowej wy-
konywanej na Politechnice l¹s-
kiej i jest wynikiem wielotygo-
dniowej pracy nad protoko³em
komunikacyjnym. Programator jest
przeznaczony do programowania
mikrokontrolerów serii F z pa-
miêci¹ typu Flash: PIC16F627,
PIC16F628, PIC16F83, PIC16F84,
PIC16F84A, PIC16F870, PIC16F871,
PIC16F872, PIC16F873, PIC16F874,
PIC16F876, PIC16F877, a tak¿e
PIC12F675 i PIC16F629.
Wspó³pracuje on ze zintegro-
wanym rodowiskiem uruchomie-
niowym MPLAB IDE firmy Mic-
rochip i obs³uguje protokó³ komu-
nikacyjny zgodny z protoko³em
oryginalnego programatora PICS-
TART Plus (opracowanego przez
firmê Microchip). Tym samym
mo¿liwe jest wykorzystanie potê¿-
nych mo¿liwoci jakie daje oprog-
ramowanie MPLAB pracuj¹ce
w rodowisku graficznym Win-
dows. Firma Microchip rozpo-
wszechnia ten program jako
free-
ware
i mo¿na go pobraæ ze strony
internetowej
http://www.micro-
Elektronika Praktyczna 3/2003
21
JuPIC
chip.com/1010/pline/tools/picmic-
ro/devenv/mplabi/index.htm
. Naj-
nowsza wersja oprogramowania
nosi oznaczenie 6.10. MPLAB
i pozwala na zapisywanie, moni-
torowanie i optymalizacjê aplika-
cji PICmicro. Zawiera wbudowany
edytor tekstu, symulator, kompi-
lator, obs³ugê projektów oraz pro-
gramator. Program z wbudowany-
mi wieloma funkcjami pozwala
m.in. na:
- tworzenie i edycjê plików ród-
³owych,
- grupowanie plików w projekty,
- wyszukiwanie b³êdów kodu,
- asemblacjê, kompilacjê i linko-
wanie kodu ród³owego,
- wyznaczanie zale¿noci czaso-
wych,
- podgl¹danie zmiennych w cza-
sie pracy programu,
- symulacjê dzia³ania programu,
- komunikacjê z urz¹dzeniem PIC-
START Plus (JuPIC),
- rozwi¹zywanie problemów z wy-
korzystaniem podrêcznej pomocy,
- debugowanie za pomoc¹ proto-
ko³u ICD.
Programator JuPIC zbudowany
zosta³ w oparciu o mikrokontroler
PIC16F628, który obecnie zdoby-
wa coraz wiêksz¹ popularnoæ ze
wzglêdu na swoj¹ funkcjonalnoæ.
Programator w po³¹czeniu z pro-
gramem MPLAB tworzy niezwykle
sprawne i profesjonalne narzêdzie
programisty. Funkcjonalnoæ tego
zestawu powoduje, ¿e mo¿e byæ
przeznaczony do ma³ych i red-
nich zastosowañ, a polecany jest
zarówno dla u¿ytkowników po-
cz¹tkuj¹cych, jak i zaawansowa-
nych.
Opis uk³adu
Schemat programatora przed-
stawiono na
rys. 1
. Sk³ada siê on
ze: stabilizatora +5V, translatora
poziomów MAX232, klucza na-
piêciowego i mikrokontrolera
PIC16F628, który jest taktowany
sygna³em zegarowym o czêstotli-
woci ustalonej przez rezonator
kwarcowy 11059200Hz.
Praca mikrokontrolera polega
na obs³udze protoko³u komunika-
cyjnego pomiêdzy programatorem
a programem MPLAB oraz na wy-
tworzeniu odpowiedniego prze-
biegu programuj¹cego na wyj-
ciach programuj¹cych (sygna³y
DATA, CLOCK, MCLR, LVP). Pro-
tokó³ programuj¹cy nie jest udo-
Rys. 1. Schemat elektryczny uk³adu
22
Elektronika Praktyczna 3/2003
JuPIC
Rys. 2. Sposób do³¹czenia
mikrokontrolera do z³¹cza ICSP
kim gniazdem DB-9 od strony
programatora i ¿eñskim DB-9 lub
DB-25 od strony komputera. W
tab.
1
przedstawiono wykaz sygna³ów
u¿ywanych przez programator oraz
opis wyprowadzeñ ³¹cz.
Klucze tranzystorowe (T1...T3)
zapewniaj¹ przy³¹czenie jednego
z trzech poziomów napiêæ na wej-
cie MCLR: V
SS
= 0V, V
DD
= 5V
oraz V
PP
= 12 V, zapewniaj¹c tym
samym wymagane funkcje proto-
ko³u ICSP. Sygna³ steruj¹cy sk³a-
da siê z dwóch bitów, których
kombinacje wartoci oznaczaj¹ od-
powiednie napiêcia wyjciowe.
Sposób kodowania zestawiono
w
tab. 2
.
Po podaniu na wyjcia RA0
i RA1 stanu 0 zatkane zostaj¹
wszystkie tranzystory i na wyjciu
pojawi siê potencja³ V
DD
(R7 pra-
cuje jako
pull-up
). Po podaniu na
wyjcie RA1 stanu 1 zostaje
wysterowany tranzystor T3 i na
wyjciu otrzymujemy poziom V
SS
,
niezale¿nie od stanu na wyjciu
RA0. Natomiast po podaniu na
wyjcie RA1 stanu 0, a na
wyjcie RA0 stanu 1 powodu-
jemy zatkanie tranzystora T3 i wy-
sterowanie tranzystorów T1 i T2,
co spowoduje wyst¹pienie na wyj-
ciu napiêcia programuj¹cego V
PP
.
W ten sposób uzyskujemy mo¿-
liwoæ podawania wszystkich po-
trzebnych napiêæ na wejcie
MCLR mikrokontrolera.
stêpniany w dokumentacji tech-
nicznej firmy Microchip, a jego
opis wykracza poza ramy niniej-
szego artyku³u, dlatego nie zosta-
nie tu przedstawiony.
Do zasilania programatora za-
lecane jest zastosowanie zasilacza
stabilizowanego 12...14 V o wy-
dajnoci ok. 250 mA. Zasilacz
zbudowany zosta³ w oparciu o sta-
bilizator 7805 (US). Szeregowo
w³¹czona dioda DZ zabezpiecza
przed nieprawid³owym pod³¹cze-
niem zasilacza zewnêtrznego.
Obs³uga programatora JuPIC
przebiega identycznie jak wspo-
mnianego ju¿ programatora PICS-
TART Plus.
Elementem sprzêgaj¹cym pro-
gramator z komputerem jest kon-
werter poziomów napiêæ MAX232
(U2), co wynika z faktu, ¿e porty
mikrokontrolera pracuj¹ w standar-
dzie TTL. Przetwornik pracuje
z czterema liniami RS232: TXD,
RXD, RTS, CTS, przez które uk³ad
mo¿e nawi¹zaæ transmisjê typu
handshaking
. Wykorzystuj¹c uk³ad
MAX232, otrzymujemy na liniach
napiêcia o wartociach zbli¿onych
do standardu RS232. JuPIC ³¹czy
siê z komputerem poprzez szerego-
we ³¹cze RS232C kablem typu
modem (
straight through
), który
jest tak¿e wykorzystywany przy
³¹czeniu oryginalnego programato-
ra PICSTART Plus. Siedmio¿y³owy
kabel ³¹cz¹cy jest zakoñczony mês-
Rys. 3. Rozmieszczenie elementów na
p³ytce programatora
rys. 2
przedstawiono sposób przy-
³¹czania uk³adu zewnêtrznego.
Funkcje programatora
Programator posiada szereg
funkcji i usprawnieñ rozszerzaj¹-
cych jego mo¿liwoci:
- Uk³ad ma przycisk kasowania,
którym bez pod³¹czania progra-
matora do komputera mo¿na
wyzerowaæ pamiêæ mikrokontro-
lera (tak¿e
Code Protection
).
Aby wykasowaæ pamiêæ, nale¿y
nacisn¹æ i przytrzymaæ klawisz
ERASE
przez 2 sekundy - dioda
LED zasygnalizuje wyzerowanie
mikrokontrolera.
- Wprowadzono diodê sygnaliza-
cyjn¹ LED, która sygnalizuje
aktualne stany programatora:
- dwa podwójne krótkie b³yski
diody - 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,
Programowanie
w systemie ICSP
Programator zosta³ wyposa¿ony
w dodatkowe z³¹cze s³u¿ace do
programowania zgodne z protoko-
³em ICSP. Otrzymano w ten spo-
sób tzw. okno na wiat, umo¿-
liwiaj¹c przy³¹czanie do progra-
matora JuPIC dowolnie wybranego
zewnêtrznego systemu mikropro-
cesorowego. Jedynym warunkiem
tego przy³¹czenia jest zachowanie
standardu ³¹cza oraz zgodnoæ
protoko³ów programuj¹cych. Na
Tab. 1. Opis wyprowadzeñ z³¹cz komputera i programatora JuPIC
DB-25
DB-9
Sygna³
Kierunek
DB-9
Sygna³
¯eñski
¯eñski
PC <-> JuPIC
Mêski
2
3
TX
->
3
RX
3
2
RX
<-
2
TX
20
4
DTR
->
4
Data Ready
7
5
GND
-
5
GND
6
6
DSR
<-
6
pull up +5V
4
7
RTS
->
7
CTS
Rys. 4. W ten sposób w³¹cza siê
tryb SAFE
5
8
CTS
<-
8
RTS
Elektronika Praktyczna 3/2003
23
JuPIC
Rys. 5. Sposób do³¹czenia programowanego
mikrokontrolera do programatora pracuj¹cego
w trybie SAFE
Rys. 7. Sposób do³¹czenia programowanego mikrokontrole-
ra do programatora pracuj¹cego w trybie VCC
- dioda pulsuje równomiernie
wolno - programator jest
w trakcie wymiany danych
z programem MPLAB IDE (za-
pis/odczyt),
- dioda ganie - reakcja na
przyciniêcie klawisza,
- 3 krótkie b³yski diody - mik-
rokontroler zosta³ wykasowa-
ny,
- dioda okresowo nadaje 3 krót-
kie b³yski - zawieszenie pro-
gramatora, naruszenie struktu-
ry programu, konieczna wy-
miana oprogramowania.
- Wprowadzono z³¹cze ICSP, czy-
li mo¿liwoæ programowania
w systemie (na p³ytce) bez ko-
niecznoci wyjmowania mikro-
kontrolera z uruchamianego
urz¹dzenia.
- Wprowadzono mo¿liwoæ pro-
gramowania mikrokontrolerów
w trybie LVP.
- Wyprowadzono podstawkê
DIP18, która umo¿liwia progra-
mowanie mikrokontrolera bez
koniecznoci pod³¹czania prze-
wodów. Do podstawki mo¿na
w³o¿yæ mikrokontrolery, które
maj¹ kompatybilne wyjcia
z uk³adem PIC16F628.
- Wyprowadzono zworki konfigu-
racyjne, które pozwalaj¹ przy-
stosowaæ programator do w³as-
nych potrzeb.
- Procedury programuj¹ce zosta³y
poddane optymalizacji, co po-
woduje przyspieszenie progra-
mowania mikrokontrolerów. Za-
wartoæ ka¿dej komórki przed
zaprogramowaniem jest porów-
nywana z wartoci¹, która ma
byæ do niej wpisana i jeli jest
taka sama, operacja zapisu jest
pomijana.
1. Tryb SAFE - bezpieczny
Uaktywnienie trybu nastêpuje
po za³¹czeniu zworki SAFE (
rys.
4
). Tryb ten pozwala na progra-
mowanie mikrokontrolera najbez-
pieczniejszym sposobem. Napiêcie
na wyprowadzenia mikrokontrole-
ra jest podawane przez klucz T4
za³¹czany tylko podczas jego pro-
gramowania (zapis/odczyt), nato-
miast po operacji wymiany da-
nych jest odcinane. Zalecane jest,
aby w tym trybie nie zasilaæ ze
z³¹cza ICSP ¿adnego uk³adu ze-
wnêtrznego (
rys. 5
).
2. Tryb VCC - z bezporednim
zasilaniem
Uaktywnienie trybu nastêpuje
po za³¹czeniu zworki VCC (
rys.
6
). Tryb ten pozwala bezporednio
zasilaæ programowany mikrokontro-
ler napiêciem 5 V, podawanym
z zasilacza umieszczonego na p³yt-
ce (
rys. 7
). Napiêcie jest podawane
ca³y czas na wyprowadzenia mik-
rokontrolera i dlatego nale¿y zacho-
waæ ostro¿noæ podczas jego
wk³adania lub wyjmowania z pod-
stawki. Jeli mikrokontroler jest
programowany nie w podstawce,
lecz poprzez z³¹cze zewnêtrzne
ICSP, napiêcie podawane jest rów-
nie¿ na przy³¹czony uk³ad. W ten
sposób mo¿na wykorzystaæ zasilacz
programatora do zasilania uk³adu
programowanego. Jedynym ograni-
czeniem jest tu wydajnoæ pr¹dowa
stabilizatora i maksymalny pr¹d za-
Monta¿ i uruchomienie
Programator zmontowano na
dwustronnej p³ytce drukowanej,
której schemat monta¿owy przed-
stawiono na
rys. 3
. Monta¿ prze-
prowadzamy typowo, rozpoczyna-
j¹c od elementów najni¿szych,
a koñcz¹c na wlutowaniu z³¹cza
RS232. Na koñcu, po zmontowa-
niu p³ytki, nale¿y w³o¿yæ uk³ady
scalone do wlutowanych wcze-
niej podstawek.
Programator po w³¹czeniu za-
silania jest gotowy do pracy i nie
wymaga uruchamiania, natomiast
wymagane jest zapoznanie siê
z trybami pracy, jakie uk³ad udo-
stêpnia i odpowiednie skonfiguro-
wanie zworek.
Konfiguracja programatora
Programowanie mo¿e odbywaæ
siê dwoma sposobami:
- napiêciem wysokim HVP (12...14 V)
- zworka LVP ON roz³¹czona,
- napiêciem niskim LVP (5 V) -
zworka LVP ON zwarta (fun-
kcja dzia³a tylko dla mikro-
kontrolerów posiadaj¹cych tryb
LVP).
Mo¿liwe s¹ równie¿ 4 tryby
pracy ze wzglêdu na zasilanie
uk³adu:
Tab. 3. Rozmieszczenie wyprowadzeñ
z³¹cza ICSP zaproponowane przez
firmê Microchip
Styk
Funkcja
Port
Tab. 2. Sposób kodowania napiêcia
programuj¹cego
RA0 RA1
1
MCLR
MCLR
2
VCC
VDD
Napiêcie
Funkcja
3
GND
VSS
00
DD
Praca
4
DATA
RB7
Rys. 6. W ten sposób w³¹cza siê
tryb VCC
-
1
SS
Reset
5
CLOCK
RB6
10
PP
Programowanie
6
LVP
RB3/4
24
Elektronika Praktyczna 3/2003
JuPIC
Rys. 8. W ten sposób w³¹cza siê
zale¿ny tryb pracy (bez zasilacza)
bezpieczaj¹cej diody szeregowej,
dlatego nale¿y wzi¹æ ten fakt pod
uwagê, aby nie spaliæ elemen-
tów zasilacza na p³ytce.
3. Tryb zale¿ny - bez zasilacza
Uaktywnienie trybu nastêpuje
po za³¹czeniu zworki VCC i LVP
ON (
rys. 8
). Tryb ten pozwala na
pracê programatora bez w³asnego
zasilania. Napiêcie niezbêdne do
pracy programatora (5 V) jest po-
dawane bezporednio z uk³adu pro-
gramowanego przez z³¹cze ICSP
(
rys. 9
). W tej konfiguracji mo¿liwa
jest tylko praca z mikrokontrolera-
mi, które mog¹ byæ programowane
niskim napiêciem (LVP). Podczas
pracy w tym trybie nie wolno
pod³¹czaæ zasilania do programato-
ra, poniewa¿ mo¿e ulec uszkodze-
niu stabilizator.
4. Tryb niezale¿ny - z podwój-
nym zasilaniem
Uaktywnienie trybu nastêpuje
po roz³¹czeniu zworki SAFE
i VCC (
rys. 10
). Tryb ten po-
zwala na podawanie zasilania
z dwóch ró¿nych róde³. Progra-
mator zasilany jest z w³asnego
stabilizatora, natomiast programo-
wany mikrokontroler jest zasilany
ze z³¹cza ICSP.
Instalacja programatora prze-
biega nastêpuj¹co:
- programator umieszczamy na
stabilnym, nieprzewodz¹cym
pod³o¿u,
- pod³¹czamy przewód RS232 do
komputera i programatora,
- pod³¹czamy zasilacz do sieci,
a nastêpnie przewód zasilania
12V do programatora,
Rys. 9. Sposób do³¹czenia programowanego mikrokontrolera do
programatora pracuj¹cego w trybie zale¿nym
- umieszczamy programowany
mikrokontroler w podstawce lub
pod³¹czamy przewód programo-
wania ICSP,
- uruchamiamy na komputerze
program MPLAB IDE,
- uaktywniamy programator, wy-
bieraj¹c z menu PICSTART Plus
funkcjê
Enable Programmer
-
w programie MPLAB IDE pojawi
siê okno inicjacji programatora,
po czym otrzymamy aktywny
interfejs u¿ytkownika; progra-
mator JuPIC przedstawia siê
w wersji 2.30.00 (
rys. 11
).
Po kompilacji przygotowanego
projektu otrzymujemy kod wyni-
kowy w postaci pliku typu Intel
HEX, który mo¿emy wprowadziæ
do programowanego mikrokontro-
lera (
Program
).
Na panelu programatora (
rys.
12
) dostêpne s¹ tak¿e funkcje
odczytu (
Read
) i weryfikacji (
Ve-
rify
) kodu, mo¿na równie¿ spraw-
dziæ, czy pod³¹czony mikrokont-
roler ma skasowan¹ pamiêæ pro-
gramu (
Blank
). Dodatkowo, od
wersji programu MPLAB 5.70
wprowadzono przycisk kasowania
mikrokontrolera (
Erase Flash De-
vice
).
Adam Jurkiewicz
Stanis³aw Pietraszek
Wzory p³ytek drukowanych w for-
macie PDF s¹ dostêpne w Internecie
pod adresem:
http://www.ep.com.pl/
?pdf/marzec03.htm
oraz na p³ycie
CD-EP3/2003B w katalogu
PCB
.
WYKAZ ELEMENTÓW
Rezystory
R1, R7, R9, R10: 10k
W
R2, R3, R4: 2k
W
R5: 100
W
W
R8: 4,7k
W
Kondensatory
C1, C3: 100
F/25V
C2, C4, CB1, CB2: 100nF
C5, C6, C7, C8: 10
m
m
F/25V
Rys. 11. W taki sposób widziany jest
JuPIC przez MPLAB
CP1: 220pF
CX1, CX2: 22pF
Pó³przewodniki
U1: PIC16F628 (zaprogramowany)
U2: MAX232
US: 7805
D1: 1N4148
DZ: 1N4007
LED czerwona
T1, T3: BC238
T2, T4: BC307
Ró¿ne
XTAL: kwarc 11,0592MHz
JZ: z³¹cze zasilania
SW1: microswitch
J1: z³¹cze RS ¿eñskie
J3: podstawka precyzyjna 18 pin
J4: z³¹cze 6 pin do druku
JP1: zworka 2 pin
JP2: zworka 3 pin
Rys. 10. W ten sposób w³¹cza siê
niezale¿ny tryb pracy
Rys. 12. Widok panelu obs³ugi
programatora w MPLAB
Elektronika Praktyczna 3/2003
25
R6: 1k
Plik z chomika:
Kramer20
Inne pliki z tego folderu:
1.pdf
(330 KB)
129_130.pdf
(145 KB)
133_135.pdf
(205 KB)
137_138.pdf
(132 KB)
140.pdf
(83 KB)
Inne foldery tego chomika:
01.03
02.03
04.03
05.03
06.03
Zgłoś jeśli
naruszono regulamin