SPLat Logo

Tutorial: Using SPiceX for large I/O counts

NOTICE: Our web site is being updated, but is currently experiencing extreme slowness due to host issues. Please contact us directly.
NOTICE: SPLat Controls has moved. We are now at 1/85 Brunel Rd, Seaford, 3198. map
SPLat will be shut down for the Christmas Holiday season from Friday 20 December 2024 through Tuesday 7 January 2025. We will check emails periodically and will continue to process orders but at a slower pace. Santa hat

Tutorial: Using SPiceX for large I/O counts

This tutorial will teach you how to control a large number of XPice expansion boards like the XBIO16 and XIRO16. This will allow you to configure SPLat control systems with I/O counts of 200 or more. The method you will learn is called SPiceX, and is one of many expansion schemes defined in the SPLat Expansion Framework.

Background

The expansion boards like XBIO16 are designed to work under an expansion scheme called XPice, and they are referred to generically as XPice expansion boards. When you connect one or two XPice expansion boards to a SPLat controller, the controller is capable of sensing the presence of those boards and adjusting its input and output drivers accordingly. Once it has done that it provides full support to the expansion boards and they appear to your SPLatWare program, and to SPLat/PC, as a number of regular I/O points. However, providing that transparent support consumes resources within the SPLat processor, both processor time and memory. Therefore there is a limit to how many expansion boards can be supported in this way, that limit being determined by the amount of resources we are willing to set aside for expansion board support.

The limit we have set is that there can be a maximum of 32 outputs and 32 inputs supported on expansion boards with full I/O transparency. That corresponds to 4 XIRO16 boards or 2 XBIO16 boards.

Breaking the limit

This tutorial will show you how to exceed the limit described above. The programming is more complicated, so this rates as an advanced topic, but if you are comfortable with bits and bytes and prepared to forego some of the debugging conveniences provided by SPLat/PC, it does give you a way of building systems with high I/O counts. The method is particularly suited to applications where you have for instance regular arrays of basically identical outputs, for example display panels or light chasers.