• Nie Znaleziono Wyników

Poza podstawowym elementem jakim je st mikroprocesor, w skład systemu m ikroprocesorowego w chodzą dodatkowe elementy umożliwiające pracę systemu. Część z nich nie je st konieczna dla prawidłowego funkcjonowania we wszystkich przypadkach.

Informacja o elem entach peryferyjnych je st o tyle ważna, że o wyborze decyduje projektant systemu i jest to sytuacja całkowicie różna w stosunku do np. mikrokontrolera, gdzie w danej konstrukcji parametry tych układów są ustalone i nie m ogą być zmienione.

magistrala

Jest ona niezbędnym, w większości przypadków, elementem systemu m ikroprocesorow ego, zawierającym program i stale dane. W yjątkiem od reguły są układy bazujące na m ikrokontrolerach, zawierających taką pamięć wewnątrz swojej struktury.

Pamięć ROM przyłączana jest do systemu (rys.4.7) za pośrednictwem magistrali adresowej, magistrali danych oraz sygnałów sterujących. cenie, identyczne z punktu w idzenia funkcjonalnego.

Ostatnie lata przyniosły rozwój pamięci FLASH EPROM , które um ożliw iają także zapis informacji. Ich cena je st dwukrotnie wyższa od typow ych EPROM -ów, a parametry dynamiczne nieco gorsze.

Zasadnicze dwa param etry pamięci, mające znaczenie przy doborze do systemu m ikroprocesorowego to pojem ność pamięci i czas dostępu.

W typowych systemach mikroprocesorowych pojemność nie jest czynnikiem ograniczającym. Ze w zględu na błyskawiczny rozwój mikroelektroniki w ostatnich latach, dostępne są układy o pojemności do 4 M bity o strukturze szyny danych 8- i 16-bitowej. Jest to wartość wystarczająca dla typowych mikroprocesorów, których przestrzeń adresowa wynosi 64 kB (maks. 1MB).

Czas dostępu do pamięci w ybiera się mając ustalony m ikroprocesor oraz częstotliwość rezonatora kwarcowego (lub częstotliwość zewnętrznego sygnału zegarowego).

Dostępne pamięci o czasie dostępu 60ns...l50ns spełniają wym agania typowych system ów mikroprocesorowych. Przykładowo dla mikrokontrolerów z serii MCS-51 z rezonatorem 12 M Hz w ystarczają pamięci 150ns, a dla 16-bitowego mikrokontrolera Intel 80C196KC z rezonatorem 16MHz czas ten wynosi

120ns.

pamięć RAM

Pamięć RAM jest elementem systemu służącym do czasowego przechowywania danych. W większości mikrokontrolerów taka pamięć je st zawarta w wewnętrznej strukturze. Jest ona najczęściej niewielka (kilkadziesiąt do tysiąca bajtów), ale wystarczająca w typowych rozwiązaniach.

Brak wewnętrznego RAM -u lub jego niewystarczającą pojem ność wym usza rozbudow ę systemu o zewnętrzną pamięć RAM. Dołączenie układu zewnętrznego do systemu m ikroprocesorowego (rys.4.8) wyko­

nuje się analogicznie ja k w przypadku pamięci EPROM , z tym że dodatkowym sygnałem sterującym je st tu

Dostępne są także pamięci szybsze, przy czym ich koszt jest odpowiednio wyższy.

dla 2 7 1 2 8 -n = 1 3 dla 27256 - n=14 dla 2 7 5 1 2 -n = 1 5

Rys. 4.7 Typowy schemat połączenia pa­

mięci EPROM w systemie pP

rozdział 4 - D obór sterowania dedykowanego urządzeń energoelektronicznych (system doradczy) przechowywane dane (podlegające zmianom w czasie pracy sterownika). C echą w yróżniającą je st to, że m ożliwe jest utrzymanie jej zawartości także bez napięcia zasilania (sterownik wyłączony). Jest to w ięc alternatywa dla pamięci RAM z podtrzymaniem bateryjnym, przy czym znacznie wygodniejsza w użyciu i tańsza.

Istnieją dwa rozwiązania ze w zględu na sposób transmisji danych. S ą to rozwiązania:

- z równoległym transm isją danych oraz - szeregową transm isją danych.

Pierwsze rozwiązanie ma wyprow adzenia zew nętrzne skonstruowane tak jak w pam ięciach RAM. Drugie natom iast tak jak pokazuje rysunek 4.9.

Jak widać z rysunku pamięć EEPROM szeregow a wymaga dodatkowych sygnałów sterujących. Typowo wymagane są:

- sygnał wyboru układu CS,

