Przesłane zaproszenie skłoniło autorów do podzielenia się

Transkrypt

Przesłane zaproszenie skłoniło autorów do podzielenia się
www.pwt.et.put.poznan.pl
Bogusław Wiśniewski
Barbara Szecówka-Wiśniewska
Jacek Ostrowski
Akademia Górniczo-Hutnicza w Krakowie
Al. Mickiewicza 30
30-059 Kraków
[email protected]
2005
Poznańskie Warsztaty Telekomunikacyjne
Poznań 8 - 9 grudnia 2005
PROCES NAUCZANIA TECHNIKI MIKROPROCESOROWEJ
NA KIERUNKU ELEKTRONIKA I TELEKOMUNIKACJA
WYDZIAŁU EAIiE AGH
Streszczenie: W referacie zawarto ogólne informacje
dotyczące procesu dydaktycznego przedmiotu „Technika
Mikroprocesorowa”. Przedstawiono strukturę przedmiotu i
sposoby prowadzące do zwiększonego zainteresowania nim
studentów. Najwięcej miejsca poświęcono organizacji
laboratoriów (zawartość stanowiska, budowa, unifikacja).
Jako zagadnienie szczegółowe omówiono problemy
związane ze stosowaniem wspólnej magistrali.
1. ORGANIZACJA TOKU KSZTAŁCENIA
Przesłane zaproszenie skłoniło autorów do
podzielenia się wieloletnimi doświadczeniami odnośnie
dydaktyki przedmiotu „Technika Mikroprocesorowa”.
W referacie przedstawione zostaną: struktura
przedmiotu, formy kształcenia oraz wybrane problemy
tworzenia bazy laboratoryjnej. Ramy referatu zmuszają
do syntetycznej formy, uogólnień i podania rzeczy
najbardziej istotnych, choć wiele autorskich rozwiązań
stanowisk, a nawet modułów funkcjonalnych, zasługuje
na samodzielne opracowania.
Przedmiot zaistniał formalnie w roku 1984/5, choć
tematyka pojawiła się trzy lata wcześniej, w ramach
Techniki Cyfrowej, Zastosowań Elektroniki i Systemów
Cyfrowych w Aparaturze. Od roku 1999 całość
zagadnień połączono w jeden przedmiot. Niezależnie od
nomenklatury i siatki godzinowej, nauczanie w ciągu
dwóch kolejnych semestrów obejmuje zawsze wykłady i
laboratoria. Pierwszy semestr przeznaczony jest na
podanie wiadomości podstawowych (pojęcia ogólne i
klasyfikacje). W ten sposób późniejsza prezentacja
wybranych typów mikroprocesorów sprowadza się do
„zaszufladkowania”
i
uwypuklenia
cech
charakterystycznych. Wykładom towarzyszyły też
ćwiczenia audytoryjne, zastąpione potem projektem
(zawsze praktycznym), który niestety trzy lata temu
został zlikwidowany, w ramach redukcji godzin.
Funkcjonuje on jednak dalej, dzięki prawie społecznej
działalności zespołu. Tylko w pierwszym semestrze
stosuje się klasyczne sprawdzanie wiadomości.
Podstawą oceny w drugim semestrze jest efekt
praktycznego projektu. Projekt przechodzi różne formy
strukturalne jak:
- realizacja prostych modułów dla różnych
stanowisk,
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
- aplikacje „szkolne” dla µc rodziny 8051.
W roku ubiegłym i bieżącym zdecydowano się na
aplikacje o walorach użytkowych i wszystkie oparto na
mikrokontrolerze, produkowanym przez Freescale
(dawna Motorola), układzie 68HC908QT4 [2].
Zastosowano go ze względu na bogate wyposażenie,
łatwość oprogramowania, wolno dostępne środki
uruchomieniowe, jak również na efekt kontrastu
układów w obudowie 8-pinowej (6 linii) w stosunku do
uzyskiwanych efektów.
W ostatnim roku wyselekcjonowano grupę 34
projektów. Były to rozwiązania doprowadzone do
działającej aplikacji, o znamionach profesjonalizmu.
Projekty te zostały zaprezentowane w formie publicznej
sesji studenckiej, współbieżnie z Festiwalem Nauki,
organizowanym przez krakowskie wyższe uczelnie.
2. STRUKTURA STANOWISK
LABORATORYJNYCH
Od samego początku główny nacisk postawiono na
bazę laboratoryjną, z którą synchronizowano treść
wykładów
[1].
Przedstawienie
układu
mikroprocesorowego,
z
którym
stanowisko
zaprojektowano i uruchomiono, ma zupełnie inną
nośność w stosunku do treści wykładu o charakterze
literaturowo- katalogowym.
W czasach pionierskich (lata 80-te) pojęcie zakupu
gotowego stanowiska z techniki mikroprocesorowej,
w ogóle nie istniało. Zdecydowano się więc na
samodzielną budowę. Przyjęto strukturę modułową
w systemach kasetowych. Ze względu na przeznaczenie
dydaktyczne systemy mikroprocesorowe:
a. zawierały wyniesioną konsolę obserwacyjnosterującą,
b. były systemami otwartymi,
c. każdy moduł wyposażono nawet z nadmiarem
w układy obserwacyjne,
d. na jednej karcie zawarty był tylko jeden
interfejs,
e. dysponowały zunifikowaną magistralą.
Odnośnie standardu magistrali w laboratorium
funkcjonuje:
1/6
www.pwt.et.put.poznan.pl
-
własny 84 pin- owy, kasety 4U (24/8 bitadres/dane),
- VME.
Wykształconym ewolucyjnie, własnym standardem
posługują się systemy: 8039, 8051, Z80, 8088, 68008,
68HC08,’11,’12,’12S. Natomiast do wymogów VME
zaadaptowano: 68000, 68030, 68040, 68060, MCF5202,
80386, 80486, P5, PC603E, MPC860, MPC8260, 2101,
56002, 21062, 56311. Dążono do ujęcia możliwie
pełnego spektrum typów i producentów. Pozostano
wiernym zasadzie budowy stanowisk własnymi
środkami. Każde z nich przewidziane jest do
samodzielnej pracy, gdyż zostało wyposażone
w podstawowe oprogramowanie. Stanowiska powstają
przede wszystkim jako prace dyplomowe. Ze względu na
niezbędną ich efektywność i względy ekonomiczne,
stosowany jest staranny nadzór co najmniej do końca
etapu projektu układowego. Liczba dyplomantów,
których prace tworzą stanowiska laboratoryjne,
osiągnęła 500 osób (prace jedno i dwu osobowe). Liczba
praktycznych projektów jest wielokrotnie wyższa, lecz
nie wszystkie udaje się zakończyć w formie działającej
aplikacji.
Na rys.1. przedstawiono kolejne fazy budowy
stanowisk z danym procesorem. Pewne moduły w wersji
ostatecznej powstają nawet przy trzecim podejściu,
funkcjonują też kolejne wersje oprogramowania. Każde
stanowisko staje się niezależnym systemem (bez
wspomagania komputerem PC) z możliwością
dołączania kart aplikacyjnych i uruchamiania ich
z poziomu asemblera. Oprogramowanie rezydentne jest
zawsze w pamięci stałej. Do archiwizacji aplikacji są
interfejsy stacji dyskietek, karty pamięci flash. Konsole
obserwacyjno- sterujące dysponują także łącznością
szeregową z komputerem (głównie etap uruchamiania
oprogramowania rezydentnego).
Rys.1. Jak powstaje stanowisko laboratoryjne
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
2/6
www.pwt.et.put.poznan.pl
Dla
danego
mikroprocesora/mikrokontrolera
aplikuje się wszystkie możliwości funkcjonalne.
Przykładowo na fot.1. przedstawiono pełną konfigurację
systemu opartego na 68HC12. Począwszy od lewej
strony w kasecie znajdują się: moduł jednostki centralnej
(z interfejsem BDM), interfejs konsoli obserwacyjnosterującej, symulator układów wejścia- wyjścia, karta
pamięci, interfejs monitora znakowego i interfejs
klawiatury. Symulator układów wejścia-wyjścia
umożliwia poznanie funkcji układów peryferyjnych
kontrolera, takich jak: przetwornik AC, porty szeregowe,
układ czasowo licznikowy i inne. Zarówno klawiatura,
konsola interfejsu BDM, jak i konsola obserwacyjnosterująca są oddzielnymi aplikacjami mikrokontrolerów
Intel/Atmel. Każda konsola ma funkcje obserwacyjne,
możliwość kontaktu z pamięcią i pracy ciągłej/krokowej
plus pułapka sprzętowa. Jako ciekawostkę należy dodać,
że krokowanie co cykl magistrali „synchronicznej”
układu 68HC12 realizowane jest przez „mrożenie”
zegara, a dostęp do pamięci ze strony konsoli korzysta
także z odłączanych buforów trójstanowych. Na rys.2.
przedstawiono zestaw komponentów o wyłącznie
dydaktycznym
przeznaczeniu,
stosowanych
w stanowiskach laboratoryjnych. Adresy startowe dla
głównych przerwań i wyjątków wykonywane są
w formie nastawianej, tak samo jak 16 ostatnich bajtów
przestrzeni adresowej Intela.
Fot.1. Stanowisko laboratoryjne z mikrokontrolerem 68HC12
Rys.2. Komponenty dydaktyczne stanowisk laboratoryjnych
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
3/6
www.pwt.et.put.poznan.pl
3. WYBRANE PROBLEMY STOSOWANIA
ZUNIFIKOWANYCH MAGISTRALI
Informacje natury organizacyjnej i strukturalnej,
autorzy postanowili rozszerzyć o rozwiązania
szczegółowe. Ponieważ treść referatu nie miała
faworyzować żadnego mikroprocesora, zdecydowano się
przedstawić
problematykę
wspólną,
dotyczącą
dopasowania systemów w stosunku do jednolitej
magistrali.
Wybór standardu VME był podyktowany jego
przystosowaniem do systemów normalnie niegotowychw warunkach zajęć dydaktycznych, kontakty z lokacjami
nieobsadzonymi występują nagminnie. Standard
wymusza stosowanie wyrównania binarnego, informuje
o poziomie uprzywilejowania, oferuje czytelny system
przerwań oraz efektywne zasady dostępu do magistrali i
współdzielenia zasobów.
Standard dysponuje licznymi liniami do dyspozycji
użytkownika. Zostały one wykorzystane przez:
a. magistralę lokalną procesorów sygnałowych
(ich karty peryferyjne),
b. sygnały rozszerzeń atrybutów transferu ( MI blokada pamięci, TBI - zezwolenie transferu
blokowego, TCI - zezwolenie użycia pamięci
podręcznej przez aktualną kartę MASTER),
c. sygnał potwierdzenia transferu przez konsolę
DTACKc (nie podlega restrykcjom błędu
przeterminowania- używany do krokowania).
Standard definiuje dwa typy arbitrów (priorytet stały i
rotujący).
W
warunkach
różnorodności
mikroprocesorów, w odniesieniu do specyfiki zajęć,
wykonano arbiter VME z istotnym rozszerzeniem
funkcjonalnym. Współpracują z nim arbitry lokalne na
kartach MASTER (rys.3.). Dodatkowe funkcje arbitra
magistrali VME to:
- pierwszeństwo BR3 (konsola) przy
priorytecie rotującym,
- priorytet rotujący z odmierzanym
czasem przydziałów magistrali,
- przeterminowanie oczekiwania na
BBSY po wysłaniu BGi .
Konstrukcja
arbitra
lokalnego
związana
jest
z protokołem dostępu danego mikroprocesora do
magistrali. Dodano dodatkowe sprawdzanie BBSY
przed „wyjściem” na magistralę, mimo potwierdzenia
BGi . Projektując automaty arbitrów, nie stosowano pól
ze stanem dowolnym (X), choćby wynikało to ze
standardu. W warunkach uruchomień kart studenckich,
każda kombinacja jest możliwa, a dzięki takiemu
podejściu
uzyskujemy
niezbędny
„zapas
bezpieczeństwa”. Przybliżyć należy jeszcze logikę
powtarzania cyklu. Ma to miejsce, gdy nieaktywny
MASTER wykryje odczyt danych odnoszących się do
swojej linii pamięci podręcznej, nie przepisanej jeszcze
do pamięci głównej (pamięć podręczna w trybie pracy
write-back). Wystawia wtedy żądanie powtórzenia
cyklu RTRY . Arbiter główny „zrzuca” aktywnego
MASTER-a na jeden cykl. Teraz MASTER żądający
powtórzenia, otrzymuje magistralę w celu przeniesienia
danych z pamięci podręcznej do głównej. Po cyklu
zwraca ją i aktywny MASTER ponawia odczyt
poprawionej danej.
Rys.3. Arbiter lokalny na kartach mikroprocesorów
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
4/6
www.pwt.et.put.poznan.pl
Inne podejście do problemu koherencji zawartości
pamięci podręcznych, w stosunku do pamięci głównej,
prezentuje układ M68040. Przy pracy wieloprocesorowej
nieaktywny mikroprocesor śledząc magistralę, dokonuje
autokorekcji swojej pamięci podręcznej, a w pewnych
sytuacjach podszywa się pod czytaną pamięć główną
(wspólną). Stąd wspomniana linia MI (blokady pamięci
systemu), wykorzystywana jest przez mikroprocesor
odłączony od magistrali.
Standard VME stosuje uogólnione, klasyczne
rozwiązania w systemie przerwań (żądania IRQ1− 7 ,
tablica adresów początkowych procedur obsługi, cykl
akceptacji przerwania CAP). Rozwiązania powyższe są
tożsame dla układów Motorola/Freescale, które nie
wymagają dodatkowych układów adaptacyjnych
w swojej logice przerwań.
Problemy
występują,
jeśli
aplikowany
mikroprocesor:
a. ma liczbę poziomów żądań zdegenerowaną do
dwóch (INTR, NMI)- Intele,
b. zamiast tablicy adresów stosuje ustalone
miejsca, skąd rozpoczynają się procedury
obsług przerwań (serie MPC), dla PC603 jest
tylko jedno wejście przerwań.
Należy jeszcze wspomnieć o specyficznym, podwójnym
cyklu akceptacji rodziny Intela.
Dwa poziomy żądań Intela można wprawdzie
przypisać jako siódme (NMI) i dowolne (1÷6) dla INTR,
lecz ze względu na to, że karty żądają na wszystkich
poziomach, nie możemy takiego uproszczenia dokonać.
Na karcie z mikroprocesorem Intela musimy umieścić
sprzętową
logikę
poziomów
uprzywilejowania.
W pierwszych kartach wykorzystano kontroler przerwań
8214, który idealnie spełniał wszystkie wymogi, potem
jego logikę przeniesiono do logiki programowanej karty.
Schemat blokowy rozwiązania przedstawiono na
rysunku 4.
Aby
zagwarantować
kompatybilność
zarezerwowano dwie lokacje w przestrzeni we-wy:
a. FFF8:
zapis (programowanie 8214)
odczyt (odczyt wszystkich
żądań- opcja),
b. FFFC:
odczyt
(symulacja
cyklu
akceptacji przerwania- CAP).
Karty magistrali nie są zobowiązane do żadnych
dodatkowych działań. Procesor Intel musi
natomiast:
a. inicjować i reinicjować (na początku każdej
procedury obsługi) poziom maski dla kodera
priorytetowego kontrolera przerwań,
b. w obsłudze IRQ 7 (NMI) dokonać dodatkowo
odczytu spod lokacji FFFC przestrzeni we-wy
(modyfikator 2D magistrali VME).
Powyższy cykl odczytu wygeneruje sprzętowo
niezbędny CAP, nieobecny przy przerwaniu
niemaskowanym Intela, na wyjściu multipleksera
otrzymamy zaś niezbędne stany 111. Podobne
rozwiązania stosowane są też na kartach PC603, gdyż
w tym mikroprocesorze CAP w ogóle nie występuje.
Poziom akceptacji z kontrolera przerwań jest sprzętowo
w CAP wstawiany na linie adresowe A3,2,1 magistrali
VME, podobnie jak jedynki na liniach A19÷16.
Rys.4. Logika rozszerzająca system przerwań Intela do wymogów magistrali VME
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
5/6
www.pwt.et.put.poznan.pl
4. PODSUMOWANIE
Słuszność przyjętych form i treści kształcenia
została potwierdzona przez długoletnie doświadczenia.
Baza laboratoryjna jest stale uzupełniana, o nowe
systemy z wybranymi, reprezentatywnymi typami
mikroprocesorów.
Projekt
praktyczny
przybrał
zinstytucjonalizowaną postać. Postanowiono, że każdy
rocznik studentów będzie wykonywał projekty na innym
reprezentatywnym typie mikrokontrolera.
Przewiduje się przejście do rozszerzonego
standardu VME, co ułatwi aplikacje mikroprocesorów
z szynami szerszymi niż 32 bity. Stanowiska MPC860,
MPC8260 i 68HC12 zostaną wyposażone w osprzęt do
pracy sieciowej, zaś konfiguracje wieloprocesorowe
będą dysponować odpowiednim oprogramowaniem.
Jeśli chodzi o aspekty technologiczne, to standardem
PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005
staje się druk czterowarstwowy i użycie układów
programowalnych (XILINX). Wieloletnie doświadczenie
pokazuje, że zastosowane w laboratorium Techniki
Mikroprocesorowej
rozwiązania
sprzętowe
i
programowe, umożliwiają efektywne przyswajanie zasad
działania
i
budowy
mikroprocesorów
i
mikrokontrolerów.
5. LITERATURA
[1] B. Wiśniewski, B. Szecówka-Wiśniewska,
J. Ostrowski, Organizacja i problemy techniczne
laboratorium systemów mikroprocesorowych na
przykładzie LSM w Akademii Górniczo- Hutniczej,
Elektronika 1.2003
[2] http://home.agh.edu.pl/~ltmip/
6/6