VMEbus (Versa Module Europa)
In this issue of GMS Tech we will take an introductory look at the VMEbus and its metamorphosis over the past 30+ years. In 1981 the VMEbus architecture was created. The new design combined the VERSAbus electrical speciﬁcation, which was based on microprocessor technology, with the rugged and modular Eurocard packaging system. Both were proven, off-the-shelf technologies. The resulting combination was successful because it was durable and could be easily adapted to a variety of applications. The original planners introduced the VMEbus speciﬁcation into the public domain. This meant that suppliers had to conform to the same technical standard. They also had to compete directly on the basis of price, performance, quality and time-to-market. The adoption of VMEbus as a public domain standard made it easier to accept by competitors.
There are three mechanical form factors for VMEbus modules. These are called single, double and triple height modules. The smallest is the single height module. Single height modules are commonly used if space is limited. Because of their size, they are also more resilient to shock and vibration than double height boards. The larger and more popular size VMEbus board is the double height module. These are electrically compatible with single height boards. Single and double height modules are sometimes referred to as 3U and 6U boards. The 'U' is a unit of measure for the front panel, where each 'U' is equal to 1.75 inches. Cabling can be routed through the front panel of the module, or through the P2/J2 user deﬁned I/O pins. Furthermore, the VME64x standard allows the use of a rear transition module. Some users choose to mount 3U, 6U and 9U boards into a single sub-rack. Most VMEbus packaging systems will support multiple card sizes in a single chassis. The use of three standard card sizes has proven to be one of the most successful features of VMEbus. Users that have tight space requirements or severe shock & vibration constraints may choose the single height module. Users that have the space can go with the larger and more popular 6U card.
How It Works
VMEbus is an asynchronous bus. This means that there are no clocks used to coordinate data transfers. Data is passed between modules using interlocked handshaking signals. The cycle speed of each transfer is set by the slowest module participating in the cycle. The VMEbus uses a master-slave architecture. Functional modules called masters transfer data to and from functional modules called slaves. Since many masters can reside on the bus it is called a multiprocessing bus. Before a master can transfer data it must ﬁrst acquire the bus using a central arbiter. This arbiter is part of a module called the system controller. Its function is to determine which master gets access to the bus. All bus activity takes place on ﬁve sub-buses. The buses are called the Data Transfer Bus, the Data Transfer Arbitration Bus, the Priority Interrupt Bus, the Utility bus and the Serial Bus.
A module controlling the bus will drive the bus busy line (BBSY) low to show that it is in use. When this line is not low the arbiter module will sample the bus request lines (BR0-BR3) looking for a pending action. Requests on BR3 have the highest priority. Requests of equal priority are handled by a daisy chain using the bus grant in lines (BG0IN-BG3IN) and the bus grant out lines (BG0OUT-BG3OUT). The arbiter module, which sits in slot 1 generates, the ﬁrst grant signal and this is passed to modules of increasing slot number.
Data Transfer Bus
The data transfer bus is used for reading and writing data between modules. The data bus (D00-D31) holds the actual data during a transfer. The address of the register being accessed is presented on the address bus (A01-A31). The address modiﬁer lines (AM00-AM05) indicate the length of the address, the kind of data cycle, and the master identiﬁer. The address strobe (AS) is used to signal the presence of a valid address. The data strobes (DS0,DS1) are used by the module controlling the transfer (master) to signal the presence and acceptance of valid data on the bus along with information on the size of the word to be transferred (together with the long word select, LWORD). The WRITE line is used to distinguish between read and write operations. The data transfer acknowledge (DTACK) is used by the module being accessed (slave) to signal the completion of a transfer. Errors in this transfer are signaled using the bus error line (BERR).PRIORITY INTERRUPT BUSThe system controller handles interrupts by monitoring the interrupt request lines (IRQ1-IRQ7). IRQ7 has the highest priority. In response to an interrupt, an address cycle is generated where the address indicates the request being acknowledged. The interrupt acknowledge (IACK) is changed in the arbiter to a signal which is daisy chained down the bus using the interrupt acknowledge in pin (IACKIN) and interrupt acknowledge out pin (IACKOUT). A data cycle follows where the module requesting the interrupt asserts its status and ID.
Power is supplied to modules via pins at +5 V, -12 V and +12 V. An optional battery backup of the +5 V supply (+5STDBY) can also be present. The utility bus supports an independent 16 MHz system clock (SYSCLK). The system failure line (SYSFAIL) and AC failure line (ACFAIL) are bussed lines used to indicate global problems. The system reset line (SYSRESET) is used for initialization.
Additional data transfers can take place along the serial data line (SERDAT) and are synchronized with the serial clock line (SERCLK).
VME64 (ANSI/VITA 1-1994)
Since its approval in 1995, a variety of boards and chips have been introduced to support this standard. As the next generation architecture for VMEbus, VME64 extended the life of VMEbus well into the 21st century. The new standard offered a much-needed 'face-lift', with enhancements such as higher bandwidths, larger address spaces and easier-to-use cards.
VME64 Extensions (VME64x)
In 1997 the VITA Standards Organization (VSO) adopted a superset to the VME64 standard. The new standard is called the VME64 Extensions (VME64x). VME64x added new capabilities such as a new family of connectors, more power supply pins, and higher bandwidth bus cycles (up to 160 Mbytes/sec). Even with all these changes all legacy VME and VME64 modules are forward compatible to VME64x backplanes and sub-racks. That means that older bus modules can be plugged into newer systems.
Also in 1997 a modiﬁed VMEbus architecture called VME320 was introduced. The VME320 architecture was designed for operation at over 320 Mbyte/second, and peak bandwidths of over 500 Mbyte/second. VME320 uses a new backplane design and bus protocol. The VME320 backplane uses a 'star' interconnection method to speed up the VMEbus backplane itself. The idea behind this backplane is that the signals propagating from slot-to-slot will effectively pass through only one slot on the way to their destination, thereby speeding up the system.
VITA (VME International Trade Association)
VITA is an incorporated, non-proﬁt organization of vendors and users having a common market interest in real-time, modular embedded computing systems. The VITA Standards Organization (VSO), the standards development arm of VITA, is accredited as an American National Standards Institute (ANSI) developer and a submitter of Industry Trade Agreements to the IEC. VITA provides members with the ability to develop and to promote open technology standards.
VITA members have worked together to deﬁne and develop key computer bus, board, and system speciﬁcations such as VMEbus, PCI Mezzanine Card (PMC), VXS, VPX, FMC and much more. Since VITA's inception in 1984, nearly 100 working groups have been formed to develop speciﬁcations and standards important to designers of critical embedded systems around the world. Systems from medical imaging to space launch control, semiconductor processing to defense systems, have depended on products based on VITA Technologies.
The VMEbus is used in a wide variety of applications. In many cases, the system designs have been tailored to support specialized applications as well. Some of the most popular include:
- Industrial Controls: factory automation, robotics, injection molding machines, automotive body assembly and painting, sawmill controls, metal working, steel manufacturing, and cardboard cutters.
- Military: battleﬁeld command & control systems, ground and ﬂight radar control systems, tank and gun controls, communications, and others.
- Aerospace: avionics, ﬂy-by-wire control systems, in-ﬂight video servers, spacecraft experiment control, missile countdown sequencers, and many others. In 1998 the Mars Pathﬁnder used a VMEbus computer to control spacecraft operation on the planet Mars.
- Transportation: railway controls, smart highway systems and light-rail transit systems.
- Telecom: advanced intelligent node (AIN) switch gear, cellular telephone base stations.
- Medical: CATSCAN imaging, MRI imaging and various acoustical systems.
- High Energy Physics: particle accelerators, and particle detectors.
Developed for an OEM customer in the industrial automation market, the V295 represents the 4th generation VME64X module designed by GMS engineers. The V295 utilizes the PC90X, the latest in 4” by 4” processor modules available through GMS. The PC90X features the high performance, highly integrated 3rd Generation Core™ i7 processor platform from Intel. The 3rd Generation Core i7 offers integrated graphics and memory controller plus dual- and quad-core processing up to 2.5 GHz all in one device. Coupled with the Intel® QM77™ Express Chipset this provides an unsurpassed level of I/O bandwidth for both on-board and off-board functions. The V295 6U VME Single Board Computer (SBC) supports a comprehensive range of onboard I/O features, such as an on-board PCI-E mini card site for enhanced system ﬂexibility. Memory resources include up to 16 GB DDR3 SDRAM, an M-SATA site for a Solid State Disk (SSD), and optional SATA hard drive. The V295 Dual GigE ports, supports VITA 31.1 with TCP/IP Ofﬂoading Engine (TOE.) In addition to the latest I/O technologies, the V295 supports two PS/2 type keyboards.
July 31 - RTECC Denver, CO
Real Time Embedded Computer Conference
Aug 2 - RTECC Salt Lake City, UT
Real Time Embedded Computer Conference
Aug 21 - RTECC Irvine, CA
Real Time Embedded Computer Conference
Aug 23 - RTECC/Milestone/MEDS San Diego, CA
Real Time Embedded Computer Conference/Military Electronics Development Conference/Medical Electronics Device Solutions