Sprzętowy emulator procesorów AVR



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

Klocki RS485, część 4

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

Układ do automatycznego wzywania Pogotowia Ratunkowego

Na ³amach Elektroniki Praktycznej (EP 10/97) zosta³ opisany generator funkcyjny, ktûry moim zdaniem jest przyrz¹dem w zasadzie

Dekoder dzia³a podobnie jak w telefonach komûrkowych: wyúwietla

AVT Radiowy pilot do PC

Pilot do WinAmpa, część 1

dokument DOK wersja 1.0

Programator procesorów rodziny AVR AVR-T910

Wprowadzenie Znajdü Wyszukaj

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

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Zabawka programowany pojazd, część 1

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Jak zaprogramować procesor i. wgrać firmwar-e do yampp3usb. Copyright SOFT COM sp. z o. o.

Mikroprocesorowy regulator temperatury z czujnikiem Pt100

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Zestaw edukacyjny dla mikrokontrolerów ST62

Programowany zegar ze zdalnym sterowaniem

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Immobilizer z zabezpieczeniem przed porwaniem samochodu

SML3 październik

6 wiczenia z jízyka Visual Basic

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

Asynchroniczny konwerter RS232< >Midi

Tester samochodowych sond lambda

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Jednym z najlepszych sposobów poznawania nowego typu mikrokontrolera

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

Interfejs graficznych wyświetlaczy LCD

Płytka uruchomieniowa XM64

ICD Interfejs BDM dla CPU32. Marek Wnuk

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

Aplikacja interfejsu ethernetowego UNIV

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Kieszonkowy odtwarzacz MP3,

PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H

Politechnika Białostocka

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

Oscyloskop cyfrowy, kit AVT 891. Sukces w nowoczesnoúci Projektanci uk³adûw ZMD przygotowali

Klocki RS485, część 3

Selektor linii telewizyjnych

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

PRUS. projekt dokumentacja końcowa

Edytor schematów, część 2

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

ZL11ARM. Uniwersalna płyta bazowa

Emulator programator mikrokontrolerów AVR i '51 do każdego typu komputera, część 1

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Instrukcja obsługi debugera JTAG-AVR USB v2

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

Kod produktu: MP01611

2. Przyk ad zadania do cz ci praktycznej egzaminu dla wybranych umiej tno ci z kwalifikacji E.20 Eksploatacja urz dze elektronicznych

Samsung TV LCD Bordeaux 19 rozwiązywanie problemów, edycja danych EDID

yoyo ver. 6.0

ANALOGOWE UKŁADY SCALONE

Płytka uruchomieniowa XM32

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

Płyta uruchomieniowa EBX51

Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych.

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Karta adaptacyjna GSM

Yampp 3 Sprzętowy odtwarzacz MP3, część 1

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

Zdalnie sterowana karta przekaźników

2. Architektura mikrokontrolerów PIC16F8x... 13

Bezpiecznik topikowy jest jedynym

Instrukcja obs³ugi optoizolowanego konwertera MCU-01 USB - RS232/485. Wersja 0.2

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

EGZAMIN POTWIERDZAJ CY KWALIFIKACJE W ZAWODZIE Rok 2014 CZ PRAKTYCZNA

Projekt z przedmiotu Systemy Mikroprocesorowe w Automatyce Moduł z kontrolerem AtMega32, programator AVR ISP. Robert Kuczaj 6 marca 2007

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

Uniwersalny szeregowy. sterownika wyúwietlacza

ZL11AVR. Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313

INSTRUKCJA OBS UGI AR780

Instrukcja obsługi programatora AVR Prog USB v2

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

ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

KONWERTER INTERFEJSÓW USB/RS-485. Typu PD10. Instrukcja obs³ugi

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

Funkcje bezpieczeństwa

Programator mikrokontrolerów AVR

Procesor audio z wejściem S/PDIF, część 1

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

System bezstykowej kontroli dostępu

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

Zestaw Startowy EvB. Więcej informacji na stronie:

Instrukcja obsługi programatora AVR Prog USB v2

UnISProg uniwersalny programator ISP

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

