1612 Sharing Fig1

Switching and routing software—what are the benefits?

Nov. 28, 2016

As electronic devices get more complex—with more functions and potentially more inputs and outputs—the strategy for testing becomes more complex as well. Generally, an efficient test-system design will implement switching in the system in order to share instrumentation resources and apply power and loads. As the unit under test (UUT) becomes more complex or, for example, as multiple UUTs appear in a system, the switching system will get more complex.

When writing test code, there are possibilities where power could be applied to the wrong test point, several connections could be shorted together, or the wrong instrument could be connected. These instances could create false failures or damage the UUT or even the test system. In these instances, test engineers should consider implementing switching/routing software in their test strategy.

Switching and routing software helps to provide smooth and easy implementation of switching applications with minimal coding. This article provides an example of a test sequence involving multiple switch modules creating a complex test sequence and explains the benefits of using this type of software. It also presents Pickering’s Switch Path Manager as an example, but the reasons for selecting switching and routing software can be applied to other packages as well.

Within small switching-system configurations or when utilizing just single switch modules, the user typically applies device drivers with the provided API to control the relays. Simple CLOSE and OPEN commands with additional parameters like module number and channel number control the required relays. This is relatively simple, and there are few possibilities for error.

In any test program, the user always must avoid shorts or malfunctions even when performing simple switching tasks. If there are many relays involved, the risk of error increases significantly.

Figure 1 shows a four-wire resistance measurement where a DMM and the DUT—noted here as channels 1, 2, and 3—are connected to the matrix X axis, turning a simple switching setup into something more complex.

Figure 1. Four-wire resistance-measurement example

For the correct measurement, all four signal paths between the DMM and the DUT must be properly set, meaning all crosspoints on all four Y axes must be closed at the correct X position. If only one is wrong, it will result in erroneous measurements or possible shorts to adjacent DUT terminals. For another example, consider that an additional four-wire resistance measurement takes place on the second matrix. Two two-pole relays are cascading both matrices by interconnecting Y-bus 1 to 4. Now, even more relays distributed on three different modules have to be programmed properly to achieve a correct measurement.

It is obvious that switching-system complexity increases when multiple modules configured and interconnected with each other are carrying signals routed throughout the system. For this reason, switching and routing software manages any configuration complexity, yet remains easy to use and always takes safety aspects into account.

Switch Path Manager virtually describes any switching architecture and processes all stored project data for switching and routing at runtime. A multivendor and platform independent switch-module library provides the models that are added to the project. In addition, the physical interconnections as well as the endpoints have to be defined. Endpoints are the boundary of the system where measurement and stimuli equipment and all the UUT access points are connected. By calling point-to-point or point-to-multipoint functions, the routing is processed, and the required relays are controlled to establish a signal path between these endpoints. The router will never interfere with existing routes and will find an alternate bypass or terminate with an error message if not successful.

Continuing the first example and extending it to a four-wire resistance measurement DMM to R2 (channel 2), as shown in Figure 2, there are four routes to be established and therefore four CONNECT functions to be called:

  • Connect Endpoints (DMM+, R2a)
  • Connect Endpoints (s+, R2b)
  • Connect Endpoints (DMM-, R2c)
  • Connect Endpoints (s-, R2d)
Figure 2. Four-wire resistance measurement extended to channel 2

The disconnect functions would substitute Disconnect Endpoints (DMM+, R2a), etc.

When using the device driver, 18 CLOSE commands have to be sent to achieve the same setup. (These commands are detailed in the Pickering Interface Knowledgebase posting “What is the purpose of Switching & Routing Software?” from which this article is derived.) Besides increasing the number of commands, good knowledge of the system is required to understand which crosspoints have to be used.

If frequently recurring routes are required, it might be more efficient to create fixed routes instead of calling endpoint-to-endpoint connections. Those routes can be grouped together to make connecting and disconnecting even simpler. Each separate route holds an attribute called Auto-Route or Static-Route and determines in advance whether a route selects an independent path based on the current switch status or a static one, which might fail if an existing route is blocking the way.