- sygnał zegarowy SK, na zboczach którego przyjmowane s ą informacje wejściowe i wysyłane są sygnały wyjściowe,

- sygnał wejściowy DI, - sygnał wyjściowy DO.

Wszystkie te sygnały są obsługiwane programowo. Ich programowa obsługa nie stwarza większych problem ów, niezależnie od systemu mikroprocesorowego. Z aletą pamięci szeregowej je st jej niew ielka cena i m niejsza ilość linii łączących j ą z systemem. Jej stosowanie ma sens, gdy jest potrzebna niew ielka liczba bajtów pamięci (kilkanaście - kilkaset) do zapisu i odczytu, których zawartość ma być utrzym ana przy braku napięcia zasilania.

Przykładem zastosowania może być [B6], gdzie zastosowano taką pamięć do przechow yw ania param etrów pracy przekształtnika (m inim alną i m aksym alną częstotliwość pracy falownika, w artości ograniczenia prądow ego itp.).

Zasadniczymi parametrami pamięci EEPROM są: pojemność, czas dostępu podczas odczytu i czas trw ania operacji zapisu.

Pojemności tych układów m ieszczą się w zakresie od 16 bajtów (dla najm niejszych pamięci szeregowych) do 64 kB (dla równoległych).

Czas dostępu pamięci równoległych ma nieco w yższą wartość niż czas dostępu układów EPROM , typowo:

150...300ns; produkowane są także układy o czasie dostępu 70ns.

W przypadku pamięci szeregowych, ze względu na m echanizm komunikacji, czas dostępu musi zależeć od sposobu organizacji procedur odczytu. Odczyt tu nie następuje przez magistralę danych, w ięc czas dostępu ma tu inne znaczenie. Szybkość transm isji jest wyznaczona m aksymalną częstotliw ością sygnału synchronizującego (zegarowego) SK, która wynosi dla typowych pamięci 1MHz.

Zazwyczaj częstotliwość sygnału synchronizującego ustala się na niższym poziomie ze w zględu na trudności zorganizow ania programowej procedury komunikacji.

Szybkość bezpośredniej transmisji z zew nątrz do układu EEPROM nie odzwierciedla istoty całego procesu zapisu. Całkow ity czas zapisu je st określony czasem trw ania wewnętrznej procedury zapisu pojedynczego bajtu do pamięci. Czas ten w zależności od producenta, wynosi on od 1 do lOms, co może stać się param etrem krytycznym w niektórych sytuacjach. Przykładowo przy potrzebie zapisania wielu bajtów, pom iędzy zapis poszczególnych bajtów należy wprowadzić odpowiednie opóźnienia.

rozdział 4 - D obór sterowania dedykowanego urządzeń energoelektronicznych (system doradczy)

dekoder pam ięci

D ekoder pamięci to układ logiczny (rys.4.10), który na podstawie sygnałów w ejściow ych (np. A i5..A n , WR\, RD\), aktywizuje jedno ze swoich wyjść (np. O1..O5). Sygnały tych wyjść (CS) służą do wyboru odpowiedniego elem entu pamięci do którego inform acja jest wpisywana lub zeń odczytywana. W prostych systemach m ikroprocesorowych dekoder w postaci jaw nej (jako osobny układ scalony) może w ogóle nie istnieć, (np. gdy mamy tylko jed en lub dwa elementy pamięci w przestrzeni adresowej)

Sygnał wyboru elem entów (CS) posiada właściwy czas trwania i odpow iednią polaryzację. Dekoder wykorzystuje część linii adresowych i niektóre sygnały sterujące (RD\, WR\ i in.), na ich podstawie generuje

Typowe dekodery obejm ują grupę układów logicznych (np. 74HC139) o zdefiniowanych prostych funkcjach, dających tylko możliwość równomiernego podziału przestrzeni adresowej, co nie znajduje zastosowania w złożonych zadaniach. Z tego powodu bardzo często tworzy się dekodery dedykowane używając układów programowalnych (PAL, GAL - dodatek 2).

Pozw alają one na realizację funkcji kom bina­

cyjnych i sekwencyjnych. Szeroka gama oferowanych układów PAL, GAL, posiadająca zróżnicowane liczby wejść i wyjść umożliwia na zaprojektowanie zoptymalizowanych dekoderów.

magistrala

Rys. 4.10 Schemat w yprowadzeń typowego układu dekodera pamięci

układy w ejść/w yjść cyfrow ych (bufory)

Podstaw ow ą funkcją system ów mikroprocesorowych jest komunikacja z otoczeniem za pom ocą sygnałów cyfrowych. Typowe mikrokontrolery posiadają kilka wejść/wyjść cyfrowych zorganizowanych w postaci portów

