VMEbus

Da Wikipedia, l'enciclopedia libera.
Esempio di bus VME

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[modifica | modifica wikitesto]

Nel 1981 Motorola, nel corso dello sviluppo del microprocessore 68000, ideò un bus di comunicazione chiamato VERSAbus basato sullo standard Eurocard. 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[modifica | modifica wikitesto]

Il 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.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]