KONWERTER INTERFEJSÓW RS-232/RS-485. Typu PD51 INSTRUKCJA OBS UGI

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Interfejs RS485-TTL KOD: INTR. v.1.0. Zastępuje wydanie: 2 z dnia

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Transkrypt:

Sprzętowy emulator procesorów AVR AVT 5039 Sprzętowy emulator P R procesorów O J E K AVR T Y Wzrastaj¹ca z dnia na dzieò popularnoúê procesorûw RISC z rodziny AVR, produkowanych przez firmí ATMEL, spowodowa³a istn¹ lawiní coraz to nowszych narzídzi programowych i sprzítowych wspomagaj¹cych opracowywanie programûw dla tych procesorûw. Na ³amach EP opisaliúmy juø kilka programatorûw i zestawûw uruchomieniowych, ale do pe³ni szczíúcia brakowa³o - jak do tej pory - jedynie jakiegoú prostego emulatora sprzítowego, umoøliwiaj¹cego testowanie napisanego oprogramowania w úrodowisku, dla ktûrego zosta³o przeznaczone. Kaødy elektronik wie, jak bardzo dobry emulator sprzítowy moøe u³atwiê prací i przyspieszyê tworzenie nowego oprogramowania. Jednak skonstruowanie naprawdí dobrego emulatora jest zadaniem trudnym, a uk³ady tego typu s¹ zazwyczaj doúê skomplikowane i kosztowne. Dlatego teø, pomimo øe zdawa³em sobie sprawí z koniecznoúci zaprojektowania emulatora sprzítowego dla procesorûw AVR, odwleka³em doúê d³ugo rozpoczície prac nad takim urz¹dzeniem. Wszystkie procesory z rodziny AVR mog¹ byê programowane w systemie ISP (In System Programming), co powoduje, øe stosowanie emulatorûw jest wprawdzie poø¹dane, lecz nie absolutnie konieczne. Kaødy procesor AVR moøna zaprogramowaê bezpoúrednio w jego docelowym úrodowisku bez koniecznoúci wyjmowania z podstawki, umieszczania w programatorze i ponownego instalowania w systemie. Jeøeli przy tym pracujemy w dobrze opracowanym úrodowisku programistycznym, takim jak BASCOM czy Code VisionC, to zaprogramowanie procesora i przygotowanie uk³adu do przeprowadzenia stosownych testûw sprowadza sií najczíúciej do jednego klikniícia myszk¹ lub naciúniícia jednego klawisza. Wynika z tego, øe emulator sprzítowy dla procesorûw AVR, bíd¹cy komfortowym, ale nie nieodzownym uzupe³nieniem zestawu narzídzi pracy, nie moøe byê uk³adem nadmiernie skomplikowanym ani kosztownym. Rozwi¹zanie problemu przysz³o nagle i z pokor¹ muszí przyznaê, øe bynajmniej nie jest ono moj¹ zas³ug¹. Program monitora, umoøliwiaj¹cy emulacje procesorûw AVR za pomoc¹ procesorûw AVR, powsta³ w niezawodnej jak zwykle firmie MCS Electronics, zosta³ napisany przez mojego Przyjaciela, pana Marka Albertsa. Program ten umoøliwi³ zbudowanie emulatora o dobrych parametrach, a do tego niezwykle prostego i ³atwego do wykonania. MogÍ zaproponowaê dwie metody przeprowadzania emulacji sprzítowej procesorûw AVR. Pier- 21

