emulator mikrokontrolerów PIC do PC


P R O J E K T Y C Z Y T E L N I K Ó W
Dział "Projekty Czytelników" zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze
odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy ich laboratoryjnie, chociaż
sprawdzamy poprawność konstrukcji.
Prosimy o nadsyłanie własnych projektów z modelami (do zwrotu). Do artykułu należy dołączyć podpisane oświadczenie,
że artykuł jest własnym opracowaniem autora i nie był dotychczas nigdzie publikowany. Honorarium za publikację
w tym dziale wynosi 250,- zł (brutto) za 1 stronę w EP. Przysyłanych tekstów nie zwracamy. Redakcja zastrzega sobie
prawo do dokonywania skrótów.
Sprzętowy emulator mikrokontrolerów
z rodziny PIC
Projekt
Czy prbowaliście
uruchamiaĘ układ 060
mikroprocesorowy mając do
dyspozycji asembler
i symulator programowy?
Wszyscy, ktrzy
odpowiedzieli pozytywnie
na to pytanie wiedzą ile
godzin pracy zabierają
poprawki programu, ktry
początkowo wydawał si
tak elegancko napisany.
Bywa, łe kocowym
wynikiem naszej pracy jest
stwierdzenie, łe algorytm
oprogramowania jest
Aby przyspieszyĘ
nieprawidłowy lub
proces uruchamiania
sprztowe zasoby
systemw mikroproce-
zastosowanego
sorowych niezbdny jest dekoduje je do postaci binar-
mikrokontrolera są
sprztowy emulator mik- neji programuje mikrokontro-
niewystarczające.
rokontrolera. Urządzenieto ler P2łączemszeregowym SPI
W takim przypadku
umołliwia łatwe wprowadza- (RB6, RB7).
nasza praca trafi do kosza.
nie poprawek do emulowane- Mikrokontroler P2 emulu-
go mikrokontrolera i testowa- i P2 (rys. 1). je działanie uruchamianego
nie programu w czasie Niestety, w chwili powsta- mikrokontrolera. Jest on połą-
rzeczywistym. wania emulatora nie miałem czony z układem uruchamia-
Jeden z mikrokontrolerw do dyspozycji mikrokontrolera nymza pośrednictwemzłącza
z serii PIC dysponuje pami- PIC16F84 i nie mogłem prze- Z1, ktre wtyka si w miejsce
cią reprogramowalną elekt- testowaĘ poprawności działa- docelowego mikrokontrolera.
ryczniei mołliwością progra- nia urządzenia z tym mikro- Za pośrednictwem tego złą-
mowania łączem szerego- kontrolerem. Sądzącjednak po cza emulator jest zasilany
wym. Pozwala to na zbudo- jego opisie technicznym, emu- z obwodw układu urucha-
wanie urządzenia zdolnego lator powinien działaĘ popra- mianego. Przetwornica DC-DC
do emulacji wielu mikrokon- wnie mając do dyspozycji wi- z 5V na 12,5V zapewnia za-
trolerwz rodziny PIC16CXX. cej pamici danych RAM. silanie oraz inicjacj trybu
Mikrokontroler P1 odbiera programowania mikrokontro-
Opis sposobu działania dane w formacie INHX8M, za lera P2.
urządzenia pośrednictwem łącza szerego- Na rys. 2 przedstawiono
Emulator składa si wego, z komputera IBM PC, sposb szeregowego progra-
z dwch mikrokontrolerw
(PIC16C84 lub PIC16F84): P1
Tab. 1. Polecenia szeregowego programowania
mikrokontrolerów PIC.
L.p. Polecenie Format polecenia Dane
MSB.. LSB
1 Aaduj konfigurację mikrokontrolera 0 0 0 0 0 0 0,dane (14),0
2 Aaduj dane do pamięci programu 0 0 0 0 1 0 0,dane (14),0
3 Czytaj dane z pamięci programu 0 0 0 1 0 0 0,dane (14),0
4 Inkrementacja adresu 0 0 0 1 1 0
5 Rozpocznij programowanie 0 0 1 0 0 0
6 Aaduj dane do pamięci danych 0 0 0 0 1 1 0,dane (14),0
7 Czytaj dane z pamięci danych 0 0 0 1 0 1 0,dane (14),0
8 Kasuj zawartość pamięci programu 0 0 1 0 0 1
9 Kasuj zawartość pamięci danych 0 0 1 0 1 1
Rys. 1.
Elektronika Praktyczna 5/99
91
P R O J E K T Y C Z Y T E L N I K Ó W
- polecenie Ładuj dane do Musz si ograniczyĘ do
pamici programu, przedstawienia algorytmu op-
- ładuj dane, rogramowania mikrokontrole-
- polecenie Rozpocznij pro- ra emulatora. Myśl, zdając
gramowanie, si na dociekliwośĘ Czytelni-
- czekaj 10ms, kw, łe przedstawienie algo-
- polecenie Czytaj dane rytmu i rdeł bdzie wystar-
z pamici programu, czające do zrozumienia dzia-
Rys. 2.
- czytaj dane, łania emulatora.
mowania mikrokontrolerw Proces programowania - weryfikacja poprawności Program komunikacyjny
PIC16C84. Przed programowa- W tab. 1 przedstawiono zapisu, napisałem w jzyku PDS 7.1.
niem wyprowadzenie RB0 polecenia dostpne podczas - polecenie Inkrementacja Jest to bardzo rozbudowany
mikrokontrolera P1 wymusza programowania szeregowego. adresu, QBASIC. Dlaczego w QBASI-
sygnał reset mikrokontrolera Są one - mam nadziej - czy- - powtarzamy powyłsze po- CU? Otł dlatego, łe mołna
P2. Nastpnie, wyprowadze- telne i nie wymagają komen- lecenia ał do wyczerpania w nim napisaĘ bardzo szybko
niem RB5 mikrokontrolera P1 tarza. Wyjaśnienia wymaga adresw. dobre oprogramowanie. Oczy-
wymusza przyłączenie po- natomiast format przesyłania Proces programowania pa- wiście, kałdy jzyk jest tak
przez przekaniki wyprowa- danych. mici danych przebiega ana- dobry, jakie są dostpne do
dze RB6, RB7 mikrokontro- Po poleceniach związa- logicznie, lecz wystpują po- niego biblioteki. Biblioteki pi-
lera P2 do odpowiednich wy- nych z odczytem i zapisem lecenia dotyczące pamici da- sz sam w asemblerze i aby
prowadze mikrokontrolera danych nastpuje przesyłanie nych. skompilowaĘ mj program
P1. Na wyprowadzeniachtych danych. Dane z pamici pro- Programowanie konfigura- trzeba z nich skorzystaĘ.
był uprzednio ustawiony stan gramu mikrokontrolerw ro- cji mikrokontrolera wiąłe si Oprogramowanie mikro-
niski. dziny PIC16XX są czternasto- z programowaniem specjalne- kontrolera emulatora czyta
Załączenie przekanikw bitowe, dane pamici danych go obszaru pamici, ktry jest polecenia z komputera IBM
powoduje jednocześnie wy- ośmiobitowe. Podczas proce- wywoływany poleceniemŁa- PC, nadawane za pośrednict-
prowadzenie napicia progra- su odczytu-zapisu danych wy- duj konfiguracj i przesła- wem programu komunikacyj-
mującego VHH=12,5V na wej- magane jest wygenerowanie niem pod adresem (0x2007H) nego i wykonuje szereg ope-
ście RESET mikrokontrolera szesnastu taktw zegara, lecz słowa konfiguracji. racji.
P2, powodując wprowadzenie pierwszy i ostatni takt w wy- Podczas procesu progra- Polecenia stanowią poje-
go w tryb programowania. Po padku odczytu są jałowymi, mowania szeregowego nie dyncze litery ASCII:
upływie minimum 1s mołe- a w wypadku zapisu do mik- musimy kasowaĘ uprzednio - H - ładuj program,
my przesłaĘ do mikrokontro- rokontrolera wymaga si, aby zapisanych informacji. - I - czytaj program,
lera P2 polecenia związane był wpisywany bit 0. Stąd po- - J - czytaj konfiguracj,
z procesem programowania. chodzi forma zapisu danych Oprogramowanie - L - czytaj dane,
Polecenia przesyłane są po- 0,dane(14),0. Podczas zapi- emulatora - M - pisz dane,
cząwszy od najstarszego bitu. su i odczytu z pamici da- Program obsługi emulato- - Y - koniec danych.
Wszystkie polecenia są sześ- nych uwzgldniamy tylko ra wykonuje nastpujące za- Przykładowo, emulator po
ciobitowe (tab. 1). pierwsze osiem bitw, mimo dania: odebraniu polecenia H wy-
tego taktowaĘ musimy 16 bi- - programowa emulacja łą- konujeinicjalizacjtrybu pro-
tw. cza szeregowego RS232 gramowania mikrokontrolera
Cechą szczeglną mikro- 19200,N,8,1, emulującego, przełącza odpo-
kontrolerw rodziny PIC jest - interpretacja przychodzą- wiednio przekaniki i czeka
to, łe programujemy nietylko cych danych i polece, pewien czas na ustalenie si
sposb działania mikrokont- - konwersja odebranych da- stykw. Nastpnie oczekuje
rolera, lecz rwnieł jego kon- nych z formatu INHX8M na znaku :. Przesłanie dowol-
figuracj. Mołemy zaprogra- binarny, nego innego znaku lub zakł-
mowaĘrodzajzegarasystemo- - komunikacjaz mikrokontro- cenie powodujące zmian in-
wego, watchdog, zablokowaĘ lerememulującym program, formacji przesłanej powodują
dostp do odczytu naszego - zapis i odczyt danych pro- koniec procesu programowa-
programu. Wyczerpującą lite- gramu oraz konfiguracji nia i wygenerowanie przez
ratur, dane techniczne, algo- mikrokontrolera emulujące- emulator komunikatu o bł-
rytmy programowania, wiele go. dzie programowania.
przykładowych procedur oraz Interesującym jest fakt, łe Nastpny bajt informuje
podstawowe oprogramowanie udało si zmieściĘ w pamici o ilości danych LL, ktre
uruchomieniowe znajdziesz operacyjnej mikrokontrolera bdą przesłane. Ta informacja
drogi Czytelniku podadresem dosyĘ złołone oprogramowa- jest wałna, poniewał przesy-
http://www.microchip.com. nie. Naleły to przypisaĘ nie- łane rekordy mogą maksymal-
Dlatego nie bd tutaj opisy- zwykle efektywnemu kodowi nie mieĘ 16 bajtw,lecz mogą
wał algorytmw programowa- mikrokontrolerw rodziny byĘ krtsze. Dziki tej danej
nia konfiguracji oraz pamici PIC. Drugą ciekawostką jest wiemy kiedy koczy si re-
danychi programuzwłaszcza, mołliwośĘ uzyskania stosun- kord i odebrany bajt nie jest
łe firma prezentuje wiele rł- kowo dułej prdkości komu- daną do zapisu, lecz sumą
nych algorytmw poprawiają- nikacji (19200bit/s), ze sprz- kontrolną.
cych pewnośĘ i trwałośĘ za- tową obsługą tego procesu: Nastpnie jest przesyłany
pisu. RTS-CTS, przy wolnym zega- adres AAAA informujący,
Proces programowania pa- rze taktującym mikrokontro- gdzie w pamici programu
mici programu przebiega na- ler - czstotliwośĘ zaledwie mają byĘ umiejscowione da-
stpująco: 4MHz. ne, potem typ danych
- inicjalizacja poprzez RB6=0 Omwienie wszystkich 00oraz dane DD. Ostat-
i RB7=0, a nastpnie procedur programu emulatora nim bajtem jest ośmiobitowa
RESET=VHH (w tym mo- i programu komunikacyjnego, liczba SS liczona jako zero
mencie zerowany jest licz- ze wzgldu na ich liczb, ra- minus suma wszystkich po-
nik programu), czej nie wchodzi w rachub. przedzających danych za wy-
Rys. 3.
Elektronika Praktyczna 2/98
Elektronika Praktyczna 5/99
92
P R O J E K T Y C Z Y T E L N I K Ó W
mikrokontroler emulatora puteraIBM PC, nadawanyjest (PIC16C84) wymaga napicia
generuje Y i koczy pro- pełny sygnał odpowiadający co najmniej 12,5V, podwy-
ces programowania. formatowi 19200, N, 8, 1. łszyłem napicie wyjściowe
Polecenia programowa- Aby zsynchronizowaĘ stabilizatora do 13,2V stosu-
nia konfiguracji i pamici działanie komputera i emula- jąc w obwodzie GND stabili-
danych przebiegają podob- tora, podczas komunikacjites- zatora podwjną diod
nie. Inne są tylko komuni- tuje si sygnały CTS i wysta- BAP811.Jełelichcemy uproś-
katy w procesie programo- wia odpowiednie sygnały ciĘ proces uruchamianiaemu-
wania i inne adresy, ktry- RTS, by nadawaĘ tylko wte- latora, powinniśmy zastąpiĘ
mi operuje mikrokontroler dy, gdy urządzenie jest goto- przetwornic i stabilizator li-
Rys. 4. emulatora. Program komu- we do odbioru.
nikacyjny nie zawiera ob-
jątkiem znaku :. Wszystkie sługi programowania pamici Rozwiązania sprztowe
WYKAZ ELEMENTÓW
elementy pliku HEX są typu danych. emulatora
znakowego. Suma odnosi si Na rys. 3 przedstawiono Emulator został zaprojek- Rezystory
do wartości jaką reprezentują. oglny algorytm programu. towany z myślą o maksymal-
R3, R4, R5, R6, R7, R8, R9,
: L L A A - Programtestujestan pinu RA3 nej prostocierozwiązasprz- R10, R11, R12, R13: 4,3k&!
AA00DDDDDDDDDDDDDDDDSS mikrokontrolera PIC16C84.Je- towych (schemat na rys. 4).
Kondensatory
- format HEX łeli wystąpi niski poziom lo- Niestety, wiąłe si z tym do-
C1: 4,7nF
Po poprawnym odebraniu giczny, program przechodzi syĘ uciąłliwy proces urucha-
C2, C3, C5, C6: 22pF
całegorekordui umiejscowie- do obsługi procedury łącza miania sprztu.
E1, E2: 4,7F/6,3V
niu go w pamici danych szeregowego. Odebrany znak Powielacz napicia wyko-
Półprzewodniki
(DAN0..DAN15), dane są ko- jest interpretowany i weryfi- nano w oparciu o generator
P1, P2: PIC16C84
lejno konwertowane do posta- kowana jest jego poprawnośĘ. astabilny z elementw N1
D1, D2, D4, D6, D7: 1N4148
ci binarnej i zapisywane W zalełności od odebranego i T1. Uzwojenie pierwotne 1-
D3: 1N4002
w pamici mikrokontrolera znaku wykonywane są proce- 2 transformatora zawiera 50
emulującego.Jełelisuma kon- dury omwione powyłej. zwojw, uzwojenie wtrne 3- D5: DZ6,2V
trolna odebranych danychjest Procedura obsługi łącza 4 180 zwojw, uzwojenie
D8: BAP811 Z1,2V
nieprawidłowa generowany szeregowego po wykryciu nis- sprzgające 7-8 10 zwojw,
stabilizator 1,2V
jest błądsumy kontrolnejA. kiego stanu RA3 bada popra- uzwojenie zwrotne 5-6 50
N1: BC239
Po dokonaniu zapisu jest wnośĘ sygnału START. Pro- zwojw. CałośĘ nawinito na
N2, N3: BC309
on weryfikowany z danymi cedura jest wykonywana, je- rdzeniu kubkowym o średni-
N4: UA78L12CP
odebranymi. Jełeli zapis jest łelisygnał STARTtrwa odpo- cy 12 mm, o AL=340. Uru-
Różne
poprawny, generowany jest wiednio długo. Po popra- chomienie generatora wyma-
P4: złącze 6-pinowe
znak sukcesu S i mikrokon- wnym odebraniu sygnału ga odpowiedniego wyfazowa-
Q2: złącze 9-pinowe
troler emulatora oczekuje ko- START procedura prbkuje nia uzwoje. Napicie z prze-
(RS232)
lejnego rekordu. W przeciw- stan pinu RA3 w odpowied- twornicy jest prostowane
20PIN: złącze emulacyjne
nym wypadku generowany nich momentach osiem razy. i stabilizowane stabilizatorem
Prz1, Prz2: przekazniki
jest komunikat G - błąd za- Procedura nie bada bitu kon- N4 zbudowanym z układu
Matsushita HD1-M-12DC
pisu. Po odebraniu ostatniego troli parzystościi sygnałusto- 78L12. Poniewał mikrokont-
T1: transformator wg opisu
rekordu :000001FF, jełeli pu. roler do inicjalizacji procesu
wszystkie poprzednie opera- W trakcie nadawania programowania (PIC16F84) C4: dobierany oscylator
kwarcowy
cje przebiegły pomyślnie, przez mikrokontroler do kom- i do procesu programowania
Elektronika Praktyczna 5/99
93
P R O J E K T Y C Z Y T E L N I K Ó W
niowy nowoczesnym, impul- aby wprowadziĘ w oprogra- Sposb posługiwania si w specjalnym gniazdku. Mo-
sowym stabilizatorem pod- mowaniu mikrokontrolera emulatorem łemy łatwo wymieniĘ rezona-
wyłszającym napicie. negacj bitw nadawanych. Po podłączeniu emulatora tor na połądany przez emu-
W obwodzie RB6 i RB7 Amplituda sygnałw nada- do gniazda com1 lub com2 lowany układ. Najistotniejszą
mikrokontrolera emulującego wanych na poziomie 4,5V wydajemy polecenie picemul uwagą jest ta, aby nie urucha-
P2 zastosowałem dwa minia- w zupełności wystarcza do . Powin- miaĘ urządze prototypowych
turowe, jednostykowe prze- transmisji sygnału na odleg- niśmy rwnieł zadbaĘ o kon- na sprzcie ostatniej genera-
kaniki firmy Matsushita ty- łośĘ do 2m. figuracj mikrokontrolera. Pa- cji.
pu HD1-M-DC12, ktre jak si Zegar mikrokontrolera rametry konfiguracji mikro- Janusz Raniszewski
okazało sprawnie pracują emulatora P1 zbudowałem kontrolera wpisujemy dowol-
rwnieł przy napiciu zasila- stosując generator RC. Stabil- nym edytorem tekstowym do Literatura
jącym 5V. nośĘ takiego generatora wy- pliku econfig.dat. Format 1.Wojciech Mielczarek
Standard RS232 wymaga starcza do utrzymania łącz- konfiguracji powinien byĘ dla Szeregoweinterfejsycyfro-
dla linii transmisyjnych na- ności w warunkach laborato- osb znających rodzin PIC we wyd. Helion 1993
picia bipolarnego o ampli- ryjnych. Niestety wiąłe si zupełnie jasny. Emulator po- 2.Microchip Technology Inc.
tudzie od 3 do 15V [1]. Prak- z tym koniecznośĘ dokładne- siada złącze P4 słułące do PIC16/17 data book 1995/
tyka wykazała, łe ogromna go dobrania R i C generatora ustawienia zegara mikrokon- 1996
wikszośĘ łączy w kompute- tak, aby otrzymaĘ wartośĘ trolera. Naleły zwrciĘ uwa- 3.Atmel Corporation AVR
rach IBM PC zadowala si czstotliwości zegara 4MHz. g, aby sprztowa konfigura- enhaced RISC microcontro-
dodatnim napiciem unipo- WartośĘ t musimy zmierzyĘ cja generatora zegara była ler data book 1997
larnym. Mołemy wic zre- na pinie OSC2 mikrokontrole- zgodna z ustawieniem w pli- Łrdła
zygnowaĘ z tranzystora N2 ra P1 i powinna wynosiĘ ku econfig.dat. Kwarc gene- 1.http://www.microchip.com
i rezystora R4, pamitając 1MHz. ratora zegara znajduje si 2.http://www.atmel.com
Elektronika Praktyczna 2/98
Elektronika Praktyczna 5/99
94


Wyszukiwarka

Podobne podstrony:
Computer Emulatoren Fremdsysteme auf dem PC nachgebildet
Mikrokontrolery PIC w praktycznych zastosowaniach mipicp
symulator EPROM i EEPROM do PC 1
wysokościomierz z mikrokontrolerem PIC 2
mini przetwornik A C do PC
radio (17MHz) do PC
wzmacniacz dzeięku do PC
Programowalna karta I O do PC
poczwury przetwornik AC do PC
karta zasilacz do pc ta
myszka do PC dla osób niepełnosprawnych 2
Zastosowanie mikrokontrolera 8051 do sterowania ATA ATAPI CDROM
radiowy pilot do PC

więcej podobnych podstron