Back to Resources












Sexbar: Serial Crossbar Network







Introduction

minor revisions Mar 19, 2004 

It became clear in the early days of Microship system development that some deeply-integrated communication tools would be necessary for what we have come to call “low-level networking” -- the roughly 2,000 potential one-to-one interconnections among dozens of audio, video, and serial data streams. Among the computers and wireless manpacks, Ethernet handles high-speed networking. But what about all the little guys? How do we allow software to establish any random link (including countless possibilities not anticipated at design time) between systems that lack TCP/IP protocol stacks and networking hardware?

The problem is serious, and one obvious (and very wrong) solution is to add switches, patch panels, and relays as needed. You see this sort of thing all the time in complex environments like ham radio stations and large yachts... a multiplicity of speakers, microphones, patch cables, mode switches, and kluge interface boxes. These are almost impossible to “edit” as needs change... and change they will!

Multimedia networking tools are becoming commonplace in the marketplace, allowing streams of digitized video and audio to be handled as data. It would be nice if this could work universally, but until every radio, cellphone, speech synthesizer, and cheap video camera adopts a universal digital interface standard (don't hold your breath), something else is necessary.

Enter the crosspoint switch. Typified by the Mitel 88xx series (Mitel Semi is now Zarlink), these devices are conceptually simple and very elegant -- an X-Y array of addressable analog FET switches with a corresponding RAM (in most cases, write-only) to hold the current pattern. Each switch corresponds to a bit in this memory, and by writing an address along with a 1 or 0 to that location, you can turn the switch on or off. The 8816, for example, is an 8x16 array of switches in a 40-pin DIP or 44-pin PLCC.

The Sexbar is one of three on-board crossbar networks, and has become an extremely useful tool in the Microship network... providing up to four simultaneous bidirectional connections among any of 32 devices. This 8816-based design includes an interesting feature... when a connection request is made, the controller software successively tests all the involved pins for transmit or receive behavior and then creates a “straight cable” or a “null modem cable” as needed. The physical interface consists of a panel of 28 female DB-9 connectors (see photos at right), with three of the other four channels used for internal networking in the control system and the final one used for the polarity testing function.


A Crossbar Backgrounder

The key components in all three of our crossbar subsystems are MT8816 crosspoint analog switch arrays (we use the terms crossbar and crosspoint more or less interchangeably). In the Sexbar and Auxbar, we use the 8816; in the Vixbar, we use the 88V32 which is optimized in various ways for video.

These devices are conceptually straightforward, and have a wide variety of interesting uses. Basically, you can think of them as a matrix of FET switches in which any combination can be turned on or off through a simple RAM-like addressing scheme. This allows any pair of X and Y lines to be connected together, multiple lines on one axis to be bussed to a single line on another, easy synthesis of analog multiplexers, and, of course, our straightforwward crossbar applications.

The conceptual block diagram somewhere over there on the right (depending on the default font in your browser... ain't HTML page layout wonderful?) should give you a good idea of how the devices work. In this drawing, we have 16 inputs and 16 outputs -- requiring only two 8816 chips.

The vertical Y lines are all tied together, providing a set of 8 buses. The chips can of course be interconnected in various ways, but this gives us the maximum number of inputs and outputs with a reasonable upper limit of 8 simultaneous connections. The horizontal lines, without any external circuitry, are fully symmetrical -- although as we will see in a moment there are some interesting “polarity” issues with RS-232 connections... not to mention the need to constrain the network to a ± 5V signal range with external zeners. For many applications the chips alone are quite sufficient, with each ON switch representing a DC resistance of approximately 65 ohms.

The control lines are all shown at the left. 7 bits of address are internally decoded into 1-of-16 X lines and 1-of-8 Y lines, and this is latched into the 8816's address decoder when Strobe goes high (assuming that the device's Chip Select line is also high). In the system described in this book, an external 74HC138 decoder will be used to generate the CS lines. The action taken by the addressed switch -- on or off -- is determined by the Data line. And finally, a Reset line is available to clear all the switches in the device. Obviously, large crosspoint arrays can be configured by simply busing together the control lines as shown in the conceptual diagram.

To turn all this into a serial crossbar, all we have to do is make two connections through the network as shown in the conceptual diagram. As you probably know, all RS-232 connectors (DB-9 and DB-25) use pins 2 and 3 for transmit and receive; ignoring, for the moment, the fact that many cables swap these and render the standard endlessly confusing, let's go ahead and connect all pin 2's to the top chip and all pin 3's to the bottom one.

Now we can do some networking. Our sample connection is between the devices plugged into channels 0 and 3. The black dots represent “on” switches in the crossbar chips... if you follow the lines, you can see that the transmit line of channel 0 (Tx0) is connected via two switches to the receive line of channel 3 (Rx3); likewise Tx3 is connected to Rx0. This was accomplished by four separate write commands to the pair of 8816 chips, in each case setting up the switch address, setting the data line high to set a bit, and doing the appropriate dance with chip select and strobe.

But what if one of the cables had been a null-modem type, swapping pins 2 and 3? Because this is so likely in any environment full of RS-232 devices, it would be nice to design the whole Sexbar system so we simply don't have to care about signal polarity. After all, the network supports it -- if we move a couple of those black dots in the drawing, we can rearrange the connections at will. How can we do this automatically?

The magic trick here is a hardware window comparator based on an LM393 (from a circuit on page 669 of the classic Art of Electronics, second edition) that is used by the controlling program to successively test all four pins of the channels involved in the requested connection. In each case, a line is connected through the network to a special reserved channel, and the comparator determines whether it is a receiver or a transmitter. Knowing this about all four lines allows the software to set up a “virtual straight cable” or a “virtual null-modem cable” as needed, transparently making the connection without the user having to care how it happened... as long as the connectors fit and the baud rates are the same, it will work.


For More Sexbar Information

The Sexbar is the subject of a whole technical monograph published by Nomadic Research Labs, and is available from us as a PDF. The file is about a megabyte, and includes full schematics and working FORTH code to control the Sexbar with a New Micros 68HC11 board. We're now porting all three crossbars to the new Hub processor, and at some point will publish that code as well. This is one of those things that really oughta become a product, but I don't have the time, interest, energy, or experience to do what it takes to successfuly launch and support a hardware manufacturing business... hence the lame attempt to make a few bucks by selling plans to those rare hardy souls who want to build one themselves! Please contact me if you're interested in licensing the design and selling Sexbars...

Back to Resources

Back to Microshipnet drawing...




Sexbar matrix, consisting of 28 DB-9 connectors in a 4x7 grid. The other four channels are internal to the system, one dedicated to polarity sensing.







Rear of Sexbar connector matrix. Blobs in wires are zener diodes and resistors -- a hack that was necessary to constrain the RS-232 signals to +/-5V









Sexbar circuitry, showing the four Mitel 8816 crossbar chips, simple address logic, and the window comparator daughter board.













Grand Central Station consisting of serial, audio, and video crossbar networks.