Home
Vendors
Products
News
Members
The organization
search
 
vpr
events
forum
articles
e-letter
 
 
 
 

   IP, PMC, PC•MIP, M-Modules, ... : Competitive or Complementary Technologies ?

By Martin Timmerman,
Secretary General Mezzanines International,,
and Luc Perneel,
Technical Director Dedicated-Systems Experts.

INTRODUCTION

Today there is a clear tendency to buy hardware instead of making it. Arguments that go against this tendency are:

  • the board with the functions I need is not available;
  • the board is available, but has extra functionality I do not need, making it too expensive.
Mezzanine technology may help in solving this problem. Fundamentally it cuts the problem of desired functions in two separate parts. First decide on the processor to be used, then find a mezzanine carrier board with or without system bus interface and finally, personalise the board by adding one or more mezzanines. If the mezzanine board you are looking for is not available, then it is simpler to make a mezzanine board than to make the carrier board.
By buying the carrier and the mezzanine boards or by making some mezzanine boards yourself you will be quicker in the market with a new design and that is vitally important today.
Once we are convinced of this advantage, then the question is which mezzanine technology to use. Indeed this technology has been in use since the early eighties and a lot of manufacturers had proprietary solutions. Both Multibus 1 and 2 and the VMEbus communities had a number of solutions. At that time, mezzanine technology was used more to solve the manufacturer's problems (who did not want to manufacture many different boards) than the problem of the customer (who was looking for a general approach). There have been a lot of attempts to standardise mezzanine technologies, with the hope of obtaining customer acceptance. These all met with limited success. IP-modules have become a de facto standard due to the successful MVME162 board from Motorola. Nowadays IP-modules are used on a lot of other carrier boards including PC-AT ones. PCI can also be considered as a de facto standard and the PMC mezzanine version is therefore also very popular. As an example: the S-bus has until now been systematically used with SPARC processor carrier boards, but recently SUN decided to adopt PMC. Also M-Modules are being used more and more (mainly in Europe), and now even a new mezzanine type is being introduced: the PC•MIP. Meanwhile IP, PMC and M-Modules are now official standards.
This paper clarifies how to make GOOD use of mezzanine technology and discusses the advantages and drawbacks. We also discuss how complementary instead of competitive these technologies are.
Several aspects will be treated:
  • Mechanical and electrical aspects;
  • Different types of mezzanine busses and therefore different types of intended applications;
  • Performance issues;
  • Commercial availability and price settings.

MECHANICAL DESCRIPTION

In general
When deciding on a mezzanine technology one should have a look at the sizes a mezzanine board may have and the connectors that are used.
The size tells us something about the complexity of the functionality you can put on the mezzanine board with presently available electronic components. It also says something about the manufacturing price, as larger (fully populated) boards are more expensive.
The connector type gives an idea about the complexity of the bus by the number and type of pins, but more importantly, it will tell us something about reliability. Indeed, when mezzanine technology was introduced in the early eighties, the opponents (like Motorola) claimed that board or system reliability was very low using this technology. This probably was true at that time but new connector technology used today allows us to say that this problem has been solved. Another argument used at that time was that board cooling suffered a lot due to the mezzanines stacked on it. This argument is still valid and you should take care in providing for forced cooling between the boards. You should also look to low power consumption meaning low heating carrier and mezzanine boards!
A mezzanine board is in a lot of cases used to personalise I/O functions. This means that on one side a mezzanine board should have a computer connection to the carrier board and on the other side permit for the I/O signals to leave the board. These I/O signals may leave via a front panel or via the carrier. Both solutions have advantages and drawbacks.
Let us now have a look to IP, M-Modules, PMC and PC•MIP at the mechanical level. Topics discussed are the board size (how many components can be placed?), connectors used and how hardware input/output to external interfaces is done.