(zwykle 8-bitowe). Nie zawsze ich ilość je st wystarczająca, dodatkowo są im przypisane często alternatywne funkcje (np.

pewne sygnały sterujące), wykluczające wykorzystanie ich jako zwykłych wyjść cyfrowych. Przy braku lub niedostatecznej ich ilości stosuje się zewnętrzne układy wejść/wyjść cyfrowych.

Klasycznym układem rów noległych wejść/wyjść jest Intel 8255. Posiada on trzy programowalne 8-bitowe bramy, m ogące pracować w jednym z trzech trybów pracy. Jego dołączenie do systemu mikroprocesorowego wym aga magistrali danych, dwóch sygnałów adresowych i niektórych sygnałów sterujących. Programowanie układu polega na przekazaniu odpowiednich słów sterujących, pozw alających na wybranie trybu pracy i kierunku przekazyw ania informacji (bram a zakłócenia w porównaniu ze zwykłymi elementami cyfrowymi Czułość ta może się ujawnić gdy pracuje on w układach sterowania urządzeń energoelektronicznych, które są źródłem silnych zakłóceń elektromagnetycznych. Dodatkowym argumentem przeciwko stosowaniu układu Intel 8255 jest to, że często nie ma potrzeby stosowania aż trzech bram we/wy cyfrowych. W tedy korzystniejszym je st stosowanie elem entów cyfrowych pracujących jako bufor z zatrzaskiem (wyjścia

rozdział 4 - Dobór sterowania dedykowanego urządzeń energoelektronicznych (system doradczy)

cyfrowe np. 74HC573, 74LS373) lub bufor z wyjściem trójstanowym (wejścia cyfrowe np. 74HC245, 74LS244). Sytuacja taka pozwala na dokonanie lepszego rozkładu elementów w obwodzie drukowanym sterownika i uzyskanie większej niezawodności.

Szeroka gama rodzin układów cyfrowych wykonanych w technologii CMOS (HC, HCT, C, AC) i TTL (LS, ALS), pozwala na właściwy dobór przy projektowaniu systemu mikroprocesorowego. Należy tu w skazać na silną ekspansję w ostatnich latach układów z rodziny HC i AC, w porównaniu do dotychczas stosowanych LS, Wynika to z większej odporności na zakłócenia układów HC i AC oraz ich szybkości i większej obciążalności prądowej wyjść.

liczniki

Licznik jest elementem niezbędnym do precyzyjnego odmierzania czasu. M ikrokontrolery posiadają w wewnętrznej strukturze jeden lub więcej liczników. W przypadku niewystarczających param etrów takiego licznika lub jego braku (co zachodzi dla mikroprocesorów), istnieje możliwość zastosowania elem entu zewnętrznego.

Klasycznym przykładem jest tu Intel 8253, zawierający trzy programowalne liczniki. W ym agają one zewnętrznego sygnału zegarowego. Dołączenie do systemu mikroprocesorowego je st analogiczne jak w przypadku układu wejść/wyjść cyfrowych 8255. Programowanie liczników um ożliwia ustawienie trybu pracy, wpisywanie wartości początkowej oraz odczytywanie wartości aktualnej. Każdy z nich może pracow ać w jednym z pięciu trybów pracy:

- zliczanie impulsów, - programowany uniwibrator,

- programowany dzielnik częstotliwości,

- programowany generator sygnału prostokątnego, - generator impulsu wyzwalany programem, - generator impulsu wyzwalany zewnętrznie.

Poszczególne liczniki m ają wyprowadzone na zewnątrz sygnały: wejścia zliczającego, blokady zliczania, wyjścia z licznika (np. sygnalizacja wyzerowania licznika). W celu uzyskania bardziej skom plikowanych funkcji można je pomiędzy sobą odpowiednio łączyć.

układ transm isji szeregowej

Układy takie służą do współpracy z urządzeniami przesyłającymi informację w postaci szeregowej (np.

komputer przez łącze RS232). Przetwarza on informację szeregow ą na rów noległą i odwrotnie.

W iększość rozw iązań m ikroprocesorów nie posiada układu transmisji szeregowej wew nątrz struktury.

Znajdują się takie układy natomiast w większości mikrokontrolerów, ale ich możliwości nie są duże (np. nie ma możliwości ustawiania ilości bitów stopu, co może powodować trudności transmisji).

Podstawowym układem transmisji szeregowej je st Intel 8251. Pozw ala on na kom unikację dupleksową, w postaci:

- asynchronicznej: generowanie bitów startu, stopu i parzystości oraz - synchronicznej: generowanie i lokalizowanie bajtów synchronizacji.

Dodatkowo układy te w ytw arzają sygnały komunikacji z modemem i sygnalizują błędy transmisji. Dołączenie ich do systemu m ikroprocesorowego jest takie jak w przypadku układu Intel 8255, wymagając dodatkow o zewnętrznego sygnału zegarowego.

priorytetow y kontroler przerwań

Kontroler przerwań je st niezbędnym elementem systemu mikroprocesorowego w sytuacji, gdy mikroprocesor wykorzystuje więcej niż jedno źródło przerwań (pochodzących z urządzeń zewnętrznych).

W kontrolerze ustala się priorytet szeregujący odpowiednie wejścia, przy czym nie jest możliwe obsługa przerwania następnego przed zakończeniem obsługi przerwania poprzedniego.

Funkcjonowanie kontrolera przerwań w dużym stopniu je st uzależnione od typu m ikroprocesora.

Najwygodniejszym rozwiązaniem jest stosowanie mikroprocesora posiadającego wew nętrzny kontroler przerwań. Taka sytuacja je st zawsze w typowych mikrokontrolerach, które m ogą posiadać naw et kilkanaście i więcej źródeł przerwań.

rozdział 4 - D obór sterowania dedykowanego urządzeń energoelektronicznych (system doradczy)

Typowym układem priorytetowego kontrolera przerwań jest Intel 8259. Jego funkcjonowanie je st dopasowane do m ikroprocesorów tej samej firmy: 8080, 8085 i 8086. M a on możliwość dołączenia 8 wejść przerwań zewnętrznych (w kaskadowym połączeniu 8 kontrolerów daje to 64 źródła). Połączenie z magistralami systemu mikroprocesorowego jest standardowe. Programowanie układu polega na przesłaniu słów inicjujących, określających adres procedury obsługi przerwań i inne parametry funkcjonowania kontrolera (położenie układu w hierarchicznej strukturze przerwań i in.)

N owsze rozw iązania niektórych m ikro­

kontrolerów 8- i 16-bitowych oraz procesorów sygnałowych posiadają w wewnętrznej strukturze przetworniki A/C jedno lub więcej kanałowe.

W sytuacji, gdy takiego przetwornika nie ma lub jego parametry są niewystarczające, stosuje się układy zewnętrzne. Zasadniczymi parametrami przetworników A/C są:

- rozdzielczość bitowa (6 ..16-bitowa)

- zakres wejściowego sygnału analogowego (10V, 5V, ±5V)

- dokładność przetwarzania (+1/2 LSB,...) - czas konwersji (10ns...200ms).

Najw iększą ofertę w zakresie przetw orników A/C m ają firmy Analog Devices, Burr Brown, M otorola [MF12], Dołączenie przetw ornika do systemu m ikroprocesorowego zwykle nie nastręcza żadnych trudności, są one przystosowanie do typow ych struktur magistral sterujących. Przetworniki posiadają najczęściej dodatkowy sygnał wyjściowy, wyznaczający zakończenie procesu konwersji (EO C - end o f conversion). W sytuacji gdy niezbędna jest szybka obsługa przetwornika, można ten sygnał wprowadzić na wejście przerwania zewnętrznego mikroprocesora.

Przetwornik analogowo-cyfrowy jest elementem pozwalającym na przekształcenie wartości analogowej (napięcia, prądu) na wartość cyfrow ą o określonej liczbie bitów zakresu. Stosowane są one w sytuacji potrzeby pomiaru wielkości elektrycznej (prąd, napięcie) lub nieelektrycznej z wykorzystaniem przetwornika na wielkość elektryczną, (prędkość - tachoprądnicy, strumień - przetwornik Halla, temperatura - termopara). N ieco inną sytuacją wykorzystania przetwornika A/C je st przekazywanie wartości param etrów do systemu mikroprocesorowego za pom ocą potencjometrów. Praktyczna implementacja jest tu taka sama.

przetw ornik C/A

Zadaniem przetworników cyfrowo-analogowych jest zamiana wartości cyfrowej na sygnał analogowy (napięciowy lub prądowy). Praktyczne zastosowanie polega na wyprowadzeniu torem analogowym sygnału na zewnątrz sterownika lub do części analogowej sterownika (np. nadrzędny, wolny regulator realizowany przez system m ikroprocesorowy, a podrzędny, szybki przez część analogową).

Przetwornik C/A rzadko jest wkonstruowany w w ew nętrzną strukturę m ikrokontrolerów. W większości przypadków występuje on jako element zewnętrzny.

Przetwarzanie C/A może być realizowane w obrębie m ikrokontrolera za pom ocą wyjścia typu M SI (PWM).

Sygnał taki jest wprowadzany na filtr dolnoprzepustowy, na wyjściu którego otrzymuje się sygnał analogowy.

Podstawowe parametry przetwornika to:

- rozdzielczość bitowa (8-, 10- 16-bitowa) - parametry sygnału wyjściowego,

- maksymalny błąd przetwarzania (±1/2 LSB,...), - szybkość przetwarzania (50ns.,.10ps).

N ajwiększą ofertę układów prezentują: A nalog Devices i B urr Brown.

Dołączenie przetw orników C/A dostosowanych do systemów m ikroprocesorowych nie nastręcza trudności i wymaga tylko przyłączenia szyny danych i sygnałów sterujących. W przypadku starszych konstrukcji potrzebne

magistrala

Rys.4.12 Sposób dołączenia przetwornika A/C N E C pPD7002 (4 kanałowy, 10 bitowy) do systemu m ikroprocesorowego

rozdział 4 - Dobór sterow ania dedykowanego urządzeń energoelektronicznych (system doradczy)

może być buforowanie przetwornika od szyny danych przez układ zatrzaskowy. Problem y m o g ą w ystępow ać w przypadku układów o większej liczbie bitów niż osiem, ze względu na typowo 8-bitow ą szynę danych.

układy zabezpieczające system p.P (w atchdog)

Profesjonalnie sterowniki m ikroprocesorowe nie m ogą zostać realizowane bez odpow iednich zabezpieczeń przed niewłaściwym funkcjonowaniem, które je st wynikiem wszelkiego rodzaju zakłóceń.

Najnowsze mikrokontrolery posiadają możliwość realizacji pewnych zabezpieczeń w ew nątrz struktury, poprzez wykorzystanie układu licznika kontrolnego (watchdog timer).

Jeżeli istnieje potrzeba w prow adzenia zabezpieczeń nie mogących być zrealizowanymi przez licznik kontrolny to stosuje się układy zewnętrzne, których producentem je st m.in. firma Maxim (M AX690, M AX691, MAX703 i in.).

O prócz realizacji funkcji licznika kontrolnego (watchdog timer), kontrolują one poziom napięcia zasilania mikroprocesora. M ogą więc dokonać przełączenia na rezerwowe zasilanie bateryjne, przy zbyt niskim napięciu zasilania. Drugim zadaniem jest generow anie sygnału zerującego (reset) procesor przy załączaniu, w yłączaniu i zanikach napięcia zasilania. Szeroka gama produkow anych układów pozwala na dobranie w łaściw ego układu do projektowanego systemu mikroprocesorowego.

Sterownik modułowy należy odróżnić od sterownika dedykowanego (rozdział 3).

Przez to określenie autor rozumie system kom puterowy złożony z mikrokomputera, w yposażonego w: kartę z jednostką centralną (właściwym mikroprocesorem), karty układów wejść/wyjść cyfrowych i analogow ych oraz właściwe oprogramowanie użytkowe. M echanicznie m ogą te karty być zestawione w specjalnej obudow ie lub też dołączane do obudów komputerów np. klasy PC.

Sterownik modułowy może być wygodny przy:

• pracach laboratoryjnych lub naukowych, dla realizacji jednostkow ych urządzeń,

• tam gdzie problemy są nie do końca rozpoznane, a zadania m ogą ulegać zmianie i w zw iązku z tym wymagania co do strony układowej sterownika, też są modyfikowane.

Rozwiązanie to wymaga posiadania lub zakupu odpowiedniego urządzenia i oprogramowania. Z drugiej strony nie wymaga konstrukcji samego sterownika, ani od strony schematu, ani od strony projektu druku, w zw iązku z czym unika się nakładów związanych z projektowaniem i realizacją oraz błędami projektowania, w ykonaw stw a i uruchamiania. rozwiązaniem najlepiej dopasowanym do danego zadania. Posiadane lub zakupione karty zm uszają bowiem projektanta do przyjęcia zwykle rozbudowanej ponad tniarę struktury systemu m ikroprocesorow ego. Jeśli przykładowo w kartę wejść/wyjść analogowych s ą wbudowane konkretne przetworniki A/C, to trudno je wymienić na szybsze. M ożna tylko kupić inną kartę z szybszymi przetwornikami.

Jednym z przykładów systemu sterowników modułowych m ogą być proste układy M S M oferow ane na

Rys. 4.13 Prosty schemat aplikacyjny układu MAX 703, dla zabezpieczenia sy­

stemu pP przed pracą przy zbyt niskim napięciu zasilania Vcc