| |
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
|