De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Caja VME64 con, desde la izquierda, un módulo ADC, un módulo escalador y un módulo procesador

VMEbus ( Versa Module Europa [1] o Versa Module Eurocard [2] bus) es un estándar de bus de computadora , desarrollado originalmente para la línea de CPU Motorola 68000 , pero luego ampliamente utilizado para muchas aplicaciones y estandarizado por IEC como ANSI / IEEE 1014 -1987. Se basa físicamente en tamaños, mecánicos y conectores de Eurocard ( DIN 41612 ), pero utiliza su propio sistema de señalización, que Eurocard no define. Se desarrolló por primera vez en 1981 y sigue teniendo un uso generalizado en la actualidad. [3] [ ¿cuándo? ]

Historia [ editar ]

En 1979, durante el desarrollo de la CPU Motorola 68000 , uno de sus ingenieros, Jack Kister, decidió crear un sistema de bus estandarizado para sistemas basados ​​en 68000. [4] El equipo de Motorola hizo una lluvia de ideas durante días para seleccionar el nombre VERSAbus. Las tarjetas VERSAbus eran grandes, de 370 por 230 mm ( 14 12  por 9 14  pulgadas  ) y usaban conectores de borde . [3] Solo unos pocos productos lo adoptaron, incluido el controlador de instrumentos IBM System 9000 y el robot Automatix y los sistemas de visión artificial.

Tarjeta de memoria VERSAbus

Más tarde, a Kister se le unió John Black, quien refinó las especificaciones y creó el concepto de producto VERSAmodule . Julie Keahey , joven ingeniera que trabaja para Black, diseñó la primera tarjeta de módulo VERSA , el módulo adaptador VERSAbus, que se utiliza para ejecutar tarjetas existentes en el nuevo VERSAbus. Sven Rau y Max Loesel de Motorola-Europe agregaron una especificación mecánica al sistema, basándolo en el estándar Eurocard que entonces estaba al final del proceso de estandarización. El resultado se conoció primero como VERSAbus-E, pero luego se renombró a VMEbus , para el bus VERSAmodule Eurocard (aunque algunos se refieren a él como Versa Module Europa ). [3]

En este punto, varias otras empresas involucradas en el ecosistema del 68000 acordaron utilizar el estándar, incluidas Signetics, Philips, Thomson y Mostek. Pronto fue estandarizado oficialmente por IEC como IEC 821 VMEbus y por ANSI e IEEE como ANSI / IEEE 1014-1987.

El estándar original era un bus de 16 bits , diseñado para encajar dentro de los conectores DIN Eurocard existentes . Sin embargo, ha habido varias actualizaciones en el sistema para permitir anchos de bus más amplios. El VME64 actual incluye un bus completo de 64 bits en tarjetas de tamaño 6U y 32 bits en tarjetas de 3U. El protocolo VME64 tiene un rendimiento típico de 40 MB / s. [3] Otros estándares asociados han agregado intercambio en caliente ( plug-and-play ) en VME64x , tarjetas 'IP' más pequeñas que se conectan a una sola tarjeta VMEbus y varios estándares de interconexión para vincular sistemas VME juntos.

A finales de la década de 1990, los protocolos sincrónicos demostraron ser favorables. El proyecto de investigación se denominó VME320. La Organización de Estándares VITA solicitó un nuevo estándar para las placas posteriores VME32 / 64 sin modificar. [3] El nuevo protocolo 2eSST fue aprobado en ANSI / VITA 1.5 en 1999.

A lo largo de los años, se han agregado muchas extensiones a la interfaz VME, lo que proporciona canales de comunicación de "banda lateral" en paralelo al propio VME. Algunos ejemplos son IP Module, RACEway Interlink, SCSA, Gigabit Ethernet en placas base VME64x, PCI Express, RapidIO, StarFabric e InfiniBand.

VMEbus también se utilizó para desarrollar estándares estrechamente relacionados, VXIbus y VPX . El VMEbus tuvo una gran influencia en muchos buses informáticos posteriores, como STEbus .

Primeros años de VME [ editar ]