IP-Modules
IP is the abbreviation of "Industry Pack". The standard was prepared by VSO (VITA Standards Organisation) and SBS GreenSpring Modular I/O.
IP modules exist in two sizes: single size and double size, where the double sized IP module can be seen as two single size IP-modules side by side. The single size module measures 1.8 x 3.9 inch (45.3 cm2), the double 3.6 x 3.9 inch (90.6 cm2).
Components on an IP-module can have a maximum height of 0.29 inch (7.4 mm).
The single size IP-module uses two 50-pin connectors: one for interfacing with the carrier board and one to interface with the external world (I/O via the carrier board).
For example, on a 6U VME carrier board there is place for four single size or two double size IP- modules. Remark that theoretically it is possible to put 6 IP modules on a 6U carrier board, but this is not feasible in practice as all I/O lines have to leave via the carrier board and I/F chips are needed.
IP has no front panel solution for the I/O signals.

Figure 1. IP Modules on a 6U VMEbus board

M-Modules
The M-Module Specification was approved on May 20, 1997 as an American National Standard and will be known as ANSI/VITA 12-1996, M-Module Specification.
M-Modules exist in three sizes: single, double and even triple size, where the double, triple sized M- are like multiple single size M-Modules side by side. The single size measures 148.3 x 52.9 mm (78.5 cm2), the double 148.3 x 106.2 mm (157.5 cm2), and the triple 148.3 x 159.6 mm (236.5 cm2).
Components on M-Modules can have a maximum height of 10.5 mm (for about 60% of surface) and 5.25 mm (40%).
The single size M-Modules uses a 40-pin (optional 60-pin: for MA-Modules) connector for interfacing with the carrier board, and a 24 pin I/O connector (I/O via the carrier board). M-Modules may also have front bezel I/O.
The M-Modules specification defines also optional inter-module connectors (10-pin).
For example, on a 6U VME carrier board there is place for four single size M-Modules.

PMC-Modules
The PMC bus is largely based on the PCI standard. The electrical and logical layers are the same as those defined by the PCI standard. The standard originated from the Bus Architecture Standards Committee of the IEEE Computer Society (CMC Mezzanine IEEE P1386).
The changes to the PCI standard are on the environmental and physical requirements for the use of PCI where slim, parallel board mounting is required.
The PMC uses the CMC form factor (approximately 3 x 5 inches). On a 3U VME carrier there is place for one PMC module and two can be put on a 6U board. The basic PMC module uses two 64-pin connectors (PCI bus) and can use one or two 64-pin connectors to the I/O interfaces. There is also a 64-bit version (three 64-pin connectors PCI).
The maximum component height on a PMC is 9.8 mm. Also it is possible to put low components on the front of the PMC (3.5 mm PCB size included).
Note that PMC modules can have front bezel I/O.

Figure 2. Two PMC modules on a 6U VMEbus board

PC•MIP Modules
The PC•MIP module bus to the carrier board is again largely based on the PCI standard. The electrical and logical layers are the same as those defined by the PCI standard. The changes are to allow slim, parallel board mounting. The PC•MIP standard itself is still under development by the ANSI/VITA task group VITA-29.
The PC•MIP exists in two widths: single and double. The single form factor is 47 x 90 mm (42.3 cm2), and the double is 94 x 90 mm (84.6 cm2).
It comes in two flavours: Type I (without front bezel I/O) and Type II (which is 9 mm longer and with front bezel I/O).
The module can have components on both sides, and the manufacturer may choose on which side to put the highest components:

  • Type 8H: 3.3 mm height on back side, 5.7 mm height on front (PCB included)
  • Type 10H: 5.3 mm height on back side, 3.7 mm height on front (PCB included)
The I/O connector to the carrier board is a 50 pin one. The mounting is easily done by an injector/ejector connector with screws (when unscrewing, the module is ejected).
The PC•MIP (draft) standard claims that a 6U carrier board can take 6 PC•MIP (Type I) modules. However this is not really feasible for following reasons:
  • If 6 are mounted, then no PC•MIP with front panels (Type II) can be used.
  • As the bus used is a PCI one, having 6 PC•MIP modules might need an extra PCI bridge

Figure 3. Outside dimensions of PC•MIP (Type 1 & Type 2)

