article

VMEbus is a computer bus standard originally developed for the Motorola 68000 line of CPUs, but later widely used for many applications and standardized by the IEC as ANSI/IEEE 1014-1987. It is physically based on the Eurocard sizes, mechanicals and connectors, but uses its own signalling system, which Eurocard does not define. It was first developed in 1981, and continues to see widespread use today.

History


In 1979 Motorola were developing their new 68000 CPU, and one of their engineers, Jack Kister, decided to set about creating a standardized bus system for 68000-based systems, which he called VERSAbus. He was later joined by John Black, who refined the specifications and created the VERSAmodule product concept. Sven Rau and Max Loesel of Motorola-Europe added a mechanical specification to the system, basing it on the Eurocard standard that was then late in the standardization process. The result was first known as VERSAbus-E, but was later renamed to VMEbus, for VERSAmodule Eurocard bus (although some refer to it as Versa Module Europa).

At this point a number of other companies involved in the 68000's ecosystem agreed to use the standard, including Signetics, Philips, Thompson, and Mostek, and soon it was officially standardized by the IEC as the IEC 821 VMEbus and by ANSI and IEEE as the ANSI/IEEE 1014-1987.

The original standard was a 16-bit bus, designed to fit within the existing Eurocard DIN connectors. However there have been several updates to the system to allow wide bus widths, and the current VME64 includes a full 64-bit bus in a 6U sized card, and 32-bit for 3U cards. The VME64 protocol has a typical performance of 40 MByte/s. Other associated standards have added hot swapping (plug-and-play) in VME64x, smaller cards known as IP's that plug into a single VMEbus card, and various interconnect standards for linking VME systems together.

In the late 1990 synchronous protocol proved to be favorable. The research project was called VME320. The VITA Standards Organization a new standard calling for unmodified VME32/64 backplanes. The new 2eSST protocol was approved in ANSI/VITA 1.5 in 1999.

Over the years many addons been done to the VME interface adding other channels of communication parallel to the VME. Sample of such add on are IP Module, RACEway Interlink, SCSA, Gigabit Ethernet on VME64x Backplanes, PCI Express, RapidIO, StarFabric and InfiniBand.

VMEbus was also used to develop a closely related standard, VXIbus.

VME Early Years (from forward of ANSI/IEEE Std 1014-1987 and ANSI/VITA 1-1994)

The architectural concepts of the VMEbus are based on the VERSAbus, developed in the late 1970's by Motorola. Motorola's European Microsystems group in Munich, West Germany proposed the development of a VERSAbus-like product line based on the Eurocard mechanical standard. To demonstrate the concept, Max Loesel and Sven Rau developed three prototype boards: (1) a 68000 CPU board, (2) a dynamic memory board, and (3) a static memory board. They named the new bus VERSAbus-E, which was later renamed "VME" by Lyman (Lym) Hevle, then VP with the Motorola Microsystems Operation (and later the founder of the VME Marketing Group which was renamed VME International Trade Association (VITA)). VME is the acronym for VERSA-module Europe. Motorola, Mostek, and Signetics agreed to jointly develop and support the new bus architecture in early 1981. These companies were all early supporters of the 68000 microprocessor family.

John Black of Motorola, Craig McKenna of Mostek, and Cecil Kaplinsky of Signetics developed the first draft of the VMEbus specification. In October of 1981, at the System '81 trade show in Munich, West Germany, Motorola, Mostek, Signetics/Phillips, and Thomson CSF announced their joint support of the VMEbus, and placed Revision A of the specification in the public domain. In August of 1982, Revision B of the VMEbus specification was published by the newly formed VMEbus Manufacturers' Group (now VITA). This new revision refined the electrical specifications for the signal line drivers and receivers, and also brought the mechanical specification more in line with the developing IEC 297 standard, the formal specification for Eurocard mechanical formats. In the later part of 1982, the French delegation of the International Electrotechnical Commission (IEC) proposed Revision B of the VMEbus as an international standard. The IEC SC47B subcommittee nominated Mira Pauker of Phillips, France, as the chairperson of an editorial committee, formally starting international standardization of the VMEbus.

