Uniwersalny zestaw uruchomieniowy ZL4PIC

Transkrypt

Uniwersalny zestaw uruchomieniowy ZL4PIC
Uniwersalny zestaw uruchomieniowy ZL4PIC
Uniwersalny zestaw uruchomieniowy ZL4PIC przeznaczony jest testowania aplikacji
realizowanych na bazie mikrokontrolerów PIC. Jest on przystosowany do współpracy z
mikrokontrolerami PIC12F/16F w obudowach DIP8, DIP14, DIP18, DIP28 i DIP40.
Budowa zestawu uruchomieniowego
Schemat blokowy uniwersalnego zestawu uruchomieniowego ZL4PIC przedstawia rys. 1.
Układ składa się z następujących bloków:
– blok mikrokontrolera – blok składający się z mikrokontrolera PIC 16FXX (może to być układ
w obudowie 8, 14, 18, 28 lub 40-nóżkowej), kwarcowego generatora sygnałów zegarowych,
układu wytwarzającego sygnał zerowania MCLR, złącza programatora oraz zestawu zwór
pozwalającego na skonfigurowanie zestawu do pracy z zainstalowanym mikrokontrolerem;
– blok przycisków – blok składający się z czterech przycisków S1, S2, S3 i S4 dołączonych
bezpośrednio do wyprowadzeń mikrokontrolera odpowiednio: RB0, RB1, RB2 i RB3;
– blok diod LED – blok składający się z czterech diod LED D3, D4, D5 i D6 dołączonych
bezpośrednio do wyprowadzeń mikrokontrolera odpowiednio: RA0, RA1, RA2 i RA3; diody
można odłączyć od mikrokontrolera za pomocą przełączników SD2;
– blok wyświetlaczy siedmiosegmentowych – blok składający się z czterech wyświetlaczy LED
ze wspólną katodą połączonych w sposób umożliwiający sterowanie multipleksowane; anody
segmentów dołączone są portu PORTB, natomiast katody wyświetlaczy DS1, DS2, DS3 i DS4
są dołączone do wyprowadzeń mikrokontrolera odpowiednio: RA0, RA1, RA2 i RA3; katody
można odłączyć od mikrokontrolera za pomocą przełączników SD1;
– blok wyświetlacza alfanumerycznego – blok umożliwiający podłączenie alfanumerycznego
wyświetlacza LCD sterowanego kontrolerem HD44780 firmy Hitachi; wyprowadzenia
wyświetlacza dołączone są bezpośrednio do portu PORTB;
– blok konwertera poziomów – blok umożliwiający połączenie mikrokontrolera z komputerem za
pomocą interfejsu RS-232C lub, stosując konwerter RS-232/USB, za pomocą interfejsu USB;
– odbiornik podczerwieni ze wzmacniaczem TFMS5360 pozwalający na odbiór sygnałów
pilotów zdalnego sterowania standardu RC5 na częstotliwości nośnej 36 kHz; wyjście
odbiornika można podłączyć do wyprowadzenia RB0 za pomocą zwory JP2;
– złącze magistrali 1-wire do podłączenia układów poprzez magistralę 1-wire, np. termometru
DS1820; sygnał danych można dołączyć do wyprowadzenia RA4 za pomocą zwory JP3;
– sygnalizator akustyczny – przetwornik piezoelektryczny dołączany do wyprowadzenia RA2 za
pomocą zwory JP4;
– potencjometr pozwalający na podanie regulowanego napięcia do przetwornika analogowocyfrowego; regulowane napięcie dołączane jest do wyprowadzenia RA0 za pomocą zwory JP1;
– blok zasilania – blok dostarczający napięcie niezbędne do poprawnej pracy zestawu.
Rys. 1. Schemat blokowy uniwersalnego zestawu uruchomieniowego ZL4PIC
Dołączanie układów peryferyjnych do mikrokontrolera odbywa się za pomocą zwór i
przełączników. Wykaz wszystkich zwór konfiguracyjnych przedstawiono w tab. 1. Szczegółowe
omówienie znaczenia poszczególnych elementów konfiguracyjnych znajduje się w dalszej części
dokumentu.
Tabela 1. Zestawienie wszystkich zwór konfiguracyjnych na płytce
zestawu uruchomieniowego ZL4PIC
Zwora
Układ
Wyprowadzenie
Zwora
Układ
Wyprowadzenie
JP1
potencjometr
RA0
JP9
JP2
odbiornik podczerwieni
RB0
JP10
JP3
interfejs 1-wire
RA4
JP11
TxD do modułu USB
–
JP4
sygnalizator
RA2
JP12
RxD do modułu USB
–
JP5
rezonator kwarcowy
(DIP14)
GPIO.5
JP13
RS-232C – TxD
RB2/RC7
GPIO.4
JP14
RS-232C – RxD
RB1/RC6
JP6
JP7
JP8
rezonator kwarcowy
(DIP18, DIP28, DIP40)
RA7
RA6
programator (DIP14)
GPIO.0
GPIO.1
Blok mikrokontrolera
Blok mikrokontrolera pozwala na podłączenie do zestawu uruchomieniowego dowolnego
mikrokontrolera PIC z serii 12FXX oraz 16FXX. Na płytce umieszczono podstawki DIP14, DIP18,
DIP28 i DIP40, które pozwalają na wykorzystanie jednego z poniższych układów:
– układy w obudowie 8-nóżkowej: PIC12F508/509, PIC12F629/675/683,
– układy w obudowie 14-nóżkowej: PIC16F505, PIC16F630/676, PIC16F684/688,
– układy w obudowie 18-nóżkowej: 16F627/628/627A/628A/648A, 16F818/819, 16F716,
16F84A, 16F87/88,
– układy
w
obudowie
28-nóżkowej:
16F72/73/76,
16F737/767,
16F870,
16F872/873/873A/876/876A, 16F913/916,
– układy w obudowie 40-nóżkowej: 16F74/77, 16F747/777, 16F871, 16F874/874A/877/877A,
16F914/917.
Generator sygnału zegarowego mikrokontrolera PIC może być synchronizowany za pomocą
rezonatora kwarcowego 4MHz, który podłączany jest zworkami JP5 i JP6 (do podstawki DIP14)
lub JP7 i JP8 (do pozostałych podstawek). Rezonator można również odłączyć, gdy wystarczy
wbudowany generator RC lub gdy w układzie potrzebne są dodatkowe wejścia/wyjścia cyfrowe
ogólnego przeznaczenia.
Ustawienia zworek JP5, JP6, JP7 i JP8 dla poszczególnych konfiguracji przedstawiono w
tab. 2. Dołączenie rezonatora kwarcowego do podstawki DIP14 wykonuje się poprzez ustawienie
zworek JP5 i JP6 w pozycji 1-2, natomiast zworek JP7 i JP8 w pozycji 2-3. Aby dołączyć rezonator
do podstawek DIP18, DIP28 i DIP40 należy zworki JP5 i JP6 ustawić w pozycji 2-3, natomiast
zworki JP7 i JP8 w pozycji 1-2.
Tabela 2. Ustawienie zworek JP5, JP6, JP7 i JP8 dla różnych konfiguracji połączenia
rezonatora kwarcowego
JP5
JP6
JP7
JP8
1-2
1-2
2-3
2-3
rezonator dołączony do podstawki DIP14
2-3
2-3
1-2
1-2
rezonator dołączony do podstawek DIP18, DIP28 i
DIP40
2-3
2-3
2-3
2-3
rezonator odłączony, korzystanie z wewnętrznego
generatora RC
pozostałe konfiguracje
Efekt
zabronione
Programowanie układu odbywa się poprzez złącze PROG, którego styki zostały dołączone do
odpowiednich wyprowadzeń mikrokontrolera. Można wykorzystać zarówno dedykowany
programator (ZL12PRG lub ZL15PRG), jak również inny programator, jeżeli układ jego
wyprowadzeń jest zgodny z układem wyprowadzeń na złączu PROG.
Dane programujące mikrokontroler podawane są na wyprowadzenia RB6 i RB7
mikrokontrolera dla układów w obudowach 18, 28 i 40 nóżkowych, natomiast w przypadku
mikrokontrolerów w obudowach 8 i 14 nóżkowych należy podać je na wyprowadzenia GPIO.0 i
GPIO.1, które są równoważne wyprowadzeniom RA0 i RA1 większych mikrokontrolerów. W
związku z tym istnieje możliwość dołączenia sygnałów programujących do odpowiednich
końcówek w zależności od zastosowanego mikrokontrolera za pomocą zwór JP9 i JP10. Ustawienie
zwór JP9 i JP10 dla różnych układów przedstawiono w tab. 3.
Tabela 3. Ustawienie zworek JP9 i JP10 dla różnych układów
JP9
JP10
1-2
1-2
układy w obudowach 8 i 14 nóżkowych
2-3
2-3
układy w obudowach 18, 28 i 40 nóżkowych
pozostałe
konfiguracje
Programowane układy
zabronione
Blok wyświetlacza alfanumerycznego
Na płytce zestawu uruchomieniowego znajduje się złącze CON4, do którego można podłączyć
moduł alfanumerycznego wyświetlacza LCD sterowanego kontrolerem HD44780 firmy Hitachi lub
kompatybilnym. Do złącza doprowadzone zostały niezbędne sygnały (jest to minimalny zestaw
sygnałów pozwalający na prawidłowe wysterowanie wyświetlacza):
– zasilanie VCC i GND;
– napięcie regulacji kontrastu wyświetlacza poprzez potencjometr R25;
– 4-bitowa magistrala danych (D4-D7);
– 2-bitowa magistrala sterująca (RS, E).
Sygnały magistrali danych D4-D7 zostały podłączone do wyprowadzeń PB4-PB7
mikrokontrolera, natomiast sygnały sterujące RS i E zostały podłączone do wyprowadzeń
odpowiednio PB2 i PB3. Wyprowadzenie R/!W jest podłączone na stałe do masy (wymuszony
poziom logiczny 0), przez co dane można wyłącznie wysyłać do wyświetlacza.
Zastosowanie ograniczonego zestawu sygnałów jest szczególnie ważne, gdy potrzebna jest
duża ilość sygnałów cyfrowych do sterowania innych układów. Wadą takiego rozwiązania jest brak
możliwości odczytywania danych z wyświetlacza. Nie można w związku z tym sprawdzić, czy
wyświetlacz jest gotowy na przyjęcie kolejnych danych. Aby uniknąć problemów należy przy
wysyłaniu danych do wyświetlacza stosować opóźnienia, których długość można znaleźć w
dokumentacji technicznej kontrolera HD44780. Dotyczy to zwłaszcza instrukcji sterujących,
których czas wykonania może znacznie się różnić.
Połączenia pomiędzy mikrokontrolerem a złączem wyświetlacza alfanumerycznego są
wykonane na stałe i nie ma możliwości odłączenia ich za pomocą przełączników. W związku z tym
w przypadku, gdy nie jest konieczne stosowanie wyświetlacza należy wyjąć go z gniazda, żeby nie
zakłócał działania pozostałych bloków na płytce zestawu uruchomieniowego.
Blok wyświetlaczy siedmiosegmentowych
Na płytce zestawu uruchomieniowego znajdują się cztery wyświetlacze siedmiosegmentowe
LED ze wspólną katodą (DS1-DS4), połączone w sposób umożliwiający realizację wyświetlania
multipleksowanego. Wyświetlanie multipleksowane (inaczej zwane sekwencyjnym) polega na
wyświetlaniu w jednej chwili segmentów tylko jednego wyświetlacza, przy pozostawieniu
pozostałych wyświetlaczy wygaszonych. Ponieważ oko ludzkie wykazuje bezwładność (tzn. nie
potrafi odróżnić szybko zmieniających się obrazów, które „zlewają się” w jeden obraz), szybkie
wyświetlanie pojedynczych cyfr na oddzielnych wyświetlaczach powoduje wrażenie wyświetlania
wszystkich cyfr jednocześnie.
Zaletą takiego sposobu wyświetlania jest znaczące zmniejszenie ilości koniecznych sygnałów
sterujących. Każdy wyświetlacz wymaga 8 sygnałów: 7 dla poszczególnych segmentów i jednego
dla kropki dziesiętnej. Cztery wyświetlacze potrzebują więc 32 sygnałów sterujących. W przypadku
wyświetlania multipleksowanego potrzebnych jest tylko 12 sygnałów sterujących: 8 dla segmentów
i kropki oraz 4 dla wyboru wyświetlanej cyfry.
Proces wyświetlania multipleksowanego wymaga ciągłego nadzorowania przez mikrokontroler
(wybór wyświetlanej cyfry, opóźnienia, proces musi być nieprzerwany), co utrudnia
programowanie.
Sygnały sterujące segmentami wyświetlaczy dołączone są do portu PORTB, w kolejności: PB0
– „a”, PB1 – „b”, PB2 – „c”, PB3 – „d”, PB4 – „e”, PB5 – „f”, PB6 – „g”, PB7 – kropka dziesiętna.
Podanie logicznej jedynki na wyprowadzenie powoduje aktywację wyświetlania danego segmentu.
Sygnały włączające poszczególne wyświetlacze dołączone są do wyprowadzeń portu PORTA,
w kolejności: DS1 – RA0, DS2 – RA1, DS3 – RA2, DS4 – RA3. Włączenie danego wyświetlacza
następuje po podaniu logicznej jedynki na wyprowadzenie mikrokontrolera. Sygnały te można
odłączyć od mikrokontrolera za pomocą zestawu włączników SD1.
Blok konwertera poziomów
Zadaniem bloku konwertera poziomów jest przekształcenie poziomów napięć wytwarzanych
przez mikrokontroler (poziomy TTL, a więc 0V dla logicznego zera oraz 5V dla logicznej jedynki)
do poziomów wymaganych przez interfejs RS-232C (10V dla logicznego zera oraz –10V dla
logicznej jedynki), jak również przekształcenie poziomów napięć interfejsu RS-232C do poziomów
napięć akceptowanych przez mikrokontroler.
Zmiana poziomów napięć wykonywana jest przez układ scalony MAX232. Sygnały o
poziomach RS-232C zostały doprowadzone do gniazda CON1, natomiast sygnały o poziomach
TTL do wyprowadzeń mikrokontrolera za pomocą zwór JP13 (sygnał TxD) i JP14 (sygnał RxD).
Istnieje możliwość wybrania wyprowadzeń RB1 i RB2 (układy w obudowach DIP18 np. 16F62X)
lub RC6 i RC7 (układy w obudowach DIP28 i DIP40 np. 16F87X).
Istnieje również możliwość połączenia mikrokontrolera z komputerem za pomocą interfejsu
USB poprzez moduł konwertera RS-232C/USB dołączany do złącza CON2. Do poprawnej pracy
układu konieczne jest przekierowanie sygnałów TxD i RxD do modułu za pomocą zwór JP11 i
JP12.
Blok przycisków i blok diod LED
Na płytce zestawu znajdują się cztery przyciski S1, S2, S3 i S4 oraz cztery diody LED D3, D4,
D5 i D6. Przyciski są dołączone bezpośrednio do wyprowadzeń mikrokontrolera RB0-RB3.
Wciśnięcie przycisku powoduje zwarcie odpowiedniego wejścia do masy, co jest sygnalizowane
pojawieniem się logicznego zera na wejściu. Do poprawnej pracy wymagane jest skonfigurowanie
wejścia z rezystorem podciągającym poprzez wyzerowanie 7 bitu w rejestrze OPTION_REG (bit !
RBPU). W przeciwnym przypadku na wejściu mikrokontrolera mogą pojawiać się zakłócenia, które
będą błędnie interpretowane jako naciśnięcie przycisku.
Diody LED D3-D6 podłączone są wyprowadzeń RA0-RA3 przez zestaw przełączników SD2,
dzięki którym można je odłączyć i wykorzystać wyprowadzenia do innych celów.
Pozostałe elementy zestawu
Na płytce uniwersalnego zestawu uruchomieniowego znajdują się układy peryferyjne
najczęściej wykorzystywane w praktycznych aplikacjach.
Odbiornik podczerwieni ze wzmacniaczem TFMS5360 pozwala na odbiór sygnałów pilotów
zdalnego sterowania, nadawanych na częstotliwości nośnej 36kHz. Zdemodulowany sygnał z
wyjścia układu można dołączyć do wejścia RB0 mikrokontrolera, poprzez ustawienie zwory JP2
(gdy zwora jest ustawiona w pozycji „1-2”).
1-wire jest to interfejs opracowany przez firmę Dallas Semiconductor do komunikacji z
urządzeniami zewnętrznymi, wymagający tylko jednej linii danych, która stanowi również zasilanie
układu. Przepustowość tego interfejsu jest niewielka, rzędu dziesiątek kbps, wystarczająca do
podłączenia takich układów, jak: termometry cyfrowe, przetworniki pomiarowe, identyfikatory
iButton itp.
Do podłączenia urządzeń wykorzystujących interfejs 1-wire przewidziane zostało złącze
CON3. Urządzenie może być podłączone zarówno w konfiguracji z dodatkowym zasilaniem
(wymagane są wtedy 3 przewody) lub bez niego (wystarczą 2 przewody). Sygnał danych
doprowadzany jest do wejścia RA4 mikrokontrolera, poprzez ustawienie zwory JP3 w pozycji „12”. Ustawienie zwory w pozycji „2-3” odłącza urządzenie 1-wire od wyprowadzenia RA4.
Do testowania układu przetwornika analogowo-cyfrowego znajdującego się wewnątrz
mikrokontrolera można wykorzystać znajdujący się na płytce potencjometr. Pozwala on na
uzyskanie regulowanego napięcia w zakresie od 0 do 5V. Suwak potencjometru można dołączyć do
wejścia RA0 mikrokontrolera ustawiając zworę JP1 w pozycji „1-2”.
Sygnalizowanie pracy układu może być realizowane za pomocą piezoelektrycznego
sygnalizatora akustycznego. Sygnalizator nie posiada wewnętrznego generatora, w związku z tym
cały proces generowania dźwięku realizowany jest programowo. Sygnalizator dołącza się do
wyprowadzenia RA2 ustawiając zworę JP4 w pozycji „1-2”.

Podobne dokumenty