Conclusions
PC•MIP modules have almost the same size as IP modules. PMC modules are larger than IP modules, and M-Modules lies between the IP and PMC module surface. The size of a board is a trade-off between the number of modules that can be put on a carrier board, and the complexity of the integrated functions on the mezzanine. Also the manufacturing cost depends on the size. IP, PC•MIP and M-Modules are small, but they also exist in double format if needed. The M-Modules can even exist in triple format; in this case it has almost the same size as a double PMC.
Concerning the height of the allowed components, the M-Module is clearly the winner. In the contrary, the PC•MIP can contain only low components, but it can contain them on both sides. The PC•MIP manufacturer can choose on which side of the module he will put the highest components (independent of the carrier board).
As components continuously become cheaper, smaller and more integrated, the smaller boards will become more popular in the future.


BASIC BUS DESCRIPTION

In general
The board size indicates already some differences between the different mezzanine types. Let us now have a closer look to what type of busses these modules use.

IP-Modules

  • The IP-bus is a point to point bus from the carrier board to the IP-module. The IP-module is passive on the bus and can only be accessed by the carrier board. (An IP module is always a slave module).
  • The IP-bus has a multiplexed address and data bus. This reduces the number of pins needed for the mezzanine board but slows down access.
  • There is a maximum of 8 MB addressable memory (22 bit word address) and 128 byte I/O space per single size IP Module. Auto configuration (for plug and play) is done via an ID PROM. There are byte select lines.
  • 16 bit data transfers can be used on single size boards and 32 bit transfers can be done on double sized boards.
  • It is a clocked (or synchronous) bus at 8MHz. 32MHz is optional.
  • Two interrupt lines are provided per module.
  • Two passive DMA channels are possible. This means that a DMA controller function should be on the carrier board if DMA is needed.
  • Performance: The maximum theoretical bandwidth depends largely on the type of IP-module and carrier board used. The transfer peak of the basic IP-module (single size, 8MHz) is two clock ticks per cycle or 8MB/s. Peak rates for the double size 32 bit 32MHz modules are: memory read: 32MB/s, memory write: 42.67MB/s, I/O DMA write: 64 MB/s
IP-module compatibility depends on the local-bus to IP-bus bridge on the carrier board as both the DMA and the 32MHz features are options.
As the IP-bus is simple, it is easy to create custom HW for it.

M-Modules
There are two types of M-modules:

  • M-modules with two rows of pins to the carrier board
  • MA-modules which have three rows of pins to the carrier board
Also there are a lot of optional elements in the standard. At the end of this section an overview table is shown.
In short the properties of the bus between an M(A)-module and the carrier board are:
  • The bus is a point to point bus from the carrier board to the M-module. The M-module is passive on the bus and can only be accessed by the carrier board. (An M-module is always a slave module).
  • The bus uses a separate address and data bus.
  • There is a maximum of 16 MB addressable memory (24 bit word address) and 256 byte I/O addressing per M-module. Auto configuration (for plug and play) can be done via an optional ID PROM . There are byte select lines.
  • 32 bit data transfers can be used on MA-modules.
  • As the bus is not clocked (it is asynchronous), the maximum transfer rate is only related to the M-module itself and the interface chip on the carrier board. This means that there are no (theoretical) speed limitations. This also counts, of course, in the negative sense, as the maximum response time is 10msec.
  • One interrupt line is provided. The interrupt vector may be generated on the M-module (vectored interrupt). Three types of interrupt options exist.
  • One passive DMA channel is possible. This means that a DMA controller function should be on the carrier board if DMA is needed.
  • Performance: depends on carrier board and M-module
A lot of options exist for an M-module: R->Required, O->Optional, N->not available.
Option ID Description M-Modules MA-Modules
A08 I/O address space of max. 256 bytes R R
A24 Mem address space of max. 16 MB - O
D08 Access via 8 bit data bus R R
D16 Access via 16 bit data bus R R
D32 Access via 32 bit data bus N R
INTA Software-end-of-interrupt (IRQ is cleared by accesing the module CS line) Recommended for base boards as minimum O O
INTB Hardware-end-of-interrupt (IRQ is cleared by IACK signal) O O
INTC Hardware-end-of-interrupt with vector transfer (data read by in IRQ instaed of CS) O O
DMA08 Passive DMA (8 bits width) O O
DMA16 Passive DMA (16 bits width) O O
DMA32 Passive DMA (16 bits width) N O
TRIGI Trigger in N O
TRIGO Trigger out N O
IDENT P&P (last I/O : 32 bytes, start address : 0xE0) O O

