VME Reverse Engineering

With some free time on his hands waiting for delayed parts to arrive, [Rik] set out to reverse engineer an old VME system he had acquired. VMEbus computers are based on the standard Eurocard PCB format, which defines a wide range of card sizes — the most common being 6U height like [Rik]’s system. They usually consist of a rack-mounted card cage with a passive backplane. Originally, Motorola 68000-based CPU cards were used in VMEbus systems, but any processor could be used as long as you provided the right signals and timings to the system bus. Eurocard systems are less common these days, but are still used in some applications. In fact, if you’re into synthesizers, you may be using Eurocards today — the Eurorack standard is based on the standard 3U card size.

Back to [Rik]’s project, he had no idea what this system was nor how to use it. A bit of probing around and he found two UARTs, a system monitor, and a way to load and dump S-record files. He documents the process quite well, as the internal layout and memory map of the system is unlocked piece by piece. We also like his method of instrumenting the VMEbus signals — logic analyzers are so small today, you can just mount one inside the rack.

Spoiler alert: [Rik] succeeds in mapping out the memory, writes some small programs in 68k assembly language, and even builds his own LED accessory card so he can blink some lights (as one must do).

We wrote about modularity recently, and VMEbus + Eurocard systems are good examples of modular design. You could quickly put together a robust assembly using entirely off-the-shelf cards, or mix in your own custom cards. But technology advancements in clock speeds and miniaturization have made these card cage, passive backplane systems less and less relevant today. Do any of you still use the VMEbus, or have you designed with them in the past? Let us know down in the comments below.

28 thoughts on “VME Reverse Engineering

  1. I love his blogs !
    Well written and full of handy information. I might start my own VMEbus project for a DIY cpu or something. And always nice to see a blinkaled project on ancient hardware !

  2. VME is still used a lot in “big physics”. I work at a particle accelerator that uses hundreds of distributed VME crates running VxWorks and the Experimental Physics and Industrial Control System (EPICS). We are looking to phase out shortly though and replace with MicroTCA crates based on ethernet and PCIe with modern CPUs and FPGAs.

    1. I also work in a facility that still relies on distributed VME systems. The hardware has been running 24/7 for almost 25 years and I think I’ve only had a couple of cards fail. I fixed the failed cards in an afternoon because every card came with complete schematics, etc. VME hardware is built like a tank. We have had HVAC failures when the ambient temperature went up to close to 100F for days, and everything ran without complaining. I doubt that the more modern systems have the reliability and serviceability of the old-school stuff.

    2. How computationally powerful are those systems? Before this post the only time I read about VME was while reasearching EPICS, but assumed that it had fallen into disuse.

  3. If I was designing that today I would put more decoupling caps in some areas of that PCB.

    Is that just me overdoing it, or have the conventions changed over time (maybe with increasing speed), or is that board a bit lacking?

    1. Most of the ICs are socketed. They used to make IC sockets with built in decoupling capacitors for standard 7400 series chips.

      There’s a good chance the decoupling capacitors are there but hidden in the sockets.

      It’s also possible they just didn’t put in all the decoupling capacitors that common wisdom says are needed.

    2. TTL have a lot less problems with shoot through i.e. top transistors shorting with bottom one during a level transition.
      Also back in the days, the old logic families have slow slew rate that they rarely have to worry about signal and power integrity.

      t was that way until they move above 20+MHz.

    3. Should you use decoupling caps? Probably. Will it also still work if you just sprinkle a few on the board and rely on lead, socket, trace and power plane capacitance? Probably.

  4. As said before, VME is still used in fields as Physics, Aerospace, Transportation and Industrial Control. The 68k boards are now obsolete but it is reasonably easy to buy (or design) a USB/VME bridge. It is an asynchronous bus and as such it is very easy to build slave cards (a PAL is enough). I designed several boards for VME. As an example of very sophisticated VME board one can look at

    https://ohwr.org/project/svec

    There was even an interface for MacII

    https://doi.org/10.1016/0920-5489(87)90076-6

    As a physicist, I am still using in the lab NIM and CAMAC systems: they are rugged and reliable even after decades. As said also for other hardware (the DC-3 if I am correct), the only substitute of a NIM module is another NIM module….

  5. When working for Control Data Corporation back in 1990/91, I designed an ASIC VME bus chip for a MIPS R3000 system, for use in an AWACS radar data processor. It was 53,000 gates in 0.7 micron technology fabricated by LSI Logic and later, Atmel. Hey, that was a lot of gates back in those days.

  6. If you need to make a new VME Slave to keep your systems alive and kicking (like we do at CERN),
    this Open Hardware core for a VME64x (that’s the most advanced and speedy version of VME :-) to Wishbone bus is available:
    https://ohwr.org/project/vme64x-core/wikis
    It is used in the SVEC VME FMC Carrier and its follow-up SVEC7. It runs the particle accelerator, so it must be pretty robust!

    For the VME Master you could use this PCIe to VME bridge:
    https://ohwr.org/project/pcie-vme-bridge/wikis
    In this case it is likely easier to buy the full processor board that uses this core, but it’s always great to know that you can hack the bus bridge if really needed.

    Other VME Open Hardware designs (including the SVEC and SVEC7) on the Open Hardware Repository can be found at
    https://ohwr.org/explore/projects?sort=latest_activity_desc?utf8=%E2%9C%93&name=vme&sort=latest_activity_desc

  7. 68K based VME hardware was the basis for a former employer’s corrugated cardboard manufacturing system back in the 1990s. They shoehorned in some Radisys VME based 486 PCs to control them and it displayed on 25″ VGA monitors with a resistive touchscreen. It looked way better than the old IBM PS/2 hardware the old stuff used but we got a lot of monitors returned from the field. I suspect the touchscreens didn’t last long in a rough environment.

    I recently had a few beers with an engineer who worked with large brushless motors and he said 68K VME hardware was the norm for such things bitd. He bounced around numerous automation companies where they thought their tech was unique but aside from the software everything was pretty much the same.

  8. I worked at a place that was building VME based systems in 2012. They had Sparc and were migrateing to x86. The VMW was for power only. There was an ethernet board and some other boards in there too.

  9. VME-based systems provided me my entre into parallel processing. Our hardware-in-the-loop simulation environment included several Mercury Systems quad i860 boards, the CPUs on each board sharing their memory via crossbar buses. Add a Sun 4 VME host board to each backplane, and we were good to go running missile seekers through their paces.

  10. Our companies top platform were based on VME to control power plants. We had a VME to TG (Tetragenics was the company) bus card to separate the I/O bus (our own design) from the VME bus for isolation of the outside world from the computer. We went through the Motorola 68000, 68010, 68020, 68030, 68040, 68060 even,,, and finally the PowerPC family where we started using RT Linux. Before that it was just VRTX. for kernel. Yep, those we fun years.

    Thx for the memories.

  11. Thought it worth pointing out, that often times these systems had application specific I/O layouts on the P2 connectors, such that a custom wiring harness connected the ‘computer’ to whatever hardware was under control. Certain parties even created custom backplanes that would break this kind of stuff out to heavy duty connectors. A lot of VME SBCs have associated ‘transition boards’ that plug into the back side of P0/P2 to break out video, Ethernet, serial ports, etc that may be on the board.

    Fwiw, I’ve seen legacy systems that used to pump data between cards through the backplane evolve to where all the data flows are migrated to Ethernet, and the backplane relegated to nothing more than physical support and power distribution.

  12. Worked on early AUTODin systems, used TO-5 packages for logic, and all wire wrapped circuit boards. Books of logic diagrams, using Mil-Spec logic, look at the start of the page and the end of the page you could tell what the levels were by the symbols… Tiny core memory to buffer the data… Work of art in its day….

Leave a Reply to cmholmCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.