VMEbus (VersaModular Eurocard bus) é um sistema de bus (caminho de dados do computador), projetado pela Motorola, Signetics, Mostek, e Thompson CSF, que é usado em aplicações industriais, comerciais e militares em todo o mundo. Os VMEbuses são usados em sistemas de controle de tráfego, sistemas de controle de armas, sistemas de comutação de telecomunicações, aquisição de dados, imagens de vídeo e robôs. Os sistemas VMEbus suportam melhor choque, vibração e temperaturas extendidas do que os ônibus usados em computadores desktop, tornando-os ideais para ambientes agressivos.
Um sistema VMEbus é baseado no padrão VME. A norma VME define as especificações mecânicas, tais como dimensões da placa, especificações do conector e características da caixa, assim como as especificações eletrônicas para estruturas de subônibus, funções de sinal, tempo, níveis de tensão do sinal e configurações mestre/escravo. A mais recente norma VME é a norma VME64. O padrão VME64 especifica um caminho de dados de 64 bits para placas 6U, um caminho de dados de 32 bits para placas 3U, o dobro da largura de banda para transmissão de dados, menor ruído e recursos plug and play. Desde o padrão VME64, uma extensão chamada VME64x foi adicionada que suporta hot swap . Cartões VME64 podem ser usados em sistemas de barramento VME antigos e cartões VMEbus antigos podem ser usados em sistemas VME64.
Em 1997, uma arquitetura de barramento VME modificada chamada VME320 foi lançada pelo Arizona Digital. Esta arquitetura foi projetada para aumentar a transferência de dados para 320 Mbps e a largura de banda para 500 Mbps. O design do backplane é diferente do original VMEbus backplane.
O sistema VMEbus usa Eurocards. Um Eurocard é uma placa de circuito europeu que usa uma ficha de 96 pinos em vez de um conector de borda, tornando-o mais durável. Existem três tamanhos: 3U que é 4 x 6 polegadas, 6U que é 6 x 12 polegadas, e 9U que é 14 x 18 polegadas. Os cartões 3U suportam caminhos de dados de 8 e 16 bits e os cartões 6U suportam caminhos de dados de 32 bits. O padrão VME não suporta cartões 9U. Cada cartão é conectado a um barramento de dados. Um barramento de dados pode ter até 21 slots para cartões. Um sistema VMEbus é escalável e modular, o que significa que um cartão pode ser adicionado quando necessário sem ter que fazer qualquer outra alteração no sistema.
Um sistema operacional em tempo real ( RTOS ) é incluído quando um sistema VMEbus é comprado. Um RTOS é melhor para sistemas VMEbus devido à sua capacidade de realizar uma tarefa dentro de um determinado limite de tempo. Sistemas operacionais que não sejam em tempo real podem ser usados, mas não são recomendados.
Um sistema VMEbus usa uma arquitetura mestre/escravo. Um master é um dispositivo que controla outro dispositivo. Por exemplo, um computador envia dados para uma impressora. O computador é o mestre, e a impressora é a escrava porque a impressora não pode controlar o computador. Um sistema VMEbus pode ter vários dispositivos master, por isso é chamado de bus.
Um sistema VMEbus tem quatro sub-buses: o bus de arbitragem, o bus de transferência de dados, o bus de interrupção de prioridade e o bus utilitário.
- O bus de arbitragem controla os pedidos de vários dispositivos usando um módulo de arbitragem. Ele dá permissão a cada dispositivo para usar o barramento e notifica os dispositivos solicitantes quando o barramento está ocupado. As requisições são baseadas em prioridade. As solicitações que são as mesmas em prioridade são em cadeia de margaridas. O módulo arbiter reside no slot 1 do backplane.
- O barramento de transferência de dados é usado para operações de leitura e escrita entre módulos.
- O barramento de interrupção prioritária lida com interrupções e monitora as linhas de requisição de interrupção, que variam de requisição de interrupção 1 a IRQ7. O IRQ7 tem a maior prioridade.
- O barramento utilitário suporta um relógio de sistema.