As can be seen in the above table, two types of modules are possible and a lot of options exist. This makes the module more flexible, but it does not improve compatibility between the different carrier boards and mezzanines.
What is even worse, is the fact that M-module identification is optional. Therefore, a Plug & Play like feature is not guaranteed.

PMC-Modules
This description is exactly the same as for the PCI bus. Note that a lot of pins and functionality are optional for a PMC module.

  • Full multi-master capability allowing any PCI master peer-to-peer access to any PCI master/target. Hidden central bus arbitration (hidden means during data cycle).
  • Address/data multiplexed: 32 bit addressing, 32 bit or 64 bit data with even parity.
  • Bus commanding (read and write required; the rest is optional: I/O read/write, config R/W, Memory write and Invalidate…)
  • Synchronous clocked bus at 33MHz.
  • Four modules can be used on one bus (without bridges). Each module has its own request and grant line for bus arbitration. However there is NO arbitration algorithm required in the standards, so this depends on the carrier board developer.
  • Four interrupt lines are (optionally) provided for. The carrier board vendor is free to combine the signals to its interrupt controller.
  • PCI modules can optionally have cache support.
  • Performance: for 32 bit / 33 MHz: 132MB/s peak. In the future 64 bit / 33 MHz may be available and will deliver a 264MB/s peak. The 66 MHz PCI is not supported by the current PMC standard, as the M66EN pin is not defined in the connector layout. It will probably be included in future versions of the standard.
  • Plug and play capabilities are included.

Figure 4. Multi-Screen Graphics PMC Module fromConcurrent Technologies Plc

PC•MIP Modules
This description is, just like for the PMC modules, exactly the same as for the PCI bus (Rev 2.1).
But in contrast with the PMC modules, less flexibility is used for improving standardisation:

  • Only 3.3V PCI bus may be used. This is useful for reducing the power consumption on the small mezzanines.
  • Compared with PMC, the 64-bit extension can not be used but the 66 MHz PCI is supported.
As only a 32-bit data width is supported the max transfer rate is 264MB/s peak (66MHz), which is the same as the PMC one (64-bit 33 MHz).

Conclusion
The previous considerations show clearly that both IP and M-Modules are intended as a low performance interface. PMC and PC•MIP are, on the contrary, a better choice than IP if performance is an issue. PC•MIP does not support 64 bit or 5V PCI, but as a result it is more standardised. As IP and M-Modules have only slave possibilities they are intended more to be used as a simple I/O extension. PMC and PC•MIP can be used in both slave and master configurations and target more complex I/O extensions. We are now going to look how to use IP, M-Modules, PMC and PC•MIP mezzanine boards in an application environment.


CARRIER BOARD ASPECTS

In general
In this section the availability of carrier boards for the different mezzanines is checked. As for the system designer, not only the mezzanine itself is important, but the whole system: carrier board with mezzanines.

IP
A quick look on our web-site shows:
A lot of Non-Intelligent carriers for IP-Modules exist. This for all types of busses: ISA, VME, PCI, CPCI, PC-104, VXI … produced by a lot of manufacturers. Thus, for non-intelligent I/O, the IP solution is extremely flexible.
On the other hand, the situation for intelligent carriers is different. There are intelligent carriers for different types of busses, but they are all limited to M68K type of processors.
Although some companies claim they will have intelligent carriers with the PPC-860 processor, none of them are available (and even datasheets are not available yet). In September 1998, we found websites claiming that they would be ready by the end of 1997!

Figure 5. PC-AT board from Systran with 6 IP slots

M-Module
For M-modules the same statement as for IP modules hold: "intelligent carriers are only equipped with M68K processors".
A main difference with IP mezzanines is that the number of carrier boards and the number of companies producing these is much less than for IP modules. This limits the usage of the M-module.

