Embedded or External Controller? Go ask Alice
Larry Desjardin- May 29, 2012
“…when logic and proportion have fallen sloppy dead” – Jefferson Airplane
In my recent article about integrating traditional and modular instruments I touched on the subject of controller strategy and the choice between using an embedded controller or an external controller. What can the classic song White Rabbit tell us about when to use each? Plenty. It is all about logic and proportion.
First of all, an embedded controller acts logically the same as an external controller. The instruments don’t know the difference. The controller, embedded or external, sees the instruments as devices in an enumerated PCIe memory map. Essentially, the controller itself doesn’t know the difference either. A program written for one configuration can pretty easily work for the other.
Then what are the differences? At one time embedded controllers offered higher backplane speeds due to the short path lengths. But no more. Cable PCIe is now capable of PCIe Gen 2 speeds over long cable lengths to an external controller. This means that external controllers can now achieve the same burst rates as embedded controllers. So embedded and external controllers have the same speed, right? Wrong.
“…and if you go chasing rabbits and you know you’re going to fall”
A big difference between embedded and external computers is the size of their markets. Embedded computers are purpose-built for the test and measurement industry, while external controllers serve the mass market and attract huge investments. If you go chasing the fastest processor speeds in an embedded controller, you will always lag the market. The market for test and measurement controllers can’t justify the latest-and-greatest processor heartbeat that occurs in the commercial marketplace. It will naturally be behind its full-throttle cousins. In many applications, the processing speed of the controller can have a big impact on the total test throughput. Chasing high-speed rabbits? Use an external controller. End of discussion? Not quite.
In this case, one choice actually does make you taller, and the other makes you small. Embedded controllers have their own unique advantage: Size. They are compact, they are integrated, and they make it easy to haul around a PXI chassis, which happens more often than you think. Move it from bench to bench with ease, or out to an airplane hangar. When the men on the chessboard get up and tell you where to go, you’ll travel easier with an embedded controller.
“Feed your head, feed your head”
The controller is the brains of your test system. Perhaps the biggest advantage of an embedded controller is it is purpose-built to be a PXI or AXIe controller. Job one is enumerating every PCIe endpoint and finding each device. Many commercial controllers fail since their BIOS weren’t expecting the deep hierarchies that instrument buses create. There’s nothing more frustrating than having a controller that can’t see instruments that are clearly inserted into the chassis. You will soon be joining the red queen shouting “off with her head”. This can be solved by a BIOS update, but that usually takes some time, or by a proven controller combination.
So, if you are focused on top speed for high volume manufacturing, an external controller may be exactly the way to go. If you are focused on ease of use or small size, use an embedded controller.
But don’t take my word about it. Go ask Alice.