temat nr 1 · 2016. 10. 7. · specyfikacja vmebus została opracowana w 1981 r. od tego momentu...
TRANSCRIPT
LABORATORIUM Procesory i komputery przemysłowe
Katedra Systemów Elektroniki Morskiej Wydział Elektroniki Telekomunikacji
i Informatyki Politechnika Gdańska
Temat nr 1
Moduły funkcjonalne magistrali VMEbus
Prowadzący: Mariusz Rudnicki
2016
2
Spis treści Cel ćwiczenia ........................................................................................................................................... 3
Specyfikacja Versatile Backplane Bus: VMEbus ...................................................................................... 3
Moduły funkcjonalne i szyny definiowane przez STANDARD VMEbus ................................................... 4
Moduły funkcjonalne magistrali VMEbus ........................................................................................... 5
Szyny magistrali VMEbus ..................................................................................................................... 6
Zadania: ................................................................................................................................................... 7
3
Cel ćwiczenia Celem ćwiczenia jest zapoznanie studentów z magistralą przemysłową VMEbus oraz badanie
modułów funkcjonalnych tej magistrali.
Specyfikacja Versatile Backplane Bus: VMEbus Specyfikacja VMEbus została opracowana w 1981 r. od tego momentu była wielokrotnie
aktualizowana, kolejne zmiany były dokonywane pod auspicjami komitetów technicznych VITA
(VMEbus International Trade Association), IEC-821 (International Organization for Standardization)
oraz IEEE-1014 (Institiute of Electrical and Electronics Engineers, Inc.). Kolejne wersje precyzowały
istniejące właściwości i dodawały do standardu nowe możliwości oraz funkcje.
Najważniejszym aspektem rozwoju standardu jest to iż każda nowa wersja jest w pełni
kompatybilna z wersjami poprzednimi.
Rys. 1. Kolejne wersje standardu VMEbus.
4
Moduły funkcjonalne i szyny definiowane przez STANDARD VMEbus
Rys. 2. Moduły funkcjonalne i szyny magistrali VMEbus
5
Moduły funkcjonalne magistrali VMEbus Specyfikacja magistrali VMEbus definiuje szereg modułów funkcjonalnych, których funkcje
przedstawiono poniżej:
MASTER – moduł funkcjonalny, który może inicjować cykle przesyłania danych. Przykładem
modułu master może być płyta CPU, a także moduł peryferyjny z kontrolerem DMA.
SLAVE – moduł wykrywający cykle generowane na magistrali przez mastera
i współuczestniczący w tych cyklach, jeśli są one adresowane do niego. Przykładowym
modułem slave jest karta I/O lub moduł pamięci.
LOCATION MONITOR – obserwuje magistralę i generuje sygnały lokalne, które mogą być
wykorzystane w obrębie płyty gdy określone adresy są obecne na magistrali. Moduł ten
realizuje również mechanizm rozgłaszania wiadomości do wszystkich modułów dołączonych
do magistrali (ang. broadcast). Przykładowym modułem z monitorem adresów jest analizator
magistrali.
BUS TIMER – mierzy jak długo przebiega każda transmisja danych na magistrali. Jeśli trwa
zbyt długo ustawiany jest sygnał BERR* przerywający cykl. Jest wykorzystywany
w zapobieganiu zawieszania się systemu przy długich odwołaniach do modułów pamięci i
w czasie awarii systemu.
INTERRUPTER – generuje przerwanie wymagające obsługi. W czasie cyklu potwierdzenia
przerwania, moduł ten wystawia słowo STATUS/ID (8, 16 lub 32-bitowe) modułowi obsługi
przerwania. Moduły te nazywane są inaczej „interrupt requesters”. Przykładem może tu być
moduł portów szeregowych, który żąda przerwania po każdym odebranym znaku.
HANDLER – moduł odpowiadający na żądania interrupter’a. Moduł ten musi mieć możliwość
transferu danych w trakcie cyklu potwierdzenia przerwania i odczytu słowa STATUS/ID od
modułu zgłaszającego przerwanie. Moduły te zazwyczaj występują na płytach CPU.
IACK Daisy-Chain DRIVER – w czasie cyklu potwierdzenia przerwania inicjuje działanie
łańcucha IACKIN*/IACKOUT*. Dzięki temu mamy pewność, że w przypadku, gdy zgłoszeń jest
więcej tylko jeden moduł żądający odpowie słowem STATUS/ID. Moduł ten osadzony jest
w slocie 1.
REQUESTER – moduł, którego używają moduły master i interrupt handlers do uzyskania
dostępu do szyny transmisji danych. Moduł ten używa szyny arbitrażu transmisji danych do
uzgodnień z ARBITREM. ARBITER przydziela magistralę modułowi typu REQESTER, który
pozwala modułowi nadrzędnemu użyć magistrali. REQUESTER – bus requester.
ARBITER – moduł przyjmujący żądania dostępu do magistrali od modułu żądającego
i przydzielający sterowanie szyną transmisji danych w danym momencie tylko jednemu
takiemu modułu;
SYSTEM CLOCK DRIVER – dostarcza stabilnego sygnału zegarowego o częstotliwości 16 MHz
(linia SYSCLK) wszystkim modułom dołączonym do magistrali, pomimo tego VMEbus jest
asynchroniczna. Zegar nie ma żadnych powiązań z innymi sygnałami magistrali.
SERIAL CLOCK DRIVER – przestarzały moduł funkcjonalny. W rewizjach A, B, C, C.1, IEC821
i IEEE 1014-1987 specyfikacji VMEbus używany był do generowania sygnału zegarowego
SERCLK szeregowej magistrali VMSbus. Specyfikacja ANSI/VITA 1-1994 (VME64) redefiniuje
sygnały SERCLK i SERDAT jako SERA i SERB. Obecnie linie te mogą być wykorzystywane przez
szeroką grupę magistral szeregowych w tym również VMSbus.
POWER MONITOR – moduł odpowiedzialny za generowanie systemowego sygnału Reset
i monitorowanie systemowego źródła zasilania AC. Moduł ten wystawia sygnały SYSRESET*
i opcjonalnie ACFAIL*.
6
Szyny magistrali VMEbus Szyna transmisji danych używana jest przez moduły typu MASTER do przesyłania danych do/z
modułów typu SLAVE. Wykorzystywana jest również przez moduły INTERRUPT HANDLERS do
przechwytywania słowa STATUS/ID od układów zgłaszających przerwanie w cyklu potwierdzenia
przerwania.
Rys. 3. Szyna transmisji danych
Szyna arbitrażu transmisji danych używana jest przez moduły typu MASTER i INTERRUPT
HANDLERS do ustalenia dostępu do szyny transmisji danych. Moduł funkcjonalny zwany ARBITREM
w połączeniu z sygnałami szyny arbitrażu określa, który moduł uzyskał dostęp do magistrali.
Rys. 4. Szyna arbitrażu transmisji danych
System przerwań wykonywany jest poprzez priorytetową szynę przerwań. Możliwe jest
używanie siedmiu poziomów przerwań.
Rys. 5. Priorytetowa szyna przerwań
7
Szyna narzędziowa jest zbiorem sygnałów używanych do resetowania systemu, okresowego
taktowania, diagnostyki systemu oraz wykrywania awarii zasilania.
Rys. 6. Szyna narzędziowa
Zadania: 1. Przed przystąpieniem do ćwiczenia zapoznaj się z dokumentacją: płyty bazowej AVME9630
sekcje:
VMEbus INTERFACE CONFIGURATION, MEMORY MAPS,
karty przetwornika IP235 sekcja:
PROGRAMMING INFORMATION.
2. Wyprowadź wzór wiążący parametry ustawiane w karcie przetwornika DAC z częstotliwością
sygnału na wyjściu tego przetwornika.
3. Przyjrzyj się uważnie oknom dialogowym programu PKP.exe; zwróć uwagę na parametry jakie
można w nich ustawiać i odnieś je do poznanych wcześniej dokumentacji.
Rys. 7. Okno kanału Master 0, 1, 2
8
Rys. 8. Okno kanału SLAVE 0
Rys. 9. Okno płyty nośnej AVME9630
9
Rys. 10. Okno rejestrów karty przetwornika C/A IP235
Rys. 11. Okno rejestrów karty przetwornika C/A IP235
10
Rys. 12. Okno rejestrów Universe II i parametrów systemowych
11
Rys. 13. Złącze P1 magistrali VMEbus
12
Rys. 14. Złącze P2 magistrali VMEbus
13
Tabela 1. Opis złącza pomiarowego z sygnałami magistrali VMEbus.
PIN ZŁĄCZA POMIAROWEGO
NAZWA SYGNAŁU PIN VMEbus P1
1 GND 9AC
2 A01 A30
3 A02 A29
4 A03 A28
5 A04 A27
6 A05 A26
7 A06 A25
8 A07 A24
9 IACK A20
10 IRQ1 B30
11 IRQ2 B29
12 IRQ3 B28
13 IRQ4 B27
14 IRQ5 B26
15 IRQ6 B25
16 IRQ7 B24
17 AM0 B16
18 AM1 B17
19 AM2 B18
20 AM3 B19
21 AM4 A23
22 AM5 C14
23 AS A18
24 BERR C11
25 DTACK A16
26 DS0 A13
27 DS1 A12
28 LWORD C13
29 WRITE A14
30 BR0 B12
31 BR1 B13
32 BR2 B14
33 BR3 B15
34 BBSY B1
35 BCLR B2
36 SYSCLK A10
Tabela 2. Opis złącza pomiarowego z sygnałami przetwornika C/A.
PIN ZŁĄCZA POMIAROWEGO
NAZWA SYGNAŁU PIN Złącza P1 DAC
1 Wyjście analogowe kanału 1
1
3 GND 3
14
4. Sprawdź częstotliwość i amplitudę sygnału zegarowego SYSCLK magistrali VMEbus.
W sprawozdaniu zamieść odczytane wartości.
W celu wykonania polecenia należy podłączyć sondę oscyloskopową do sygnału
SYSCLK pin 36 złącza pomiarowego, na którym wyprowadzone są sygnały magistrali
VMEbus. Następnie odczytać żądane wartości.
5. Sprawdzenie modułu MASTER oraz badanie cykli na magistrali.
5.1. Programowanie kanału MASTER. W zakładce MASTER CH0 ustaw parametry kanału master tak, jak na rys.7.
W sprawozdaniu opisz ustawione parametry. Po ustawieniu parametrów kanał otwieramy kluczem Open zamykamy kluczem Close, nie należy używać klawisza ENTER. 5.2. Zaprogramuj kartę AVME9630 i IP235.
Zaprogramuj kartę przetwornika DAC IP235 a następnie wygeneruj następujące sygnały sinusoidę lub falę prostokątną o częstotliwości zadanej w karcie sprawozdania. Sprawdź jaki wpływ wywiera wartość rejestru Timer Prescaler na generowane sygnały. Uzyskane wyniki skomentuj w sprawozdaniu. W sprawozdaniu zamieść wartości rejestrów Timer Prescaler, Convertion Timer oraz częstotliwość wzorca FP i wzór funkcji generującej sygnały. Wartość poprawna rejestru kontrolnego CTRL Reg przedstawiona jest na rys.10. W sprawozdaniu opisz tryb pracy przetwornika.
Aby zaprogramować kartę IP235 należy otworzyć zakładkę IP235 z aplikacji PKP.exe, a następnie wpisać odpowiednie wartości w polach poszczególnych rejestrów: Control Register, Timer Prescaler i Conversion Timer oraz Wzorzec Częstotliwości FP. Należy pamiętać iż niektóre rejestry są 8-bitowe a niektóre 16-bitowe. Wpisujemy do rejestrów wartości w formacie HEX w notacji Big-endian. Po poprawnym wpisaniu wszystkich wartości i zaprogramowaniu pamięci wzorca kluczem „Start conversion” uruchamiamy generowanie sygnału o określonej częstotliwości. Zatrzymanie konwersji następuje poprzez wciśnięcie klawisza Reset IP235. Kolejność operacji programowania: a) Reset przetwornika kluczem Reset IP235, b) Kluczem Write CTRL Reg wpisujemy wartość z pola Control Register (16 bitów), c) Kluczem Timer Prescaler wpisujemy wartość rejestru Timer Prescaler (8 bit), d) Kluczem Conversion Timer wpisujemy wartość rejestru Conversion Timer, e) Wpisujemy w polu FP odpowiednią wartość wzorca częstotliwości w Hz
i zatwierdzamy ją kluczem Apply FP, f) Następnie kluczem Fill DAC Memory wypełniamy pamięć przetwornika próbkami
wzorca. g) Uruchamiamy generowanie przebiegu kluczem Start Conversion. Wyżej opisane operacje powtarzamy aż do momentu wygenerowania zadanych przebiegów.
6. Sprawdzenie modyfikatora adresu.
W trakcje programowania kart sprawdź modyfikator adresu linie AM0-AM5. W sprawozdaniu zamieść kod modyfikatora adresu.
15
W celu sprawdzenia modyfikatora adresu należy podłączyć sondy oscyloskopu do linii AM0 – AM5 piny 17 – 22 złącza pomiarowego z sygnałami magistrali VMEbus i odczytać stany logiczne na tych liniach 0V – to logiczne 0, +4V to logiczna 1. Sygnałem wyzwalającym jest linia AS* pin 23 złącza pomiarowego. Aby sprawdzić modyfikator adresu należy wykonać cykl na magistrali. W tym celu należy wykonać zapis do rejestru Timer Prescaler lub Conversion Timer. Oscyloskop musi mieć ustawione wyzwalanie zboczem opadającym.
7. Sprawdzenie adresów fizycznych na magistrali VMEbus. W trakcie programowania kart porównaj adresy rejestrów z dokumentacji z adresami na magistrali VMEbus A07 - A01. W sprawozdaniu zamieść odczytane wartości i uzasadnij ewentualne różnice.
W celu sprawdzenia fizycznego adresu na magistrali VMEbus należy podłączyć sondy oscyloskopu do odpowiednich linii z pośród A07 – A01 piny 2 – 8 złącza pomiarowego z sygnałami magistrali VMEbus i odczytać stany logiczne na tych liniach 0V – to logiczne 0, +4V to logiczna 1. Sygnałem wyzwalającym jest linia AS*. Aby sprawdzić adres fizyczny na magistrali należy wykonać cykl zapisu. W tym celu należy wykonać zapis do rejestru wskazanego przez prowadzącego.
8. Badanie cyklu potwierdzenia przerwania IACK*.
Ustaw rejestry kart AVME9630 i IP235 odpowiadające za przerwania. Poprawne wartości
rejestrów karty AVME9630 podane są na rys.9 a przetwornika na rys.11. Wystartuj
przetwornik C/A w trybie generacji przetrwania sprawdź sygnały występujące w cyklu
potwierdzenia przerwania rys.15.
W sprawozdaniu zamieść czasy i kolejność pojawiania się sygnałów na magistrali IACK*,
A03-A01, AS*, DTACK*.
W celu wykonania polecenia należy podłączyć sondę oscyloskopową do odpowiednich
linii magistrali VMEbus czyli odpowiednich pinów złącza pomiarowego:
IACK* – pin 9;
A03 – A01 – piny 4 – 2;
AS* – pin 23;
DTACK* – pin 25.
Sygnałem wyzwalającym jest sygnał IRQ2* – pin 11. Następnie uruchomić kluczem
Start Conversion przetwornik DAC.
16
A01-A03
AS*
D00 – D07
DTACK*
STATUS/ID
IACK*
Interrupt Acknowledge ID Code
DS0*
IRQ3*
IACKIN*(1)
IACKIN*(2)
IACKIN*(3)
IACKIN*(4)
BERR*
A
B
C
D
Rys. 15. Cykl potwierdzenia przerwania IACK*