PMC
In this case the situation is totally different than for IP and M-modules. Except for one VME to PMC non-intelligent carrier, all PMC carriers are intelligent.
This is very logical, as PCI based high performance multi-master busses are not well suited for non intelligent I/O.
In the contrary, intelligent carriers exist in almost all imaginable flavours: both concerning busses and used CPUs.
Again this makes sense as the PCI bus is widely spread, and as PMC modules are PCI based, it is very easy to create PMC modules from existing PCI designs.

PC•MIP
As this module has recently been introduced, the products are just becoming commercially available.
Of course, as the PC•MIP module is based on the PCI bus, it is expected that a lot of intelligent carrier boards will be quickly available (like for PMC).


BUS TYPES SUPPORTED

Introduction
In this section we will discuss different types of bus scenarios and look how IP, M-Modules, PMC and PC•MIP are fitting in. In [1] we have identified the following bus profiles:

Profile 1, Simple Processor Bus:
Characterised by I/O traffic, interrupt handling, code execution and/or memory traffic (eventually simple DMA).

Figure 6. Profile 1 Bus

Profile 2, Cache Supporting Bus:
Bus that provides complete cache (coherence) support.

Figure 7. Profile 3 and 4: executive code on board (one of these could be a mother board)

Profile 3, Intelligent I/O Bus:
Multiprocessor systems where one subsystem has the main OS and the other subsystems are intelligent I/O subsystems. Al these subsystems can be master on the bus. There is one interrupt handler on the main OS board. Inter-processor communication is done via dual ported RAM. On the intelligent I/O board either no RTOS or a small, embedded RTOS is used.

Figure 8. Profile 3

Profile 3b, Single Master bus:
Same as profile 3 but with only one master (main OS board) allowed on the bus. Dual ported RAM with mailbox interrupts is used for communication between the main OS board and the intelligent I/O board.

Figure 9. Profile 4 use

Profile 4, LAN in a Box bus:
Multiprocessor systems in which all subsystems have a main OS. Each processor may be an interrupt handler. (In this profile it is however not advised to use interrupts on the bus. One should use mailbox interrupts or location monitors in a VMEbus environment)

IP and M-Modules
These mezzanines are a typical example of the Profile 1 bus. There is no bus arbitration, they are passive or slave modules: the mezzanine cannot access the memory of the carrier board. As they are passive, they can only be used as intelligent I/O via profile 3b.
Basically such modules are non-intelligent I/O boards, exceptionally they may have intelligence, but as they are always slave, a special communication protocol is needed via a dual ported RAM interface on the module.
The stated performance figures and the availability of carrier boards in the previous chapters confirm this.

PMC and PC•MIP Modules
These types of mezzanines can be used in profiles 1, 2 and 3.
Care has to be taken with the carrier board, as bus arbitration and interrupt handling are not defined in the standard. Also not all parts of the specifications are required, some are optional. For instance, when you want to use the profile 2 bus, you have to be sure that the cache support is on the module.
Profile 4 operation is for the moment not possible. A first reason is that the carrier board only can handle interrupts. A PCI device cannot handle interrupts coming from another PCI device. To use the plug and play capabilities, the carrier board needs special functionality which influences the software on the board. A profile 4 architecture should be realised using VMEbus technology.
PCI mezzanines are particularly well suited for high performance intelligent I/O, (this means profile 3: multi-mastering single interrupt handler application).
Simple (cheaper) PCI mezzanines without intelligence can also be used and then we are in a profile 1 environment just like IP and M-Modules.
PCI devices should be used either as a profile 1 bus or as a profile 3 bus. You should decide in advance for one of these profiles since it is not advisable to mix profile 1 and 3 in an application [1] (except if bus traffic is very low).


COMMERCIAL ASPECTS

IP
As the bus is simple, it is easy and cheap to develop an IP module. As the PCB surface is small, also the production costs are limited.
IP modules have a low performance interface, and as IP has only slave possibilities it is intended to be used more as a simple I/O extension.
Instead of using intelligent carriers (which limits the CPU choice), it is more convenient to use a non-intelligent carrier connected via another bus to the CPU unit. As such other CPUs can be used. For instance: PC x86 hardware with an ISA IP module carrier.

