VMEbus
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/VMEbus.jpg/220px-VMEbus.jpg)
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[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
[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. |
Note
[modifica | modifica wikitesto]- ^ VITA - VMEbus FAQ, su vita.com. URL consultato il 12 gennaio 2017.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]Wikimedia Commons contiene immagini o altri file su VMEbus
Collegamenti esterni
[modifica | modifica wikitesto]Controllo di autorità | LCCN (EN) sh89004271 · GND (DE) 4129691-6 · J9U (EN, HE) 987007553745805171 |
---|