For the R2 four-wire measurement, four single routes (R2_DMM-, R2_DMM+, R2_DMMs+, R2_DMMs-) are grouped (GRP_DMM_R2) and switched by single connect route group commands: ConnectRouteGroup (GRP_DMM_R2).

The disconnect function would substitute Disconnect-RouteGroup(GRP_DMM_R2).

The software handles individual relay control as well: a relay group, which is a group of one or more relays, is called by function ConnectRelayGroup (RELAYGRP).

The disconnect function would substitute Disconnect-RelayGroup(RELAYGRP). For example, relay group RELAYGRP contains the relay channel information of cross points Y2/X10, Y2/X11, Y3/X10, Y3/X11 (Figure 3).

Figure 3. RELAYGRP with channel information for crosspoints Y2/X10, Y2/X11, Y3/X10, Y3/X11

Short-circuit detection

A very important aspect to consider when selecting switching and routing software is short-circuit detection (SCD). If not handled correctly, routing might create shorts in a switching system. In the configuration in Figure 4, there are two switching systems interconnected via a normally closed relay. Now, with an existing route established between A and B, a second route from C to D would cause an unwanted short of the two systems. The Switch Path Manager SCD prevents this condition, returns an error message, and will not switch this second route.

Figure 4. Two switching systems connected via a normally closed relay

Another more obvious example illustrates the SCD when using multipole relays: Two matrices are interconnected on their Y1 and Y2 lines via a two-pole relay (Figure 5). The blue and green routes already have been switched. Another signal path from X1 left side and X3 right side would allow a route over one pole of the two-pole relay. However, Switch Path Manager prevents the closing; as on the first pole, the green and the blue existing routes would then inadvertently be shorted.

Figure 5. Two matrices interconnected on their Y1 and Y2 lines via a two-pole relay

Signal isolation

If the switching system’s signal leads are not isolated, and therefore used for routing, it can lead to unintended connections and short circuits. The two block diagrams in Figures 6 and 7 illustrate this within the following task: Establish two independent connections Y1-Y4 and Y2-Y3.

Figure 6. Unwanted connection to the DMM+ and s+ leads
Figure 7. Routes on absolute free paths without any connections to the outside world

The router searches for the best-unused path and switches the crosspoints regardless of what is connected. Figure 6 shows an unwanted connection to the DMM+ and s+ leads. This happens because the router does not know which signals are applied to given nodes. Figure 7 shows the routes on absolute free paths without any connections to the outside world; this happens because X1, X2, X5, and X6 (used for the DMM) are defined as “isolated” in the system configuration.

Other considerations

When you chose switching software, you should consider support—the switching and routing software you select should have drivers for all of the switching modules specified. If not, is there an easy procedure to obtain them?

You should also consider the software interface—the switching and routing software should easily interface with the primary software language that is being used for the overall test program. So the capability to interface to C, C++, and others is important.

Finally, consider execution speed. The performance speed of switching and routing software should be considered separately. Such systems always will be slower compared to optimized direct programming; this is especially true when used in small switching configurations with one or very few switch modules. However, these delays are small, in the order of milliseconds.


Complex test systems are necessary for many of today’s electronic products. Generating test code for these systems can be error-prone if a complex switching system is implemented. In such instances, a switching and routing software package should be considered as an important part of the program tools implemented. There are many parameters that should be evaluated before making your selection. But the end result will be shorter development and minimal risk for switching errors.

For smooth and easy implementation of switching applications with minimal coding, switching and routing software is unbeatable compared to low-level programming. The software also offers a simple and accurate setup, further speeding up the development process.

About the author

Matthias von Bassenheim is the managing director for Pickering Interfaces’ German office. Along with application support for accounts in Germany, Austria, and Switzerland, he is an integral part of the launch and ongoing management of Pickering’s Switch Path Manager signal-routing software program. With more than 25 years experience in electronics test, von Bassenheim also has held application and project management positions with Teradyne, GenRad, and Alcatel.

Sponsored Recommendations


To join the conversation, and become an exclusive member of Electronic Design, create an account today!