M-Module
The bus is also simple so M-module development is also easy and cheap. The PCB surface, although larger than the IP, is still small. As such the production costs are limited.
An advantage over IP modules, is the larger potential component surface and height. As components get smaller and smaller, this advantage is becoming less important in the future.
On the other hand, the standardisation consists of different options and the technology is not as widely spread.
Also the number of I/O pins is only half that on an IP module.
One option exists only for M-modules: an interconnect bus between different M-modules.

PMC
If you need high performance and/or intelligent I/O then PMC-modules are a better choice. They are more expensive as both the PCB surface is larger and PCI interface is more complex.
As the PCI becomes more wide spread, the PCI components will become cheaper and the technology better known. Therefore the design costs and production cost will go down.

PC•MIP
PC•MIP tries to combine best of the two worlds:

  • it has almost the same surface as the IP-module (production costs)
  • no compatibility problems (as can be the case for IP, M-module and PMC)
  • high performance (PCI)
It does not have all future PCI capacities like PMC: it consolidates the presently used PCI.


WHICH TECHNOLOGY TO USE WHERE

It is clear that each Mezzanine solution has its advantages and drawbacks. Here we show for each Mezzanine technology the best place to use it.

IP Modules
From the points discussed it is clear that the IP-module is well suited for a large number of non-intelligent I/O applications, which do not require high performance. They are cheap and widely available.

M-Modules
Just like IP modules, M-Modules are well suited for non-intelligent I/O. Nevertheless, M-Modules are less standardised and less available than IP modules.
Although, as an advantage M-Modules have larger I/O space available, and it is the only one with an inter-module connector specified.

PMC Modules
If you need high performance and/or intelligent I/O then PMC-modules are a better choice. They are more expensive and for time being less available than IP-modules.

PC•MIP Modules
PC•MIP also uses the PCI bus and therefore can be used for high performance and/or intelligent I/O. As the standard is only being introduced, not many products are available yet.
But, as the PC•MIP is more standardised than PMC, and has a smaller surface (lower production cost) it will become a major competitor with PMC, IP and M-Modules in the near future. Don't forget that SBS GreenSpring Modular I/O and MEN Mikro Elektronik, the driving forces behind both IP and M-Modules are now the driving forces behind PC•MIP.

Figure 10. PC•MIP CRT/LCD Graphics Accelerator from MEN Mikro Elektronik gmbh


SOME HINTS

What should you bear in mind when developing a new system:

  • Try to avoid developing hardware yourself. There are thousands of mezzanine products available from different vendors. You will easily find the hardware you need. This saves costs and your time to market is reduced. You can put more effort in the software of the project adding more value to your system, which in turn means a competitive advantage.
  • If, after an extensive search, you do not find the specific mezzanine board you need, then you should create one yourself or ask the mezzanine organisation to help you find the mezzanine module. If they have no solution, you may end up building your own mezzanine board. You only have to develop the specific I/O part of your application. You can find carrier boards with standard bus interfaces or motherboards. You can even imagine earning some development costs back by selling the developed mezzanine product to other companies.
  • IP/M-Modules production is much simpler than PMC/PC•MIP module manufacturing. So use these for simple non-intelligent low speed I/O functionality. Use the PCI mezzanines for a small number of high-speed I/O channels or for a large number of slow I/O channels with added intelligence.

CONCLUSIONS

There is no best mezzanine technology, the different technologies are complementary. They target different applications. IP/M mezzanine technology is targeted to slow, varied and simple I/O functions. PMC/PC•MIP can be used in this case, but may be more expensive than IP. In higher end applications, where a limited number of high-speed I/O channels are needed, PMC or PC•MIP mezzanines are the solution.


REFERENCES

[1] Martin TIMMERMAN, The right bus in the right place in Dedicated Systems Magazine (former Real-Time Magazine) 96/4 and 97/1.

[2] VMEbus standard: ANSI/VITA 1-1994

[3] PCI standard: PCI Spec. Rev. 2.1S

[4] PMC standard: IEEE P1386.1

[5] IP standard: ANSI/VITA 4-1995