VMEbus
Il bus VME o VMEbus è un bus standard per computer sviluppato originariamente da Motorola negli anni settanta, successivamente standardizzato e utilizzato ampiamente in informatica ed ingegneria per applicazioni comuni. VME è acronimo di VERSABUS Module Eurocard.
Storia
modificaNel 1981 Motorola, nel corso dello sviluppo del microprocessore 68000, ideò un bus di comunicazione chiamato VERSAbus basato sullo standard Eurocard[1]. Successivamente altre grandi compagnie quali Philips e Thompson adottarono queste specifiche. Infine venne standardizzato dalla IEC come IEC 821 VMEbus, dalla IEEE e ANSI come ANSI/IEEE 1014-1987. Nel corso degli anni il protocollo VME ha subito varie modifiche fino all'attuale VME64, che appunto gestisce fino a 64 bit di indirizzamento. Esso raggiunge una performance di 40 MB/s. Il protocollo più recente è il VME64x che è dotato anche di funzionalità hot swap.
Caratteristiche tecniche
modificaIl bus VME utilizza un protocollo di comunicazione con linee dati ed indirizzi separate. Il numero massimo di indirizzi raggiunge 32 bit (scalabile anche a 24, 16 o 8 bit). I dati invece raggiungono al massimo 32 bit riducibili anche a 4, 16 o 24 bit.
Il bus VME è dotato di due connettori separati, generalmente indicati con P1 e P2, entrambi dotati di 3 linee da 32 pin. P1 contiene i 24 bit di indirizzo ed i 16 di dato, più tutti i segnali di controllo, come i data_strobe (DS1 e DS0), gli address modifier (AM[5..0]), ed altri come in tabella:
PIN | Linea A | Linea B | Linea C |
---|---|---|---|
01 | D00 | /BBSY | D08 |
02 | D01 | /BCLR | D09 |
03 | D02 | /ACFAIL | D10 |
04 | D03 | /BG0IN | D11 |
05 | D04 | /BG0OUT | D12 |
06 | D05 | /BG1IN | D13 |
07 | D06 | /BG1OUT | D14 |
08 | D07 | /BG2IN | D15 |
09 | GND | /BG2OUT | GND |
10 | SYSCLK | /BG3IN | /SYSFAIL |
11 | GND | /BG3OUT | /BERR |
12 | DS1 | /BR0 | /SYSRESET |
13 | DS0 | /BR1 | /LWORD |
14 | /WRITE | /BR2 | AM5 |
15 | GND | /BR3 | A23 |
16 | /DTACK | AM0 | A22 |
17 | GND | AM1 | A21 |
18 | /AS | AM2 | A20 |
19 | /GND | AM3 | A19 |
20 | /IACK | GND | A18 |
21 | /IACKIN | SERCLK | A17 |
22 | /IACKOUT | SERDAT | A16 |
23 | AM4 | GND | A15 |
24 | A07 | /IRQ7 | A14 |
25 | A06 | /IRQ6 | A13 |
26 | A05 | /IRQ5 | A12 |
27 | A04 | /IRQ4 | A11 |
28 | A03 | /IRQ3 | A10 |
29 | A02 | /IRQ2 | A09 |
30 | A01 | /IRQ1 | A08 |
31 | -12V | +5V (Batt) | +12V |
32 | +5V | +5V | +5V |
Il connettore P2 invece contiene altri 8 bit di indirizzo e ulteriori 16 bit di dato.
Il VME bus è caratterizzato da una gestione di tipo master-slave, è dotato di gestione degli interrupt e di cicli speciali di lettura. Impostando ad esempio il valore del parametro address modifier caratterizzato da 6 bit AM[0..5] si impostano ad esempio le seguenti funzionalità:
CODICE AM[0..5] | FUNZIONE | BIT INDIRIZZO | MODALITÀ DI ACCESSO |
---|---|---|---|
0x3f
|
Standard Supervisory block transfer | 24 bit
|
Block transfer privileged |
0x3e
|
Standard Supervisory Program access | 24 bit
|
Instruction access privileged |
0x3d
|
Standard Supervisor Data Access | 24 bit
|
Data access privileged |
0x3b
|
Standard Non-privileged block transfer | 24 bit
|
Block transfer for normal programs |
0x3a
|
Standard Non-privileged Program access | 24 bit
|
Instruction access non-privileged |
0x39
|
Standard non-privileged Data Access | 24 bit
|
Data access non-privileged |
0x2d
|
Short supervisory Access | 16 bit
|
Privileged access. |
0x29
|
Short non-privileged Access | 16 bit
|
Non-privileged access. |
0x0f
|
Extended supervisory Block transfer | 32 bit
|
Privileged block transfer. |
0x0e
|
Extended supervisory Program access | 32 bit
|
Privileged instruction access. |
0x0d
|
Extended supervisory Data Access. | 32 bit
|
Privileged data access. |
0x0b
|
Extended Non-privileged Block transfer | 32 bit
|
Non-privileged block transfer. |
0x0a
|
Extended Non-privileged Program access | 32 bit
|
Non-privileged instruction access. |
0x09
|
Extended non-privileged data access. | 32 bit
|
Non-privileged data access. |
Note
modifica- ^ VITA - VMEbus FAQ, su vita.com. URL consultato il 12 gennaio 2017.
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file su VMEbus
Collegamenti esterni
modificaControllo di autorità | LCCN (EN) sh89004271 · GND (DE) 4129691-6 · J9U (EN, HE) 987007553745805171 |
---|