Los conceptos arquitectónicos del VMEbus se basan en VERSAbus, [3]desarrollado a finales de la década de 1970 por Motorola. El grupo europeo de microsistemas de Motorola en Munich, Alemania Occidental, propuso el desarrollo de una línea de productos similar a VERSAbus basada en el estándar mecánico Eurocard. Para demostrar el concepto, Max Loesel y Sven Rau desarrollaron tres placas prototipo: (1) una placa CPU 68000; (2) una placa de memoria dinámica; (3) una placa de memoria estática. Llamaron al nuevo autobús VERSAbus-E. Más tarde, Lyman (Lym) Hevle, entonces vicepresidente de Motorola Microsystems Operation, lo renombró más tarde como "VME", abreviatura de Versa Module European, por Lyman (Lym) Hevle. (Más tarde fue el fundador del VME Marketing Group, posteriormente rebautizado como VME International Trade Association, o VITA). A principios de 1981, Motorola, Mostek y Signetics acordaron desarrollar y respaldar conjuntamente la nueva arquitectura de bus.Todas estas empresas fueron las primeras en apoyar la familia de microprocesadores 68000.

John Black de Motorola, Craig MacKenna de Mostek y Cecil Kaplinsky de Signetics desarrollaron el primer borrador de la especificación VMEbus. En octubre de 1981, en la feria comercial System '81 en Munich, Alemania Occidental, Motorola, Mostek, Signetics / Philips y Thomson CSF anunciaron su apoyo conjunto al VMEbus. También colocaron la Revisión A de la especificación en el dominio público. En agosto de 1982, la revisión B de la especificación VMEbus fue publicada por el recién formado Grupo de Fabricantes VMEbus (VITA). Esta nueva revisión refinó las especificaciones eléctricas para los controladores y receptores de línea de señal y alineó aún más la especificación mecánica con el estándar IEC 297 en desarrollo (la especificación formal para los formatos mecánicos Eurocard). A finales de 1982,la delegación francesa de la Comisión Electrotécnica Internacional (IEC) propuso la Revisión B del VMEbus como estándar internacional. El subcomité IEC SC47B nombró a Mira Pauker de Philips, Francia, presidente de un comité editorial, iniciando así formalmente la estandarización internacional del VMEbus.

En marzo de 1983, el Comité de Estándares de Microprocesadores de IEEE (MSC) solicitó autorización para establecer un grupo de trabajo que pudiera estandarizar el VMEbus en los EE. UU. Esta solicitud fue aprobada por la Junta de Normas de IEEE y se estableció el Grupo de Trabajo P1014. Wayne Fischer fue nombrado primer presidente del grupo de trabajo. John Black se desempeñó como presidente del Subcomité Técnico P1014. El grupo de fabricantes de IEC, IEEE y VMEbus (ahora VITA) distribuyó copias de la Revisión B para comentarios y recibió las solicitudes resultantes de cambios al documento. Estos comentarios dejaron en claro que era hora de pasar la Revisión B. En diciembre de 1983, se celebró una reunión que incluyó a John Black, Mira Pauker, Wayne Fischer y Craig MacKenna.Se acordó que se debería crear una Revisión C y que debería tomar en consideración todos los comentarios recibidos por las tres organizaciones. John Black y Shlomo Pri-Tal de Motorola incorporaron los cambios de todas las fuentes en un documento común. El Grupo de Fabricantes de VMEbus etiquetó el documento Revisión C.1 y lo colocó en el dominio público. El IEEE lo etiquetó como P1014 Draft 1.2 y el IEC lo etiquetó como IEC 821 Bus. Las votaciones posteriores en el Grupo de trabajo de IEEE P1014 y el MSC dieron como resultado más comentarios y requirieron que se actualizara el borrador de IEEE P1014. Esto resultó en la especificación ANSI / IEEE 1014-1987.1 y lo colocó en el dominio público. El IEEE lo etiquetó como P1014 Draft 1.2 y el IEC lo etiquetó como IEC 821 Bus. Las votaciones posteriores en el Grupo de trabajo de IEEE P1014 y el MSC dieron como resultado más comentarios y requirieron que se actualizara el borrador de IEEE P1014. Esto resultó en la especificación ANSI / IEEE 1014-1987.1 y lo colocó en el dominio público. El IEEE lo etiquetó como P1014 Draft 1.2 y el IEC lo etiquetó como IEC 821 Bus. Las votaciones posteriores en el Grupo de trabajo de IEEE P1014 y el MSC dieron como resultado más comentarios y requirieron que se actualizara el borrador de IEEE P1014. Esto resultó en la especificación ANSI / IEEE 1014-1987.

En 1985, Aitech desarrolló bajo contrato para US TACOM, la primera placa VMEbus 6U refrigerada por conducción. Aunque eléctricamente proporciona una interfaz de protocolo VMEbus compatible, mecánicamente, esta placa no era intercambiable para su uso en el chasis de desarrollo VMEbus de laboratorio refrigerado por aire.