Rys. 1. Schemat elektryczny konwertera napięć RS232/TTL. Tab. 1. Funkcja... Możliwość realizacji Transmisja danych poprzez magistralę I 2 C... Tak Transmisja danych magistralą 1WIRE... Nie Zegar czasu rzeczywistego... Nie Obsługa klawiatury szesnastkowej (polecenie GETKBD)... Tak Odbiór kodu RC5... Nie Operacje na portach i pinach portów... Tak Obsługa wyświetlacza LCD... Tak Transmisja RS232... Tak* Zapis i odczyt z pamięci danych EEPROM... Tak Obsługa przetworników AD... Tak Obsługa przerwań zewnętrznych... Tak Multipleksowanie wyświetlaczy LED... Tak * transmisja danych poprzez RS232 jest dodatkowo symulowana programowo wsza z nich, nie wymagaj¹ca prawie øadnego dodatkowego sprzítu, polega na emulacji pracy procesora za pomoc¹ procesora tego samego typu umieszczonego w przeznaczonym dla niego úrodowisku. Jest to rozwi¹zanie bardzo proste, a do jego realizacji bídziemy potrzebowaê jedynie prostego uk³adu, ktûrego zadaniem bídzie konwersja poziomûw napiíê wystípuj¹cych na ³¹czu RS232 na poziomy napiícia TTL i odwrotnie. Taki uk³ad konwersji najproúciej wykonaê z wykorzystaniem popularnego uk³adu MAX232. Schemat konwertera zosta³ pokazany na rys. 1. Niestety, taka metoda realizacji emulacji sprzítowej niesie ze sob¹ jedno, powaøne ograniczenie: wyprowadzenia TxD i RxD procesora nie mog¹ byê wykorzystywane do niczego innego, za wyj¹tkiem obs³ugi transmisji RS232. Znacznie doskonalsze rozwi¹zanie polega na zbudowaniu uniwersalnego sprzítowego emulatora procesorûw AVR. Uk³ad taki zosta³ przeze mnie skonstruowany w oparciu o jeden z ìnajwiíkszychî procesorûw AVR - AT90S8535. Zastosowanie go pozwoli na testowanie uk³adûw zawieraj¹cych taki w³aúnie procesor lub dowolny inny z rodziny AVR posiadaj¹cy rûwn¹ lub mniejsz¹ liczbí wyprowadzeò. Za pomoc¹ tego uk³adu emulatora moøemy symulowaê prací nastípuj¹cych typûw procesorûw z rodziny AVR: AT90S2313, AT90S2343, AT90S8515, AT90S8535, AT90S4433, AT TI- NY (wszystkie typy), AT90S2323, AT MEGA161, AT MEGA16 i AT MEGA32. Nie jest natomiast moøliwe testowanie uk³adûw zbudowanych na 64-pinowych procesorach z serii AT MEGA. Proponowany uk³ad emulatora sprzítowego jest urz¹dzeniem bardzo prostym, zbudowanym z wykorzystaniem zaledwie dwûch uk³adûw scalonych. Jednak za tí prostotí i niewielki koszt wykonania urz¹dzenia musimy zap³aciê nie najwiíksz¹ szybkoúci¹ pracy emulatora. Ta w³aúnie wada uniemoøliwia symulacjí niektûrych czynnoúci, wymagaj¹cych bardzo precyzyjnego timingu (zestawienie moøliwych do emulowania funkcji zamieszczono w tab. 1). Opis dzia³ania uk³adu Schemat elektryczny uk³adu emulatora pokazano na rys. 2. Wygl¹da on pozornie na skomplikowany, ale jeøeli przyjrzymy mu sií bliøej, to z pewnoúci¹ zauwaøymy, øe ca³a prawa czíúê schematu to tylko z³¹cza, dla jasnoúci przedstawione wraz z opisem wyprowadzeò obs³ugiwanych przez nie procesorûw. ìsercemî emulatora jest zaprogramowany procesor typu AT90S8535, jeden z najbardziej rozbudowanych uk³adûw z rodziny AVR. WybÛr procesora zosta³ jednak podyktowany nie przez chíê skorzystania z jego rewelacyjnych moøliwoúci. Rzeczywistym powodem by³a liczba dostípnych wyprowadzeò, ktûra umoøliwia emulacjí praktycznie wszystkich procesorûw AVR. Na list. 1 pokazano ca³y program steruj¹cy prac¹ procesora, wraz z dyspozycjami konfiguracyjnymi i komunikatami wstípnymi, ktûre mog¹ byê wyúwietlone po pod³¹czeniu uk³adu do monitora z³¹cza RS232. Program, ktûrego treúci (nie bíd¹c jego autorem) nie komentují, jest niezwykle prosty i zajmuje w pamiíci procesora zaledwie ok. 1kB. Moøe to sprawiaê wraøenie, øe ogromne moøliwoúci '8535 zosta³y w tym uk³adzie wykorzystane tylko w niewielkim stopniu. Tak jest w istocie, procesor spe³nia tu bardzo proste funkcje i moøna nawet powiedzieê, øe sií ìmarnujeî. MyúlÍ jednak, øe wartoúê uøytkowa emulatora jest tak duøa, øe buduj¹c go moøemy pozwoliê sobie na tak¹ rozrzutnoúê i zastosowaê w nim nawet drogi i nie w pe³ni wykorzystany element. Ponadto, chcia³bym zaprezentowaê Czytelnikom swûj sposûb widzenia nowoczesnych i - co bardzo waøne - programowalnych w systemie procesorûw. Przecieø taki chip moøe pe³niê bardzo uøyteczn¹ funkcjí, o jakiej zapew- List. 1. $regfile = 8535def.dat $crystal = 11059200 $baud = 115200 Dim Krk As Byte Dim Adr As Word Dim Adrl As Byte, Adrh As Byte Dim Vl As Byte Print Emulator sprzętowy procesorów AVR Print ***********AVT - 5039************** Print Ustaw szybkość transmisji na 115200 Baud Print Emulacja procesorów następujących typów: Print AT90S2313, AT90S2323, AT90S8515 Print AT90S2343, AT90S8535, AT90S4433 Print i pozostałych z rodziny AVR, z wyjątkiem AT MEGA Do Krk = Inkey() If Krk = T Then Elseif Krk = W Then Adr = Waitkey() Vl = Waitkey() Out Adr, Vl Elseif Krk = R Then Adr = Waitkey() Vl = Inp(adr) Print Chr(vl); Elseif Krk = O Then Adrl = Waitkey() Adrh = Waitkey() Vl = Waitkey() Adr = Adrh * 256 Adr = Adr + Adrl Out Adr, Vl End If Loop 22

Rys. 2. Schemat elektryczny emulatora. ne nie myúleli jego twûrcy z firmy ATMEL. Moøe on byê czymú w rodzaju uniwersalnego, reprogramowalnego przyrz¹du laboratoryjnego. Programowanie procesorûw AVR trwa dos³ownie sekundy, a budowa potrzebnego do tego celu programatora jest banalnie prosta (np. programator AVT-871). Za³Ûømy, øe w naszej pracy wykorzystujemy miernik czístotliwoúci AVT-5034 zbudowany takøe z wykorzystaniem procesora '8535. Jeøeli w jakimú momencie okaøe sií, øe musimy skorzystaê z emulatora sprzítowego AVR, to po prostu przeprogramowujemy procesor umieszczony w mierniku (wykorzystuj¹c wbudowany w ten uk³ad interfejs ISP) i umieszczamy go w emulatorze. Po zakoòczeniu prac zwi¹zanych z emulacj¹ procesorûw AVR umieszczamy procesor z powrotem w mierniku i ponownie programujemy go w³aúciwym dla tego przyrz¹du programem. Taki cykl przeprogramowywania procesora moøemy teoretycznie wykonaê 1000 razy, tak jak podaje producent '8535. Praktyka jest jednak inna: doúwiadczalnie stwierdzono, øe procesory AVR wytrzymuj¹ ìbez szkody dla zdrowiaî znacznie wiíksz¹ liczbí programowaò. Analizuj¹c schemat pokazany na rys. 2, wielu CzytelnikÛw zauwaøy³o juø z pewnoúci¹ drastyczne odstípstwo od regu³ projektowania uk³adûw z procesorem '8535. Juø po raz drugi wystípují w roli prowokatora lekkomyúlnie Tab. 2. Kwarc 1000000Hz 4000000Hz 7372800Hz 8000000Hz 11059200Hz Baudrate Zgodność uzyskanej szybkości transmisji z zadaną 2400 0,2% 0,2% 0,0% 0,2% 0,0% 4800 0,2% 0,2% 0,0% 0,2% 0,0% 9600 7,5% 0,2% 0,0% 0,2% 0,0% 14400 7,8% 2,1% 0,0% 0,8% 0,0% 19200 7,8% 0,2% 0,0% 0,2% 0,0% 28800 7,8% 3,7% 0,0% 2,1% 0,0% 38400 22,9% 7,5% 0,0% 0,2% 0,0% 57600 7,8% 7,8% 0,0% 3,7% 0,0% 76800 22,9% 7,8% 0,0% 7,5% 0,0% 115200 84,3% 7,8% 0,0% 7,8% 0,0% 23

Rys. 3. Rozmieszczenie elementów na płytce drukowanej. lekcewaø¹cego dane zawarte w karcie katalogowej opublikowanej przez Atmela. ìstoi tam jak bykî, øe maksymalna czístotliwoúê taktowania tego procesora wynosi zaledwie 8MHz, a ja zastosowa³em rezonator o czístotliwoúci podstawowej rûwnej aø 11059200Hz. Co by³o powodem tej, byê moøe ryzykownej decyzji? OtÛø, by³¹ ni¹ chíê uzyskanie jak najwiíkszej prídkoúci transmisji danych poprzez interfejs RS232, od ktûrej w decyduj¹cy sposûb zaleøy takøe szybkoúê dzia³ania emulatora. Popatrzmy na tab. 2, w ktûrej zawarto dane zaczerpniíte z karty katalogowej procesora '8535. Rys. 4. Konfiguracja łącza szeregowego w BASCOM ie. WYKAZ ELEMENTÓW Kondensatory C1, C2: 27pF C3...C6: 4,7µF/10V C7: 100µF/10 C8: 100nF C9: 1µF/16V Rezystory R1: 10kΩ Półprzewodniki IC1: AT90S8535 IC2: MAX232 Różne CON1: 10x2 goldpin CON2: 14x2 goldpin CON3, CON4: 4x2 goldpin CON5, CON6: 20X2 goldpin Q1: rezonator kwarcowy 11,059MHz Wtyk emulacyjny 20 pin Wtyk emulacyjny 40 pin Wtyk zaciskany 20 pin Wtyk zaciskany 40 pin 0,5 m przewodu taśmowego 20 żył 0,5 m przewodu taśmowego 40 żył Z danych zawartych w tabeli wynika niezbicie, øe maksymaln¹ szybkoúê transmisji wynosz¹c¹ 115200bd moøna uzyskaê jedynie z rezonatorami kwarcowymi o czístotliwoúci 7372800Hz i 11059200Hz. CzÍstotliwoúÊ 7372800Hz mieúci sií w granicach dopuszczalnej czístotliwoúci pracy procesora '8535, ale rezonatory kwarcowe o takiej czístotliwoúci podstawowej s¹ doúê trudno osi¹galne. Kwarc 11059200Hz bez najmniejszego problemu kupimy w kaødym sklepie z czíúciami elektronicznymi i dlatego zdecydowa- ³em sií na overclocking procesora. Zabieg ten nie poci¹gn¹³ za sob¹ øadnych ujemnych skutkûw. Podczas d³ugotrwa³ych testûw emulator pracowa³ zawsze poprawnie, a jego szybkoúê pracy moøna by³o uznaê za zadowalaj¹c¹. Jeøeli jednak ktoú chcia³by rygorystycznie przestrzegaê zasad podanych w kartach katalogowych Atmela i posiada³by kwarc o czístotliwoúci podstawowej 7372800Hz, to moøe go bez problemu wykorzystaê w uk³adzie emulatora. Naleøy jednak pamiítaê wtedy o (bezwzglídnie koniecznej) zmianie polecenia konfiguruj¹cego czístotliwoúê zegara systemowego. Zamiast: $crystal = 11059200 piszemy wtedy: $crystal = 7372800 Oczywiúcie, moøna takøe zastosowaê kwarc o innej czístotliwoúci, np. 8MHz. Spowoduje to jednak znaczne zmniejszenie szybkoúci pracy emulatora oraz koniecznoúê zmiany nie tylko polecenia konfiguruj¹cego czístotliwoúê oscylatora, ale takøe okreúlaj¹cego szybkoúê transmisji. Dane potrzebne do jej okreúlenia zawarte s¹ w tab. 2. Drugim uk³adem scalonym zastosowanym w emulatorze jest popularny konwerter RS233/TTL, czyli znany chyba kaødemu elektronikowi MAX232. Za pomoc¹ tego uk³adu, wspieranego przez sprzítowy UART wbudowany w strukturí procesora AT90S8535, moøemy nawi¹zaê ³¹cznoúÊ z dowolnym komputerem wyposaøonym w interfejs RS232. Naleøy jeszcze wspomnieê o z³¹czu CON8, ktûrego przeznaczenie by³o jak dot¹d zagadkowe. Z³¹cze to nie pe³ni w uk³adzie øadnej uøytecznej funkcji i pierwotnie mia³o byê wykorzystywane jedynie podczas testowania prototypu. Umoøliwia ono do³¹czenie do uk³adu programatora ISP i przeprogramowywanie procesora bez koniecznoúci wyjmowania go z podstawki. Poniewaø jednak to z³¹cze (ani na schemacie, ani na p³ytce) w niczym nie przeszkadza, postanowi³em, podobnie jak w przypadku innych opracowanych przeze mnie uk³adûw z procesorami AVR, nie usuwaê go. Moøe ono okazaê sií wielce uøyteczne dla tych uøytkownikûw, ktûrzy zechc¹ napisaê w³asn¹ wersjí programu. Montaø i uruchomienie Na rys. 3 pokazano rozmieszczenie elementûw na p³ytce drukowanej emulatora. Ze wzglídu na znaczn¹ komplikacjí po³¹czeò p³ytka zosta³a zaprojektowana na laminacie dwustronnym z metalizacj¹ otworûw. Montaø uk³adu wykonujemy typowo, rozpoczynaj¹c od wlutowania w p³ytkí dwûch podstawek pod uk³ady scalone, a koòcz¹c na kondensatorach elektrolitycznych i z³¹czach do przewodûw taúmowych. Pomimo podjítych staraò, nie uda³o mi sií jak dot¹d ìzlokalizowaêî wtykûw emulacyjnych przeznaczonych dla pro- 24

Rys. 5. Komunikat powitalny wyświetlany w oknie terminala. cesorûw w obudowach 8-pinowych. Nie jest to jednak wiíkszy problem, poniewaø do emulacji tych chipûw moøna z powodzeniem wykorzystywaê wtyki 20- pinowe, z ktûrych bídziemy wykorzystywaê tylko 8 koòcûwek. Z pewnoúci¹ wtyk 20-pinowy o znacznych wymiarach nie zawsze zmieúci sií na p³ytce projektowanej dla procesora z oúmioma wyprowadzeniami, ale i z tym moøemy sobie poradziê stosuj¹c jedn¹ lub kilka po³¹czonych ze sob¹ podstawek precyzyjnych, ktûrych zadaniem bídzie odsuniície wtyku emulacyjnego od powierzchni p³ytki. Powaøny problem powstanie jedynie podczas przygotowywania wtyku emulacyjnego dla procesorûw w obudowach DIL28. Wtyki takie nie s¹ (chyba) produkowane, a zast¹pienie ich elementami o innej liczbie pinûw nie jest moøliwe. Mam jednak wrícz nieograniczone zaufanie do pomys³owoúci CzytelnikÛw EP i mam nadziejí, øe jakoú poradz¹ sobie z tym problemem. Ostatni¹ czynnoúci¹ bídzie wykonanie kabla ³¹cz¹cego uk³ad emulatora z komputerem. CzynnoúÊ t¹ moøemy sobie znacznie u³atwiê, jeøeli dysponujemy przewodem od uszkodzonej (øe nie powiem ìzdech³ejî) myszki. Odpadnie nam Rys. 6. Widok okna sterującego pracą emulatora. wtedy koniecznoúê lutowania z³¹cza DB25, a potrzebne nam przewody bídziemy mogli zidentyfikowaê za pomoc¹ omomierza. Emulator nie posiada w³asnego uk³adu zasilaj¹cego, a potrzebne do jego dzia³ania napiície pobierane jest z uruchamianego uk³adu mikroprocesorowego. Pos³ugiwanie sií emulatorem Wykonany uk³ad emulatora ³¹czymy z komputerem oraz z uruchamianym uk³adem mikroprocesorowym. Jeøeli jeszcze takiego uk³adu nie posiadamy i dopiero mamy zamiar go skonstruowaê, to do przetestowania poprawnoúci dzia³ania emulatora wystarczy, w pierwszym etapie, doprowadziê do niego napiície zasilania rûwne +5VDC. NapiÍcie to doprowadzamy lutuj¹c przewody np. do wyprowadzeò kondensatora C7. Kolejn¹ czynnoúci¹ bídzie odpowiednie skonfigurowanie úrodowiska BASCOM-a. Najwaøniejsz¹ spraw¹ bídzie ustawienie szybkoúci transmisji na 115200bd. Parametr ten ustawiamy w okienku OPTIONS>COMUNICATION> BAUDRATE, tak jak to zosta³o pokazane na rys. 4, a nastípnie z submenu TOOLS wybieramy opcjí TERMINAL EMULATOR. NastÍpnie musimy okreúliê, ktûry port szeregowy bídzie wykorzystywany do obs³ugi emulatora. WiÍkszoúÊ wspû³czeúnie uøytkowanych komputerûw PC posiada fabrycznie zainstalowane dwa porty szeregowe: COM1 i COM2. Do jednego z nich zazwyczaj jest na sta³e do³¹czona myszka. Drugi port pozostaje najczíúciej niewykorzystany i do niego w³aúnie do- ³¹czymy przewûd transmituj¹cy dane do i z emulatora. Jednak po uruchomieniu programu moøe sií zdarzyê, øe np. myszka umieszczona zosta³a w porcie COM1 i na ten sam port zosta³ skonfigurowany monitor. Taka sytuacja prowadzi do natychmiastowego zawieszenia pracy myszy, a my mamy wtedy dwa wyjúcia z sytuacji. Moøemy przenieúê myszkí do drugiego portu i ponownie uruchomiê komputer lub wykorzystuj¹c tyl- ko klawiaturí skonfigurowaê monitor do úledzenia wolnego aktualnie portu. Mamy teraz moøliwoúê sprawdzenia, czy poprawnie wykonaliúmy wszystkie po³¹czenia. ¹czymy port RS232 komputera z emulatorem, a nastípnie otwieramy okienko terminala interfejsu RS232. Musimy teraz wyzerowaê emulator (najlepiej poprzez zwarcie wyprowadzeò kondensatora C9). Jeøeli wykonaliúmy poprawnie wszystkie po³¹czenia i skonfigurowaliúmy prawid³owo BASCOM-a, to na ekranie terminala powinien ukazaê sií komunikat powitalny (rys. 5). Od tego momentu emulator jest gotowy do pracy. Pos³ugiwanie sií emulatorem jest dziecinnie ³atwe. Do napisanego programu musimy dodaê tylko jedno polecenie konfiguracyjne: $SIM umieszczone na pocz¹tku kodu ürûd³owego. UWAGA: przed kompilacj¹ programu przeznaczonego juø do umieszczenia w procesorze naleøy polecenie $SIM bezwzglídnie usun¹ê! NastÍpnie program kompilujemy i naciskamy klawisz F2, co zaowocuje pojawieniem sií na ekranie okienka pokazanego na rys. 6. Naleøy teraz za pomoc¹ przycisku oznaczonego symbolem uk³adu scalonego uruchomiê emulacjí sprzítow¹, a nastípnie rozpocz¹ê wykonywanie programu (przycisk oznaczony strza³k¹). Zbigniew Raabe, AVT zbigniew.raabe@ep.com.pl Wzory p³ytek drukowanych w formacie PDF s¹ dostípne w Internecie pod adresem: http://www.ep.com.pl/?pdf/grudzien01.htm. 25