Knowledge Base

Xwire: Speed, range and capacities

Speed

Xwire uses serial data at 38,400 bits per second. The time taken to service one slave is approximately 7.2mS plus 261uS per byte of data transferred. For example, if we are sending 10 bytes to the slave and getting 9 bytes back, the total time per exchange will be

7.2mS + (10+9)*0.261mS = 12.16mS

which translates to about 82 updates per second.

Range

The range (maximum cable length) is limited by 2 factors:

  • The capacitance of the connecting cable
  • Electrical noise

Under ideal noise free conditions we have achieved error free board to board transmission with up to 33nF of cable capacitance. That translates to 20m or more of typical screened cable. We have tested an error free connection over 21m of single core screened cable in our office environment. In practice we would not recommend more than 5m of cable end to end. Whether to screen or not depends on length and ambient electrical noise.

Noise is harder to quantify. Consider this: Xwire is intended for interconnecting boards in a known, stable, tested configuration. It is absolutely not intended for machine to machine interconnection in a customer’s premises where conditions are unknown. You use it inside a machine, not outside. That means you should be in a position to conduct practical tests while you are prototyping your machine. Write a test program that exercises all the nasty noise generating items inside your box, like relays, VFDs, contactors, inverters, Van den Graff generators, welders, radio transmitters etc. Cycle these things as rapidly as you can without blowing anything up, all the while watching the Xwire error counter. Try to make it error by doing the worst thing you can to it, like wrapping the Xwire wiring twice around a contactor that’s switching a 2HP motor. If you can induce errors you will feel more comfortable about it when you “back off” from the point where it starts to play up.

Hint: In extreme cases a noise pulse can reset a processor. This will result in the SPLat program restarting “from the top”. Build into your test program something immediately noticeable at startup, like a long beep, or a 10 second pause with no relay activity. That way you will get a clear indication if it does reset.

Number of boards

The number of boards that can be interconnected may depend on the board type. The initial boards containing Xwire (CC18 and MS120) have one kind of processor chip, whereas future boards may have different chips with different drive and loading characteristics. We define the CC18 and MS120 as representing one Unit load and 10 Units drive. The latter means it can drive 10 other boards of the same load rating., so you can have up to 11 boards in a network.

Data capacity

The number of bytes that can be transferred into or out of a board may vary with board type and Firmware revision. Please refer to the Xwire section of each board’s documentation.