In March of 1983, the IEEE Microprocessor Standards Committee (MSC) requested authorization to establish a working group to standardize the VMEbus in the US. This request was approved by the IEEE Standards Board, and the P1014 Working Group was established. Wayne Fischer was appointed first chairman of the working group. John Black served as chairman of the P1014 Technical Subcommittee. The IEC, IEEE and VMEbus Manufacturers Group (now VITA) distributed copies of Revision B for comment, and received requests for changes to the document as a result. These comments made it clear that it was time to go forward past Revision B. In December of 1983, a meeting was held that included John Black, Mira Pauker, Wayne Fischer, and Craig McKenna. It was agreed that a Revision C should be created, and that it should take into consideration all the comments received by the three organizations. John Black and Shlomo Pri-Tal of Motorola incorporated the changes from all sources into a common document. The VMEbus Manufacturers Group labeled the document Revision C.1 and placed it in the public domain. The IEEE labeled it P1014 Draft 1.2, and the IEC labeled it IEC 821 Bus. Subsequent ballots in the IEEE P1014 Working Group and in the MSC resulted in more comments, and required that the IEEE P1014 draft be updated. This work resulted in ANSI/IEEE 1014-1987 specification.

The process that led to the development of ANSI/IEEE Std 1014 embodies the philosophy that the ".IEEE will cooperate with standardizing groups throughout the world in the preparation of standards." as expressed in the IEEE Standards Manual. The development of the VMEbus was a team effort, which involved experts from the United States, Britain, West Germany, France, and many other countries. It is truly an internationally developed standard. However, the contribution of several individuals is worthy of special recognition:

John Black and Craig MacKenna were the key individuals in the creation of the VMEbus specification. Their efforts, expertise, and perseverance guided the development of the VMEbus in its early forms.

Max Loesel and Sven Rau are recognized for proposing and demonstrating the feasibility of a Eurocard-based 32-bit backplane bus, and for guiding the re-implementation of VERSAbus into VMEbus.

Eike Waltz contributed extensively to the mechanical specifications.

Wayne Fischer, the first Chairman, guided the IEEE P1014 Working Group during its first three years.

Mira Pauker, Arlan Harris, and Shlomo Pri-Tal contributed to the development of Revision C of the specification.

Also worthy of recognition are Paul Borrill who contributed to the electrical specifications, Ken Smith who contributed to the mechanical specifications, and T.J. Chaney who was instrumental in preparing Appendix D.

And finally, special thanks to Tom Leonard who assisted Shlomo Pri-Tal as Vice Chairman of the P1014 Working Group.

In 1989, John Peters of Performance Technologies, Inc. developed the initial concept of VME64: multiprocessing address and data lines (A64/D64) on the VMEbus. This concept was shown for the first time in 1989 and placed in the VITA Technical Committee in 1990 as a performance enhancement to the VMEbus specification. In 1991, the PAR (Project Authorization Request) for P1014R (revisions to the VMEbus specification) was granted by the IEEE. Ray Alderman, Technical Director of VITA, co-chaired the activity with Kim Clohessy of DY-4 Systems.

At the end of 1992, the additional enhancements to VMEbus (A40/D32, Locked Cycles, Rescinding DTACK*, Autoslot-ID, Auto System Controller, and enhanced DIN connector mechanicals) required more work to complete this document. In 1992, the VITA Technical Committee suspended work with the IEEE and sought accreditation as a standards developer organization (SDO) with the American National Standards Institute (ANSI). The original IEEE Par P1014R was subsequently withdrawn by the IEEE. The VITA Technical Committee returned to using the public domain VMEbus C.1 specification as its base level document to which it added new enhancements. This enhancement work was undertaken entirely by the VITA Technical Committee resulting in ANSI/VITA 1-1994. The tremendous undertaking of the document editing was accomplished by Kim Clohessy of DY-4 Systems, the technical co-chair of the activity with great help from Frank Hom who created the mechanical drawings, and with exceptional contributions by each chapter editor.