A finales de 1987, se formó un comité técnico bajo VITA bajo la dirección de IEEE para crear la primera placa VMEbus militar, refrigerada por conducción, 6U  × 160  mm, totalmente compatible eléctrica y mecánicamente, copresidida por Dale Young (DY4 Systems) y Doug. Patterson (Plessey Microsystems, luego Radstone Technology). ANSI / IEEE-1101.2-1992 fue posteriormente ratificado y lanzado en 1992 y permanece vigente como el estándar internacional refrigerado por conducción para todos los productos VMEbus de 6U.

En 1989, John Peters de Performance Technologies Inc. desarrolló el concepto inicial de VME64: dirección de multiplexación y líneas de datos (A64 / D64) en el VMEbus. El concepto se demostró el mismo año y se colocó en el Comité Técnico de VITA en 1990 como una mejora del rendimiento de la especificación VMEbus. En 1991, el IEEE otorgó el PAR (Solicitud de autorización de proyecto) para P1014R (revisiones a la especificación VMEbus). Ray Alderman, director técnico de VITA, copresidió la actividad con Kim Clohessy de DY-4 Systems.

A finales de 1992, las mejoras adicionales de VMEbus (A40 / D32, ciclos bloqueados, DTACK de rescisión *, ID de ranura automática, controlador de sistema automático y componentes mecánicos mejorados del conector DIN) requirieron más trabajo para completar este documento. El Comité Técnico de VITA suspendió el trabajo con el IEEE y buscó la acreditación como organización desarrolladora de estándares (SDO) con el Instituto Nacional Estadounidense de Estándares (ANSI). El IEEE Par P1014R original fue posteriormente retirado por el IEEE. El Comité Técnico de VITA volvió a utilizar la especificación de dominio público VMEbus C.1 como documento de nivel básico, al que añadió nuevas mejoras. Este trabajo de mejora fue realizado en su totalidad por el Comité Técnico de VITA y resultó en ANSI / VITA 1-1994. Kim Clohessy, de DY-4 Systems, logró la tremenda tarea de la edición de documentos,el copresidente técnico de la actividad, con la gran ayuda de Frank Hom, quien realizó los dibujos mecánicos y las contribuciones excepcionales de cada editor de capítulo.

Las mejoras adicionales propuestas al Subcomité de VME64 se incluyeron en el Documento de extensiones de VME64. Otras dos actividades comenzaron a fines de 1992: BLLI (Especificaciones de inserción en vivo a nivel de placa VMEbus) y VSLI (Inserción en vivo a nivel de sistema VMEbus con tolerancia a fallas). [3]

En 1993, se iniciaron nuevas actividades en la arquitectura base-VME, que involucran la implementación de sub-buses seriales y paralelos de alta velocidad para su uso como interconexiones de E / S y subsistemas de transporte de datos. Estas arquitecturas se pueden utilizar como conmutadores de mensajes, enrutadores y pequeñas arquitecturas paralelas de multiprocesador.

La solicitud de VITA para el reconocimiento como una organización desarrolladora de estándares acreditada de ANSI se otorgó en junio de 1993. Se han colocado muchos otros documentos (incluidos los estándares de mezzanine, P2 y bus serie) con VITA como administrador de dominio público de estas tecnologías.

Descripción [ editar ]

En muchos sentidos, el VMEbus es equivalente o análogo a los pines del 68000 que se ejecutan en un backplane .

Sin embargo, una de las características clave del 68000 es un modelo de memoria plana de 32 bits , libre de segmentación de memoria y otras "anti-características". El resultado es que, si bien VME es muy similar al 68000, el 68000 es lo suficientemente genérico como para que esto no sea un problema en la mayoría de los casos.

Al igual que el 68000, VME utiliza buses de direcciones y datos de 32 bits separados. El bus de direcciones 68000 es en realidad de 24 bits y el bus de datos de 16 bits (aunque es 32/32 internamente), pero los diseñadores ya estaban buscando una implementación completa de 32 bits.

Para permitir ambos anchos de bus, VME utiliza dos conectores Eurocard diferentes, P1 y P2. P1 contiene tres filas de 32 pines cada una, implementando los primeros 24 bits de dirección, 16 bits de datos y todas las señales de control. P2 contiene una fila más, que incluye los 8 bits de dirección y los 16 bits de datos restantes.

El bus está controlado por un conjunto de nueve líneas, conocido como bus de arbitraje . Todas las comunicaciones están controladas por la tarjeta en la ranura uno del chasis Eurocard, conocido como módulo árbitro . Se admiten dos modos de arbitraje: Round Robin y Priorizado.

Independientemente del modo de arbitraje, una tarjeta puede intentar convertirse en el maestro de bus manteniendo baja una de las cuatro líneas de solicitud de bus. Con el arbitraje por turnos, el árbitro recorre las líneas de solicitud de bus BR0-BR3 para determinar a cuál de los solicitantes potencialmente simultáneos se le otorgará el bus. Con el arbitraje de prioridad, BR0 – BR3 utilizan un esquema de prioridad fija (BR0 más bajo, hasta BR3 más alto) y el árbitro otorgará el bus al solicitante de mayor prioridad.

Cuando el árbitro ha determinado cuál de los autobuses solicita otorgar, afirma la línea de concesión de autobús correspondiente (BG0-BG3) para el nivel que ganó la maestría del autobús. Si dos maestros solicitan simultáneamente el bus usando la misma línea BR, una conexión en cadena de concesión de bus rompe efectivamente el vínculo al otorgar el bus al módulo más cercano al árbitro. El maestro al que se le otorgó el bus indicará entonces que el bus está en uso al afirmar Bus Busy (BBSY *).

En este punto, el maestro ha obtenido acceso al bus. Para escribir datos, la tarjeta conduce una dirección, un modificador de dirección y datos en el bus. A continuación, dirige la línea estroboscópica de dirección y las dos líneas estroboscópicas de datos hacia abajo, para indicar que los datos están listos, y dirige el pin de escritura para indicar la dirección de transferencia. Hay dos luces estroboscópicas de datos y una línea * LWORD, por lo que las tarjetas pueden indicar si el ancho de los datos es de 8, 16 o 32 bits (o 64 en VME64 ). La tarjeta en la dirección del bus lee los datos y extrae la línea baja de reconocimiento de transferencia de datos cuando la transferencia puede completarse. Si la transferencia no se puede completar, puede generar el error del bus.línea baja. La lectura de datos es esencialmente la misma, pero la tarjeta de control controla el bus de direcciones, deja el bus de datos en tres estados y controla el pin de lectura. Las unidades de tarjeta esclava leen datos en el bus de datos y hacen que los pines del estroboscopio de datos estén bajos cuando los datos están listos. El esquema de señalización es asíncrono , lo que significa que la transferencia no está ligada a la sincronización de un pin de reloj de bus (a diferencia de los buses síncronos como PCI ).

Un protocolo de transferencia en bloque permite que se produzcan varias transferencias de bus con un solo ciclo de dirección. En el modo de transferencia en bloque, la primera transferencia incluye un ciclo de dirección y las transferencias posteriores solo requieren ciclos de datos. El esclavo es responsable de garantizar que estas transferencias utilicen direcciones sucesivas.

Los maestros de bus pueden liberar el bus de dos maneras. Con Release When Done (RWD), el maestro libera el bus cuando completa una transferencia y debe volver a arbitrar por el bus antes de cada transferencia subsiguiente. Con Release On Request (ROR), el maestro retiene el bus al continuar afirmando BBSY * entre transferencias. ROR permite que el maestro retenga el control sobre el bus hasta que otro maestro que desea arbitrar el bus establezca un Bus Clear (BCLR *). Por lo tanto, un maestro que genera ráfagas de tráfico puede optimizar su rendimiento arbitrando por el bus solo en la primera transferencia de cada ráfaga. Esta disminución en la latencia de transferencia tiene el costo de una latencia de transferencia algo mayor para otros maestros.

Los modificadores de dirección se utilizan para dividir el espacio de direcciones del bus VME en varios subespacios distintos. El modificador de dirección es un conjunto de señales de 6 bits de ancho en el backplane. Los modificadores de dirección especifican el número de bits de dirección significativos, el modo de privilegio (para permitir que los procesadores distingan entre los accesos al bus por software de nivel de usuario o de sistema) y si la transferencia es o no una transferencia en bloque. A continuación se muestra una tabla incompleta de modificadores de dirección:

VME también decodifica las siete interrupciones del 68000niveles en un bus de interrupción de 7 pines. El esquema de interrupciones es uno de interrupciones vectorizadas priorizadas. Las líneas de solicitud de interrupción (IRQ1 – IRQ7) dan prioridad a las interrupciones. Un módulo de interrupción afirma una de las líneas de solicitud de interrupción. Cualquier módulo en el bus puede potencialmente manejar cualquier interrupción. Cuando un módulo de manejo de interrupciones reconoce una solicitud de interrupción en una prioridad que maneja, arbitra por el bus de la forma habitual descrita anteriormente. Luego realiza una lectura del vector de interrupción conduciendo la versión binaria de la línea IRQ que maneja (por ejemplo, si se maneja IRQ5, entonces binario 101) en el bus de direcciones. También afirma la línea IACK, junto con las luces estroboscópicas de transferencia de datos adecuadas para el ancho del estado / ID que se está leyendo. Nuevamente, LWORD *, DS0 * y DS1 * permiten que los ciclos de lectura de estado / ID sean 8, 16,o transferencias de 32 bits de ancho, pero la mayoría de los interruptores de hardware existentes utilizan estados / ID de 8 bits. El interruptor responde transfiriendo un estado / ID en el bus de datos para describir la interrupción. El módulo de manejo de interrupciones (generalmente una CPU) usualmente usará este número de estado / ID para identificar y ejecutar la rutina de servicio de interrupción de software apropiada.

En el bus VME, todas las transferencias son DMA y cada tarjeta es maestra o esclava. En la mayoría de los estándares de bus, se agrega una cantidad considerable de complejidad para admitir varios tipos de transferencia y selección de maestro / esclavo. Por ejemplo, con el bus ISA , ambas características debían agregarse junto con el modelo de "canales" existente, por lo que todas las comunicaciones eran manejadas por la CPU del host . Esto hace que VME sea considerablemente más simple a nivel conceptual y al mismo tiempo más poderoso, aunque requiere controladores más complejos en cada tarjeta.

Herramientas de desarrollo [ editar ]

Al desarrollar y / o solucionar problemas del bus VME, el examen de las señales de hardware puede ser muy importante. Los analizadores lógicos y los analizadores de bus son herramientas que recopilan, analizan, decodifican y almacenan señales para que las personas puedan ver las formas de onda de alta velocidad en su tiempo libre.

VITA ofrece preguntas frecuentes completas para ayudar con el diseño y el desarrollo de la interfaz de usuario de los sistemas VME.

Computadoras que usan un VMEbus [ editar ]

Las computadoras que usan VMEbus incluyen

  • Equipo HP 743/744 PA-RISC de placa única [5]
  • Sun-2 hasta Sun-4
  • Estaciones de trabajo industriales HP 9000
  • Atari TT030 y Atari MEGA STE
  • Motorola MVME
  • Simbólicos
  • PACE del Grupo de Investigación y Análisis Numérico Avanzado .
  • Sistema de creación rápida de prototipos ETAS ES1000
  • Varias computadoras AViiON de datos generales basadas en Motorola 88000
  • Principios de los sistemas basados en MIPS Silicon Graphics , incluyendo profesionales Iris, Iris personal, Power Series, y Onyx sistemas

Pinout [ editar ]

Visto mirando en el zócalo del backplane. [6] [7]

P1

P2

P2 filas ayc pueden ser utilizadas por un bus secundario, por ejemplo el STEbus .

Ver también [ editar ]

  • Adquisición de datos
  • VPX
  • VXS
  • CompactPCI
  • CAMAC
  • FPDP
  • Lista de anchos de banda de dispositivos

Referencias [ editar ]

  1. ^ "Bus Europa del módulo Versa" . Consultado el 8 de abril de 2019 .
  2. ^ "¡Viva VME!" . Consultado el 8 de abril de 2019 .
  3. ^ a b c d e f g "Preguntas frecuentes sobre la tecnología VME" . Vita.com. 3 de enero de 1999 . Consultado el 1 de agosto de 2013 .
  4. ^ Negro, John Arthur (1992). El manual del ingeniero de sistemas: una guía para construir sistemas VMEbus y VXIbus . Morgan Kaufmann . pag. 563. ISBN 978-0-12-102820-6. Un equipo de ingenieros de Motorola Microsystems dirigido por Jack Kister, diseñó un sistema de desarrollo 68000 llamado EXORmacs. El backplane de los EXORmacs se llamó VERSAbus. Mientras coordinaba los esfuerzos de su equipo, Jack escribió una descripción de bus de 41 páginas de VERSAbus que se publicó en noviembre de 1979. El primer EXORmacs se envió en enero de 1980.
  5. ^ "Productos HP VME - Alimar Technology Corp" . Alimartech.com . Consultado el 1 de agosto de 2013 .
  6. ^ De la Tabla 7 - Asignaciones de pines 1 J1 / P1, ANSI / VITA 1-1994 (R2002)
  7. ^ De la Tabla 7-2 Asignaciones de pines J2 / P2, ANSI / VITA 1-1994 (R2002)

Enlaces externos [ editar ]

  • VITAE
  • VME de próxima generación
  • Pinout y señales del bus VME