Procesory i komputery przemysłowe Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl pok. 753 tel.: 347-26-39
Wprowadzenie Na wykładzie zaprezentowane zostaną współczesne rozwiązania złożonych systemów procesorowych cyfrowego przetwarzania sygnałów oparte na procesorach DSP oraz standardy komputerów przemysłowych powszechnie wykorzystywanych w różnych gałęziach przemysłu. Omówione zostaną komputerów przemysłowych: następujące standardy PC/104, PC/104 Plus, EBX, EPIC; PCIe/104, PC/104-Express; VMEbus, VPX, VXS; CompactPCI; IP MODULE, PMC MODULE, MEZZINE MODULE.
Literatura Standard PC/104, PC-104-Plus, EBX, EPIC: Specyfikacja PC/104 wersja 2.6; Specyfikacja PC/104-Plus wersja 2.2; Specyfikacja EBX Embedded Board, expandable wersja 2.0; Specyfikacja EPIC Embedded Platform for Industrial Computing TM wersja 2.0; PC/104-Express TM & PCIe104 TM Specification v.2.01 witryny internetowe: www.pc104.org; www.diamondsystems.com; www.axiomtek.com;
Literatura VMEbus: Specyfikacja Std 1014-1987, IEEE Standard for A Versatile Backplane Bus: VMEbus; The VMEbus Handbook Wade D. Peterson, 1997 VITA; Wprowadzenie do standardu VMEbus B. Marzec, WNT 1994; Witryny internetowe: www.vita.com; www.gefanuc.com; www.acromag.com; www.kontron.pl; www.alphitech.com. CompactPCI: Specyfikacja CompactPCI 2.1 rewizja 3.0;
Wprowadzenie Główne zadania stawiane przed w/w urządzeniami, w zastosowaniach cywilnych, to: zarządzanie automatycznymi liniami produkcyjnymi; sterowanie procesami technologicznymi; zarządzanie pomiarami oraz przetwarzanie sygnałów analogowych i cyfrowych w systemach pomiarowych i dozoru; nadzór nad urządzeniami pracujących warunkach mechano-klimatycznych; w trudnych w aplikacjach militarnym, to: praca jako jednostki centralne, układy wejścia/wyjścia, karty rozszerzeń i karty dedykowane uzbrojenia, zobrazowania taktycznego itd. w systemach
Wprowadzenie Wyżej opisane zastosowania stawiają przed komputerami przemysłowymi duże wymagania w kwestiach: niezawodności; wytrzymałości; kompatybilności elektromagnetycznej; odporności na warunki mechano-klimatyczne; odporności na wibracje i udary; szeroki temperaturowy zakres pracy; możliwość pracy przy wysokiej wilgotności; oprócz powyższych wymagań ważnymi kwestiami odnoszącymi się do tego typu urządzeń są: czas życia produktu na rynku; łatwość rekonfiguracji systemu poprzez zamianę modułów odpowiednikami produkowanymi przez innego producenta.
ANSI/VITA 47-2005 (R2007) American National Standard for Environments, Design and Construction, Safety, and Quality for Plug-In Units Standard OPERATING TEMPERATURE Forced Air and Air Flow Through Cooled Plug-In Units; Conduction Cooled Plug-In Unit Allowable Edge Temperature; Liquid Cooled Plug-In Unit Allowable Coolant Temperature;
ANSI/VITA 47-2005 (R2007) NON-OPERATING TEMPERATURE TEMPERATURE CYCLING VIBRATION Vibration Class V1 Vibration Class V2 Vibration Class V3 SHOCK Operating Shock Class OS1 Operating Shock Class OS2 Bench Handling Shock
ANSI/VITA 47-2005 (R2007) HUMIDITY ALTITUDE RAPID DECOMPRESSION ATTITUDE FUNGUS RESISTANCE ELECTROSTATIC DISCHARGE RESISTANCE (WITH OPTIONAL COVERS) CORROSION RESISTANCE
ANSI/VITA 47-2005 (R2007)
ANSI/VITA 47-2005 (R2007) Forced Air and Air Flow Through Cooled Plug-In Units Conduction Cooled Plug-In Unit Allowable Edge Temperature
ANSI/VITA 47-2005 (R2007) Conduction Cooled Plug-In Unit Allowable Edge Temperature
ANSI/VITA 47-2005 (R2007) Liquid Cooled Plug-In Unit Allowable Coolant Temperature NON-OPERATING TEMPERATURE
ANSI/VITA 47-2005 (R2007) TEMPERATURE CYCLING
ANSI/VITA 47-2005 (R2007) Vibration Class V1 5 Hz to 100 Hz Power Spectral Density (PSD) = 0.04 g 2 /Hz Vibration Class V2 5 Hz to 100 Hz PSD increasing at 3 db/octave 100 Hz to 1000 Hz PSD = 0.04 g 2 /Hz 1000 Hz to 2000 Hz PSD decreasing at 6 db/octave Vibration Class V3 5 Hz to 100 Hz PSD increasing at 3 db/octave 100 Hz to 1000 Hz PSD = 0.1 g 2 /Hz 1000 Hz to 2000 Hz PSD decreasing at 6 db/octave
ANSI/VITA 47-2005 (R2007) SHOCK Operating Shock Class OS1 20g, 11 millisecond, half-sine, 20g, 11 millisecond, terminal sawtooth shock pulses in all three axes. Operating Shock Class OS2 40g, 11 millisecond shock half-sine, 40g, 11 millisecond, terminal sawtooth shock pulses in all three axes.
Komputery przemysłowe standardu PC/104 i jego rozszerzeń
Rys historyczny 1987 powstają pierwsze produkty formatu PC/104; 1992 marzec, powstaje standard PC/104 wersja 1.0; 1994 lipiec, rewizja standardu PC/104 w życie wchodzi wersja 2.1; 1994 wrzesień, poprawki które dają początek wersji 2.2; 1996 czerwiec, kolejne uzupełnienia tworzą wersję 2.3; 2001 sierpień, powstaje wersja 2.4; 2003 listopad, obowiązująca wersja specyfikacji PC/104 wersja 2.5.
Rys historyczny Typy zgodności: Zgodny z PC/104 (ang. Compliant) dotyczy urządzeń, które spełniają wszystkie obowiązkowe aspekty specyfikacji mechanicznej i elektrycznej standardu PC/104; Kompatybilny z magistralą PC/104 (ang. Bus- Compatible) dotyczy urządzeń, które nie spełniają wymagań np. co do wymiarów ale zawierają złącza magistrali i są w pełni zgodne ze specyfikacją mechaniczną i elektryczną tych złącz.
Przykładowa architektura komputera standardu PC/104 z CPU klasy x86 Prometheus: procesor 486-DX2 100 MHz; pamięć SDRAM; flash z BIOS em; lokalna magistrala PCI; kontorler Ethernetu; kontroler akwizycji danych; magistrala ISA.
Przykładowa architektura komputera ATHENA II: procesor CPU; procesor video; pamięć SDRAM; mostek PCI; kontroler ethernetu; układ akwizycji danych; 4xRS232; kodek Audio. standardu PC/104
Zalety PC/104 Zwarta budowa, małe wymiary kart; Zminimalizowana liczba elementów na kartach; Niski pobór mocy (1-2W/moduł); Unikatowa szyna self-stacking eliminuje konieczność stosowania platerów(backplane ów) i obudów kart; Szeroki asortyment kart rozszerzeń analogowych oraz cyfrowych; Możliwość stosowania modułów różnych producentów we wspólnej aplikacji; Niski koszt podzespołów w porównaniu z innymi urządzeniami przemysłowymi; Duża grupa producentów urządzeń PC/104 (ponad 125).
Wady PC/104 Możliwość konstruowania systemów tylko jednoprocesorowych; Zbyt wolna magistrala dla niektórych zastosowań (8MB/s lub 16MB/s); Ograniczenie objętości przesyłanych danych do bloków 64kB (128 kb w kanałach 16-bitowych) Ograniczona szerokość szyny danych 8, 16 bitów; Ograniczone zasoby systemowe (w starszych modułach PC/104).
Specyfikacja mechaniczna 16- i 8-bitowego modułu PC/104
Konfiguracje mechaniczne systemów opartych na modułach PC/104
Zabudowa mechaniczna systemu opartego na modułach PC/104 System zabudowy PANDORA
Wybrane aplikacje oparte na Echosonda ESDA-16: komputerach PC/104
Wybrane aplikacje oparte na komputerach PC/104 System stabilizacji położenia anteny sonaru podkilowego MCM:
Wybrane aplikacje oparte na Hydrotelefon HTL-10: komputerach PC/104
PC/104-Plus
PC/104-Plus Wraz z rozwojem sprzętu komputerowego oraz zaawansowanymi wymaganiami technologicznymi zaistniała potrzeba zwiększenia przepustowości magistrali. W szczególności dotyczyło to procesorów graficznych oraz innych szybkich urządzeń I/O takich jak kontrolery sieci. Było to bezpośrednią przyczyną dołączenia magistrali PCI do modułów PC/104, które zostały nazwane PC/104-Plus. Architektura ta umożliwia łączenie uniwersalnego sprzętu o dużej szybkości działania we współczesnych i przyszłych rozwiązań sprzętowych. Różnice w odniesieniu do PC/104: dodatkowe złącze magistrali PCI; wysokość komponentów na górnej warstwie płyty zredukowano z 0.435 do 0.345 na spodniej warstwie zwiększono z 0.100 do 0.190 w celu zwiększenia elastyczności modułów; logika sterująca szybką magistralą PCI.
PC/104-Plus Różnice w odniesieniu do magistrali PCI Local Bus Specification: standardowe złącze krawędziowe 124-stykowe magistrali PCI Local Bus zastąpiono złączem 120-stykowym (4x30) o rozstawie 2 mm. 120-stykowe złącze PCI nie zapewnia rozszerzenia 64-bitowego magistrali PCI, sygnałów JTAG, PRSNT oraz CLKRUN.
Sygnały magistrali PCI M66EN w modułach, które nie pracują z sygnałem taktującym 66 MHz, styk powinien być zwarty do masy, w modułach, które mają możliwość pracy z takim sygnałem zegarowym pin ten powinien być wolny.
PC/104-Plus Interrupt routing for desktop PC:
PC/104-Plus Signal select on an Expansion Board: Rotary Switch Settings:
PC/104-Plus Rodzaje modułów: PCI Host Module moduł zarządzający, określa poziom sygnałów na magistrali PCI poprzez podłączenie wszystkich linii VI/O do odpowiedniego napięcia. Podłączenie linii VI/O do napięcia 3.3V oznacza, że system używa poziomów logicznych 3.3V. Podłączenie linii VI/O do napięcia 5V oznacza, że system używa poziomów logicznych 5V. Niektóre moduły pozwalają użyć tylko jednej opcji inne umożliwiają użytkownikowi ustawić, przy pomocy jumperów, żądany poziom sygnałów I/O. 3.3V moduły rozszerzeń pracują z sygnałami I/O 3.3V. Użycie modułów z sygnałami I/O 5V spowoduje zniszczenie modułów 3.3V. 5V moduły rozszerzeń pracują w systemach gdzie linie VI/O podłączone są do napięcia 5V. Użycie modułów z sygnałami I/O 3.3V spowoduje zniszczenie tych modułów. Uniwersalne moduły rozszerzeń pozwalają użytkownikowi wybrać odpowiedni poziom sygnałów I/O stosownie do modułu Host PCI.
PC/104-Plus specyfikacja mechaniczna
EBX Embedded Board, expandable
Standard EBX W przeszłości projektanci zwartych systemów przemysłowych musieli wybierać pomiędzy popularnymi rozwiązaniami opartymi na backplanach np. VMEbus, CompactPCI, desktopowych płytach głównych np. komputery panelowe i innych podobnych rozwiązaniach. Rozmiary i pobór mocy skutecznie ograniczały znalezienie właściwego rozwiązania projektowanych systemów wbudowanych. W wyniku nacisków producentów systemów przemysłowych oczekujących na pojawienie się taniego a za razem popularnego i uniwersalnego sprzętu powstało właściwe rozwiązanie Embedded Board expandable. Standard EBX daje możliwość tworzenia rozwiązań, które spełniają wymagania systemów przemysłowych, wykorzystują trendy na rynku komputerów wbudowanych i oferują wygodę, elastyczność, zmniejszenie ryzyka oraz skalowalność projektowanych systemów.
Specyfikacja mechaniczna standardu EBX
Specyfikacja mechaniczna standardu EBX Płyta EBX jest podzielona na strefy przeznaczone różnym interfejsom i komponentom. Każdą ze stref i przypisaną jej funkcję definiują kolejne ilustracje i opis poniżej. Specyfikacja definiuje maksymalne wysokości komponentów w każdej ze stref. Wysokości te nie mogą być przekraczane przez żadne elementy znajdujące się w danej strefie. Dopuszczalne maksymalne wysokości specyfikuje poniższa tabela. Wiele płyt zgodnych ze specyfikacją EBX pełni funkcję jednopłytowych komputerów zawierających rozszerzenia pamięci, złącza PC Card, porty Ethernet, porty masowych urządzeń magazynujących i urządzeń pomocniczych oraz interfejsów CRT i LCD. Komputery EBX nie wymagają implementacji wszystkich tych funkcji, jednak specyfikują, w których miejscach muszą być one umieszczone. Przestrzeganie tych wytycznych ułatwia współpracę produktów różnych producentów.
EBX dopuszczalne wysokości stref
Specyfikacja stref modułu EBX wersja Tall CPU
Specyfikacja stref modułu EBX ze złączem do PC Card
Architektura komputera Embedded Board expandable
EPIC Embedded Platform for Industry Computing TM
EPIC Embedded Platform for Industry Computing TM Specyfikacja EPIC definiuje płyty komputerów, klasy ang. Single Board Computer, średniego rozmiaru z szeroką gamą układów rozszerzeń I/O. Wymiary tych płyt mieszczą się pomiędzy gabarytami przemysłowego standardu PC/104 a formatem płyt EBX SBC. Płyty o takich wymiarach dają możliwość stosowania procesorów o dużej mocy obliczeniowej, które wymagają chłodzenia.
Specyfikacja mechaniczna i rozkład stref na płycie EPIC
Wysokości stref w standardzie EPIC
Architektura SBC standard EPIC
Data Acqusition System
Komputery przemysłowe standardu VMEbus
Specyfikacja magistrali VMEbus i jej rozszerzenia
Specyfikacja Versatile Backplane Bus: VMEbus Specyfikacja VMEbus została opracowana w 1981 r. od tego momentu była wielokrotnie aktualizowana. Zmiany dokonywane były 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 objaśniały 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.
Revision A Była pierwszą wersją specyfikacji. Zaczerpnięta z wcześniejszej specyfikacji VERSAbus, która została opracowana przez firmę Motorola Microsystems (Phoenix, Arizona USA) w końcu lat 70 ubiegłego wieku. W roku 1980 grupa inżynierów z Motorola Microsystems (Monachium, Niemcy) zaproponowała połączenie specyfikacji VERSAbus i popularnego formatu zabudowy Eurocard w standard, który został nazwany VERSAbus-E. Powstała grupa wytwórców, składająca się z firm Mostek, Motorola i Signetics, która nazwała nową magistralę VMEbus. W 1981 roku grupa opublikowała ogólnodostępną wersję specyfikacji nazwaną Rewizją A. Pierwsza wersja służyła do publicznej dyskusji i nie była przeznaczona dla celów projektowych.
Revision B W 1982 roku została opublikowania Rewizja B specyfikacji. Druga wersja udoskonalała specyfikację w kwestii układów sterujących liniami sygnałowymi oraz wprowadzała specyfikację mechaniczną standardu Eurocard IEC 297-3. W roku 1982 francuska delegacja IEC (International Electrotechnical Commission) wystąpiła o uznanie VMEbus jako standardu. IEC powołała komitet, który rozpoczął formalną standaryzację magistrali nazywając ją, magistralą IEC-821. W 1983 IEEE również powołał komitet do standaryzacji magistrali VMEbus. Wersja IEEE została nazwana IEEE- P1014.
Revision C Rozprowadzane Rewizje B specyfikacji IEC i IEEE wymagały kolejnych zmian. Pojawiły się one w Rewizji C opublikowanej w lutym 1985 r. Specyfikacja znana jako IEEE P1014/D1.0. Rewizja C definiowała pojęcia z rewizji B w znacznie przejrzysty sposób poprzez usunięcie wieloznaczności, opracowanie lepszego opisu technicznego oraz poprawę zgodności. Język specyfikacji stał się bardziej zrozumiały przez dodanie słów kluczowych tj.: REGUŁA, ZALECENIE, SUGESTIA, ZEZWOLENIE, OBSERWACJA. Rewizja C wprowadzała kilka nowych właściwości magistrali: Moduł funkcjonalny monitora magistrali; Moduł funkcjonalny sterownika łańcucha IACK*; Cykl magistrali transmisji danych nieuporządkowanych; Cykl Adresowania; Limit w cyklu blokowej transmisji danych do 256 bytów; Rozszerzony cykl RMW dla danych 2- i 4-bajtowych; Zezwolenie na odrzucenie żądania magistrali w czasie arbitrażu; Rozszerzenie transmisji słowa STATUS/ID do 4 bajtów; Czytelniejszą definicję mechanizmu zwalniania przerwania.
Revision C.1 W 1985 roku komitet IEEE-P1014 zatwierdził dodatkowe zmiany w rewizji C. Zmiany te zawierały dalsze objaśnienia specyfikacji oraz usuwały pewne niezgodności. Mimo że istnieją subtelne różnice pomiędzy rewizjami C i C.1 to nie dodano ani nie usunięto żadnych właściwości magistrali. Wersja C.1 odpowiada wersji IEEE-1014/D1.2 i IEC-821, która została zatwierdzona w 1986 r. Rewizja C.1 jest uważana za ostatnią wersję specyfikacji, do której żadna z organizacji starndaryzujących nie posiada praw autorskich. Do wszystkich późniejszych wersji specyfikacji prawa autorskie posiadają IEEE i ANSI.
IEEE-1014-1987 (Revision C.3) W 1987 roku IEEE zatwierdził nową wersję specyfikacji zwaną IEEE- 1014/D2.2, która nazywana jest również IEEE-1014-1987 (czasem Rewizją C.3). Różnica pomiędzy rewizjami C.1 a C.3 to najczęściej precyzowanie różnych opcji magistrali. Z tego powodu IEEE ogłosiła tę wersję jako najbardziej kompatybilną. Niektóre poprawki zawierały: Zmiany edytorskie precyzujące różne warianty; Szczegółowy opis wariantów; Usunięcie powtarzających się zezwoleń; Uzupełnienie arbitrażu magistrali o algorytm FAIR requester; Uzupełnienie monolitycznego platera złączami J1/J2 (wersja 6U); Załącznik D opisujący możliwe niestabilności i przykładowe rozwiązania sprzętowe; Załącznik E opisujący dozwolone opcje dodatkowe.
Revision D W 1991 roku rozpoczęto prace nad rewizją D specyfikacji VMEbus. Koncepcje z rewizji D poźniej zostały przeniesione do ANSI (ang. American National Standards Institiute) akredytowanej przez VITA Standard Organization (VSO). Koncepcje te w połączeniu ze sformułowaniami z Rewizji C.1 (nie objętej prawami autorskimi) dały ostatecznie standard ANSI/VITA 1-1994 (VME64).
ANSI/VITA 1-1994 (VME64) ANIS/VITA 1-1994 (VME64) jest najnowszą wersją specyfikacji. Kolejna generacja architektury VMEbus zapewnia przedłużenie życia magistrali w XXI wieku. Nowy standard oferuje, wymagane zmiany w postaci większej przepustowości magistrali, szerszej przestrzeni adresowej i prostszych w użyciu kart. Nowe właściwości magistrali proponowane w VME64: Szersza 64-bitowa magistrala danych w płytach 6U; Szerszy 64-bitowy zakresów adresów w płytach 6U; 32-bitowa szyna danych i 40-bitowa szyna adresowa w płytach 3U; Podwojona przepustowość magistrali do 80 MB/s; System złącz zapewniający mniejsze zakłóceń; Możliwość powtórnego cyklu RETRY*; Cykl Bus LOCK; Detektor pierwszego slota; Mechanizm plug-and-play; Możliwość konfiguracji ROM/CSR; Automatyczna identyfikacja slota; Ponowna definicja sygnałów SERCLK i SERDAT. Obecnie, terminem VME64 błędnie określa się, wszystkie moduły dostosowane do Rewizji C.1 specyfikacji VMEbus, które uważa się za zgodne z VME64 (poza możliwościami transmisji danych). Dla przykładu 16- lub 32-bitowa płyta CPU opracowana według starej specyfikacji może być (poprawnie) identyfikowana jako moduł kompatybilny z VME64. Wszystkie rozszerzenia z VME64 są opcjonalne. Nowe produkty pracują w połączeniu z płytami starszego typu dostarczając nowych możliwości producentom systemów przemysłowych.
VITA 1.1-1997 (VME64x) W 1997 roku VSO zaadoptowało nowe możliwości do specyfikacji VME64. Nowy standard nazwano VME64 Extentions (VME64x). Dodaje on wiele nowych możliwości architekturze VME64: Nowe złącza 160-stykowe; Nowe złącza 95-stykowe P0/J0; Dodatkowe 141 styki I/O definiowane przez użytkownika (ang. user defined); Moduły przejściowe dołączane od tyłu; Mechanizmy ułatwiające wkładanie/wyjmowanie modułów; Elementy EMC na przednich panelach; Lepsza ochrona ESD (ang. electrostatic discharge); Możliwość blokowania kard; Dodatkowe zasilanie +3.3V; Dodatkowe styki zasilania +5V; Adresowanie geograficzne; Rozbudowane definicje rejestrów CR/CSR; Nowy cykl 2eVME (transfer do 160 MB/s); Wsparcie modułów hot-swappable ; Szyna utrzymania i testowania. Wszystkie moduły zgodne z VMEbus i VME64 są kompatybilne w przód z platerami i kasetami VME64x. Oznacza to iż starsze moduły mogą być wykorzystywane w nowych systemach. Ogólnie odwrotne stwierdzenie jest również prawdziwe. Moduły projektowane na magistralę VME64x są kompatybilne wstecz ze starszymi platerami i kasetami. Na przykład nowe 160-stykowe złącze może być podłączone do starego platera. Jakkolwiek są wyjątki od tej zasady gdy płyta wymaga zasilania +3.3V. VME64x definiuje wiele opcjonalnych możliwości, mimo tego podaje minimum jakie musi zawierać płyta i plater aby mogły być uważane za zgodne z VME64x. Wszystkie pozostałe właściwości uważane są jako opcjonalne.
Specyfikacja VMEbus terminologia W celu uniknięcia niedomówień i stworzenia przejrzystych wymagań w kwestii zgodności słowa kluczowe określają typ informacji wyspecyfikowanej przez każdą kategorię: reguła (ang. rule); zalecenie (ang. recommendation); sugestia (ang. suggestion); zezwolenie (ang. permission); obserwacja (ang. observation). Reguła reguły wyrażone mogą być w formie tekstowej, graficznej, stablicowanej lub w formie schematu, charakteryzują się trybem rozkazującym. Przestrzeganie wszystkich reguł gwarantuje kompatybilność produktu. Słowa shall i shall not są zarezerwowane dla wyrażenia reguł i nie mogą być wykorzystywane do innych celów. Zalecenie wszędzie gdzie zalecenie są sugerowane projektanci są ostrzegani o konieczności stosowania się do nich. Postępowanie odmienne może powodować duże problemy lub ograniczone możliwości systemu. Magistralę projektowano dla systemów wymagających dużych przepustowości, jednak możliwe jest zaprojektowanie systemu spełniającego wszystkie reguły, lecz charakteryzującego się słabymi osiągam. W wielu wypadkach, projektant potrzebuje pewnego poziomu doświadczenia aby projektować płyty zapewniające wysokie wymagania. Zalecenia bazują na tego typu doświadczeniach i zapewniają przyspieszenie uzyskania żądanego efektu końcowego. Sugestia składa się z porady, którą można uwzględnić lecz nie ma takiego obowiązku. Użytkownik jest zachęcany do rozpatrzenia sugestii przed jej definitywnym odrzuceniem. Podjęcie niektórych decyzji odnośnie rozwiązań zastosowanych w projekcie jest trudne przy braku doświadczenia. Sugestie dotyczą tworzenia obwodów drukowanych w kwestiach łatwej rekonfiguracji oraz prostego uruchamiania systemu itd.
Specyfikacja VMEbus terminologia Zezwolenie w niektórych sytuacjach reguła nie zabrania szczególnych sposobów projektowania, lecz użytkownik może być zaskoczony że jego podejście będzie naruszać jakąś regułę lub spowoduje jakiś niezauważalny problem. Zezwolenie upewnia użytkownika pewne podejście jest akceptowalne i nie spowoduje problemów. Słowo may jest zarezerwowane dla wyrażania zezwolenia i nie może być używane do innych celów. Obserwacja obserwacje nie dają żadnych określonych rad. Zazwyczaj są naturalnym następstwem dyskusji. Wyjaśniają implementacje pewnych reguł i zwracają uwagę na sytuacje, które mogą być niezauważone. Przemawiają za pewnymi regułami. Tak że projektant może zrozumieć dlaczego dana reguła musi być spełniona. Jakikolwiek tekst, nieoznaczony powyższymi słowami kluczowymi, opisujący strukturę systemu lub jego działanie pisany jest w stylu opisowym lub narracyjnym.
Elementy systemu zdefiniowane przez STANDARD
Moduły funkcjonalne i szyny definiowane przez STANDARD
Moduły funkcjonalne 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ą 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ę przy długich odwołaniach do modułów pamięci i awariach 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.
Moduły funkcjonalne 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 tylko jeden moduł żądający odpowie słowem STATUS/ID w przypadku gdy zgłoszeń jest więcej. 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 inaczej nazywany bus requester em.
Moduły funkcjonalne ARBITER moduł przyjmujący żądania dostępu do magistrali od modułu żądającego i przyznaje 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 resetu i monitorowanie systemowego źródła zasilania AC. Moduł ten wystawia sygnały SYSRESET* i opcjonalnie ACFAIL*.
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.
Szyny magistrali VMEbus 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.
Szyny magistrali VMEbus System przerwań wykonywany jest poprzez priorytetową szynę przerwań. Możliwe jest używanie siedmiu poziomów przerwań. Szyna narzędziowa jest zbiorem sygnałów używanych do resetowania systemu, okresowego taktowania, diagnostyki systemu oraz wykrywania awarii zasilania.
Sygnały magistrali VMEbus A01-A31 linie adresowe są wystawiane przez moduły MASTER i obsługi przerwań. Podczas cykli transmisji danych służą do rozgłaszania, w trybie short i/o (16-), standard (24-), extended (32- bitowego) adresu. Szerokość szyny adresowej ustala MASTER kodem modyfikatora adresu, linie AM0-AM5. Brak linii A00. Zerowa linia adresowa dekodowana jest z linii strobów danych DS0*, DS1*. Linie adresowe mogą być używane do częściowej transmisji danych podczas cykli MBLT, MD32 i 2eVME. Modułu obsługi przerwań używają linii A01-A03 do rozsyłania poziomu potwierdzanego przerwania w cyklu IACK*. ACFAIL* linia ustawiana przez monitor zasilania. Sygnalizuje wszystkim modułom zanikanie zasilania systemu. Używanie tego sygnału jest opcjonalne. ACFAIL* jest sygnałem z otwartymkolektor. AM0-AM5 kod modyfikatora adresu ustawiany jest przez moduł nadrzędny. Towarzyszy każdemu adresowi i określa wielkość oraz rodzaj adresu. Jest używany przez moduły podrzędne do określenia, które linie adresowe powinny być dekodowane. Linie AM0-AM5 są trójstanowe. AS* adres strobe ustawiany jest przez moduły MASTER i obsługi przerwań. Oznacza iż ważny adres i kod modyfikatora adresu wystawione są na magistralę. Sygnał ten wskazuje też inne sygnału np. IACK*. Linia ta jest trójstanowa o dużej wydajności prądowej. BBSY* magistrala zajęta, sygnał ustawiany przez moduły nadrzędne i obsługi przerwań w trakcie transmisji danych. Arbiter monitoruje ten sygnał w celu określenia kiedy może przydzielić magistralę innemu modułowi. BBSY* jest sygnałem z otwartym-kolektor.
Sygnały magistrali VMEbus BCLR* Bus Clear sygnał ustawiany jest przez arbitra magistrali. Informuje aktualnego użytkownika magistrali o tym, że inny moduł żąda dostępu do magistrali. BCLR* jest linią z obciążeniem aktywnym (ang. totem-pole) o wysokiej wydajności prądowej. BERR* błąd magistrali sygnał jest ustawiany przez moduł: podrzędny lub układ czasowy magistrali. SLAVE ustawia linię BERR* gdy podczas cyklu wystąpi jakiś błąd. Układ czasowy magistrali ustawia linię gdy magistrala jest zawieszona (poprzez błędne odwołanie, adresowanie pamięci). BERR* jest linią typu otwarty-kolektor. BG0IN*-BG3IN*/BG0OUT*-BG3OUT* sygnały te są częścią łańcucha przydziału magistrali i ustawia je arbiter lub moduły typu REQUESTER. ARBITER ze slota 01 ustawia dostęp do magistrali w odpowiedzi na żądanie na tym samym poziomie [BR0*-BR3*]. Łańcuch przydziału magistrali uruchamia kontroler systemu ze slota 01 i propagowany jest od modułu do modułu aż do momentu kiedy dotrze do miejsca inicjującego żądanie dostępu do magistrali. Każdy moduł VMEbus posiada wejście i wyjście. Linie te są sygnałami typu totem-pole. BR0* BR3* - linie żądania magistrali ustawiane są przez moduły żądające dostępu do magistrali, czyli moduły: nadrzędne lub obsługi przerwań. Są to sygnały z otwartym kolektorem.
Sygnały magistrali VMEbus D00 - D31 linie szyny danych, ustawiane przez moduły MASTER, SLAVE lub zgłaszające przerwania. Są to dwukierunkowe linie używane do transferu danych. Użycie różnych części szyny danych zależy od stanów linii DS0*, DS1*, A01 i LWORD*. Są to linie trójstanowe. Linie te mogą być wykorzystywane jako część adresu podczas cykli MD32, MBLT i 2eVME. DS0*- DS1* linie strobów danych ustawiane są przez moduły: nadrzędne i obsługi przerwań. Sygnały te służą nie tylko do klasyfikacji danych lecz wskazują ich rozmiar i położenie na magistrali. Stroby danych w połączeniu z sygnałami LWORD* i A01 rozmiar i typ transferu danych. Linie te są sygnałami trójstanowymi. DTACK* potwierdzenie transmisji danych sygnał ustawiany jest przez moduł: podrzędny lub zgłaszający przerwanie. Podczas cyklu zapisu DTACK* ustawiany jest po zatrzaśnięciu danej. Podczas cyklu odczytu i potwierdzenia przerwania DTACK* ustawiany jest po wystawieniu danej na szynę. Linia ta może być typu otwarty kolektor lub trójstanowa o wysokiej wydajności prądowej. GA0*-GA4* adres geograficzny linie te stanowią binarny kod, który wskazuje numer slota na platerze. Są sygnałami typu otwarty kolektor i zostały dodane do złącza P1/J1 w specyfikacji VME64x. GAP* parzystość adresu geograficznego. GAP* może być zwarty do VCC lub przełączany zależnie od parzystości adresu geograficznego. Linia ta jest typu otwarty kolektor i została dodana w specyfikacji VME64x.
Sygnały magistrali VMEbus GND służy jako poziom odniesienie dla sygnałów magistrali. IACK* sygnał potwierdzenie przerwania ustawiany jest przez moduł obsługi przerwania w odpowiedzi na żądanie przerwania. Jest podłączony do sygnału IACKIN* na slocie 01 i używany przez drivera łańcucha IACK* do propagacji łańcuchem IACKIN*-IACKOUT. IACK* może być linią z otwartym kolektorem lub trójstanową. IACKIN*-IACKOUT* łańcuch potwierdzenia przerwania ustawiany jest przez driver łańcucha IACK*. Sygnał wykorzystywany jest w dwojaki sposób, wskazuje że trwa cykl potwierdzenia przerwania oraz określa, który moduł zgłaszający przerwanie powinien zwrócić słowo STATUS/ID. Są standardowymi sygnałami TTL. IRQ1*-IRQ7* priorytet przerwania określony jest przez moduł zgłaszający przerwanie. Poziom 7 posiada najwyższy priorytet poziom 1 najniższy. Są to linie typu otwarty kolektor. LI/I* sygnał używany jest do przenoszenia informacji osadzania modułów hot swap. Dodany w specyfikacji VME64x jest sygnałem trójstanowym. LI/O* sygnał używany jest do przenoszenia informacji osadzania modułów hot swap. Dodany w specyfikacji VME64x jest sygnałem trójstanowym. LWORD* - długie słowo sygnał wystawiany przez moduł nadrzędny. W połączeniu z A01, DS0*, DS1* wskazuje rozmiar transmitowanej danej. Jest sygnałem trójstanowym. Podczas transmisji 64-bitowego adresu pełni rolę adresu A00. W czasie transmisji 64- bitowego słowa danych stanowi bit danej.
Sygnały magistrali VMEbus RESP* używany jest do przenoszenia informacji zdefiniowanych w protokole 2eVME. Linia ta została dodana w specyfikacji VME64x. RETRY* razem z sygnałem BERR* może być ustawiony przez moduł podrzędny w celu opóźnienia transmisji danych. MASTER musi wówczas spróbować powtórzyć cykl w późniejszym czasie. Cykl powtórzenia zapobiega powstawaniu sytuacji bez wyjścia. Jest sygnałem trójstanowym. Sygnał został dodany w specyfikacji VME64. SYSCLK sygnał zegarowy o częstotliwości 16MHz dostarczany jest przez kontroler systemowy. Sygnał ma przeznaczenie ogólne i nie jest powiązany z innymi sygnałami magistrali. SYSCLK jest standardowym sygnałem TTL o wysokiej wydajności prądowej. SYSFAIL* może być monitorowany przez dowolny moduł wskazuje że w systemie wystąpił błąd. Implementacja SYSFAIL zdefiniowana jest przez użytkownika i jest opcjonalna. SYSRESET* system reset może być ustawiony przez dowolny moduł i wskazuje że trwa cykl resetu (np. w czasie włączania zasilania). VPC są to linie typu pierwsze włączone ostatnie wyłączone wykorzystywane są jako zasilanie dla logiki hot swapowej. Dodane zostały w specyfikacji VME64x. V1/V2 AP pomocnicze źródło zasilania. Dodane w specyfikacji VME64x. WRITE* sygnał ustawiany przez moduły nadrzędne. Wskazuje kierunek przepływu danych na magistrali. Jest sygnałem trójstanowym. +5V STDBY opcjonalny sygnał standby. +3.3 V główne zasilanie 3.3V. Został dodany w specyfikacji VME64x.
Bus Grant Daisy-Chain
Cykle transmisji danych na VMEbus Na magistrali VMEbus można wygenerować 8 typów cykli transmisji danych. Tak szeroka gama cykli pozwala dopasować magistralę do wymagań systemu. Read/Write Cycle (R/W Cycle) używany jest do przesyłania, pomiędzy modułami typu MASTER i SLAVE, 8, 16, 24 lub 32-bitowych danych. Cykl rozpoczyna się rozgłoszeniem przez moduł nadrzędny adresu i kodu modyfikatora adresu. Wybrany moduł podrzędny przechwytując adres, odpowiada na cykl ustawieniem odpowiednich stanów logicznych na liniach DTACK*, BERR* lub RETRY*( 1 ). Cykl R/W możliwy jest w trybie adresowania 16, 24, 32-bitowego. Dane 64-bitowe nie mogą być transmitowane w tego typu cyklu. Read-Modify-Write Cycle (RMW Cycle) używany jest do odczytu z i zapisu danych do modułu typu SLAVE bez zezwolenia dostępu do danej lokalizacji innym modułom MASTER, najważniejszą jego cechą jest niepodzielność. Cykl ten jest szczególnie użyteczny w systemach wieloprocesorowych lub wielodostępowych, gdyż umożliwia arbitraż dostępu do współużytkowanych zasobów wykorzystujący mechanizm semaforów. Block Transfer Cycle (BLT Cycle) w cyklu tym przesyłany jest blok danych pomiędzy modułami MASTER i SLAVE. Możliwe jest przesłanie do 256 słów 4-bajtowych w jednym cyklu. Ten sposób transmisji jest szybszy od cyklu R/W, gdyż moduł SLAVE jest adresowany tylko raz (na początku cyklu). Następnie liczniki w lokalizacji SLAVE i MASTER śledzą lokalne adresy. Wykorzystując tego rodzaju cykl można osiągnąć szybkość transmisji do 40 MB/s. Najczęściej cykl ten wykorzystywany jest do szybkiego przesyłania dużych pakietów danych.
Cykle transmisji danych na VMEbus Interrupt Acknowledge Cycle (IACK* Cycle) cykl potwierdzenia przerwania inicjowany jest przez moduł obsługi przerwania w odpowiedzi na zgłoszenie przerwania. Cykl ten spełnia dwie funkcje: wystawia słowo STATUS/ID i zarządza źródłami przerwań. Arbitration Cycle (ARB Cylce) zachodzi na magistrali arbitrażowej. Zaczyna się żądaniem dostępu do magistrali. Centralny arbiter przydziela magistralę, gdy jest ona wolna, układowi żądającemu, który sygnalizuje przejęcie magistrali ustawieniem sygnału BBSY*. Zwolnienie magistrali następuje poprzez zanegowanie sygnału BBSY*. Układy mogą jednocześnie żądać dostępu na różnych poziomach lub na tym samym poziomie. Address-Only Cycle (ADO Cycle) w tym cyklu moduł MASTER generuje ważny adres, lecz nie generuje strobu danych. Moduł SLAVE nie odpowiada na swój adres. Cykl ten umożliwia równoległą pracę dekoderów adresu na modułach MASTER i SLAVE, co w niektórych sytuacjach przyspiesza pracę systemu. Czasem tego rodzaju cykl nazywany jest cyklem do-nothing.
Cykle na magistrali VMEbus
MBLT Cycle
MD32 Cycle
2eVME address broadcast phase
2eVME write data cycle
Interrupt example
Interrupt Acknowledge cycle D08(O)
A24-A31 A16-A23 A08-A15 LWORD* A01-A07 D24-D31 D16-D23 D08-D15 D00-D07 DS1* DS0* A01 LWORD* A02* Active portion of Data transfer bus during transfer Active portion of Data transfer bus during transfer Control Signal Levels EIGHT BYTE(0-7) MBLT Address Broadcast Phase Only BYTE(0) BYTE(1) BYTE(2) BYTE(3) BYTE(4) BYTE(5) BYTE(6) BYTE(7) 0 0 0 0 0 MD32 MD32 Address Broadcast Phase Only BYTE(0) BYTE(1) BYTET(2) BYTE(3) 0 0 0 0 X QUAD BYTE(0-4) BYTE(0) BYTE(1) BYTE(2) BYTE(3) 0 0 0 0 X UNALIGNED(0-2) BYTE(0) BYTE(1) BYTE(2) 0 1 0 0 X UNALIGNED(1-3) BYTE(1) BYTE(2) BYTE(3) 1 0 0 0 X UNALIGNED(1-2) BYTE(1) BYTE(2) 0 0 1 0 X DBL BYTE(2-3) BYTE(2) BYTE(3) 0 0 1 1 X DBL BYTE(0-1) BYTE(0) BYTE(1) 0 0 0 1 X SINGLE BYTE(3) 1 0 1 1 X SINGLE BYTE(2) 0 1 1 1 X SINGLE BYTE(1) 1 0 0 1 X SINGLE BYTE(0) 0 1 0 1 X ILLEGAL 1 0 1 0 X 0 1 1 0 X
Address Sizing Address Modifier Code Address bits Active address Lines Mnemonic Short I/O 16 A01-A15 Aa16 Standard 24 A01-A23 A24 Extended 32 A01-A31 A32 ------------ 40 A01-A23 A40 D00-D15 Long 64 A01-A31 D00-D31 A64
Sprzęg z magistralą VIC068A
Sprzęg z magistralą Universe IID
Zastosowanie Universe IID
Sprzęg z magistralą VMEbus Tsi148
Zastosowanie Tsi148
SQR-19
MG-322
OKA-2M/Z