Additional enhancements proposed to the VME64 Subcommittee were placed in VITA subcommittees; the VME64 Extensions Document. Two other activities began in late 1992: (1) BLLI (VMEbus Board-level Live Insertion Specifications), and (2) VSLI (VMEbus System-level Live Insertion with Fault Tolerance).

New activities began in 1993 using the base-VME architecture involving the implementation of high-speed serial and parallel sub-buses for use as I/O interconnections and data mover subsystems. These architectures can be used as message switches, routers, and small multiprocessor parallel architectures.

VITA's application for recognition as an accredited standards developer organization of ANSI was granted in June 1993. Numerous other documents, including mezzanine, P2, and serial bus standards have been placed with VITA as the Public Domain Administrator of these technologies.

A detailed timeline of VMEbus history can be found at the VITA website *

Description


In many ways the VMEbus is the pins of the 68000 run out onto a backplane. In most cases this is a bad design, because it limits you to systems similar to the chipset the bus was originally designed for. However one of the key features of the 68000 was a flat 32-bit memory model, free of memory segmentation and other "anti-features". The result is that while VME is very 68000-like, the 68000 is generic enough to make this a non-issue in most cases.

Like the 68000, VME uses separate data and address buses, both 32-bits. In the case of the 68000 the address bus was actually 24-bits and the data bus 16-bits (although it was 32/32 internally), but the designers were already looking towards full 32-bit implementations. In order to allow both widths of buses to be used, VME uses two different Eurocard connectors, the P1 and P2. P1 contains three rows of 32 pins each, implementing the first 24-bits of the address and 16-bits of the data buses, along with all of the control signals. The P2 contains one more row, which includes the remaining 8 address and 16 data pins.

In order to control the bus a set of nine lines known as the arbitration bus is used. All communications are controlled by the card inserted in slot one of the Eurocard chassis, known as the arbiter module. In general use the cards will request access to the bus by holding the bus request in lines of the arbitration bus low to indicate their slot number. When the arbiter module frees the bus it scans these lines to see if there are any held low. If so, it pulls the bus busy line low to indicate the bus is going busy again, and writes the card number back out on the bus grant out lines.

At this point the numbered card has gained access to the bus. To write data the card writes the address and data to the bus, and then pulls the address strobe line and the two data strobe lines low to indicate the data is ready, and then pulls the write pin to indicate the operation. There are two data strobes so the cards can indicate if the data is 8, 16, or 32 bits (or 64 in VME64). The card at the indicated address on the bus then reads the data and pulls the data transfer acknowledge line when it is complete (or the bus error line if need be). Reading data is essentially the same, but the controlling card places only the address on the bus and pulls the READ pin. The other card then writes the data and pulls the data strobe pins when the data is ready. This signalling scheme is asynchronous, meaning that there is no overall clock signal as there is in synchronous buses such as PCI.

VME also includes an interrupt bus, supplying all seven of the 68000's interrupt pins. When an interrupt is supplied the arbiter module writes the interrupt level back out to the address bus to tell which interrupt is being handled. Note that there is no concept of card number in this case, because cards will often share interrupts. The excessive number of interrupt levels has often been pointed to as one of the few examples of overdesign in the 68000, and it makes even less sense in the case of a bus.

Note that in VME all transfers are DMA and every card is a master (or slave). In most bus standards there is a considerable amount of complexity added in order to support various transfer types and master/slave selection. For instance, in the ISA bus both of these features had to be added on top of the already existing "channels" model where all communications was handled by the host CPU. This makes VME considerably simpler at a conceptual level while being more powerful, although it requires somewhat more complex controllers on each card in order to work.

VME is today used for all kind of CPU designs, including VME boards with Intel x86, HP PA-RISC, Motorola 88000 and PowerPC processors. Now the first PCIexpress based VMEboard has start shipping (see link below)taking performace to a new level.

See also


External links


Computer buses | experimental particle physics | IEEE standards

VMEbus | VMEbus | VMEバス | VMEbus

 

This article is licensed under the GNU Free Documentation License. It uses material from the "VMEbus".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld