Knowledge Base

Programming the XBIO16 is very simple. You need an appropriate version of SPLat/PC. SPLat/PC V6.10.2 or later will support the XBIO16 with the MMi99 controller (The MMi99 needs Firmware V3.6 or later). All standard range controllers released subsequent to the MMi99 (after May 2002) will support the board, and the DK versions will be shipped with appropriate support software.

SPLat/PC can be configured to handle the XBIO16 board. The XBIO16 is represented as an extra 16 inputs and an extra 16 outputs. Because each I/O pin on the XBIO16 can be either an input or an output, SPLat/PC shows them as both. You must yourself keep track of which mode you are using each pin in.

Once SPLat/PC is configured for the XBIO16, you program it as you would any other inputs or outputs. There are some minor timing restrictions.

There are two ways you can configure SPLat/PC to recognize the XBIO16 board:

1. Automatic configuration

If you connect the XBIO16 to a compatible SPLat controller, and then connect the controller to SPLat/PC, if SPLat/PC recognises the controller and XBIO16 combination (i.e. you have a recent enough SPLat/PC), SPLat/PC will automatically configure itself. You will see the I/O window grow to accommodate the extra I/O from the XBIO16.

2. Manual configuration

Within SPLat/PC, there is a menu item to configure SPLat/PC to the board you are working with. This menu item is File>Configure>Board Type. Each controller board that can support XPice expansion boards like this one is represented by several variants. These variants relate to the amount of XPice expansion capacity connected to the controller.

For example, for the MMi99 there are the following variants:

MMi99Just the controller, no expansion
MMi99+16XPiceController plus 16 XPice I/Os
MMi99+32XPiceController plus 32 XPice I/Os
MMi99+48XPiceController plus 48 XPice I/Os
MMi99+64XPiceController plus 64 XPice I/Os

Because the XBIO has, in effect, 16 inputs and 16 outputs, you need to select MMi99+32XPice (assuming you have just one XBIO16 connected).

Input and output numbers

You will need to carefully work out what input and output numbers apply to each XBIO16 I/O point. This will depend on what type of controller the XBIO16 is connected to, and on what other XBIO16 (or other XPice boards) are involved.

For an XBIO16 connected directly to a controller, the input numbers ‘run on’ directly after the controller’s onboard inputs, and the output numbers ‘run on’ directly after the controller’s outputs. On an XBIO16 connected to an MMi99, which has different quantities of inputs and outputs, this means that a given XBIO16 I/O point will have a different number seen as an input and seen as an output.

For an XBIO16 that is connected to another XBIO16, the input and output numbers ‘run on’ from the XBIO closer to the controller.

The easy way to get this clarified is to actually hook the boards up, connect to SPLat/PC and experimentally activate inputs and outputs. The SPLat/PC I/O window will show what’s happening.

Implementing systems with more than 64XPice I/Os

The limit on I/O count implied above is not absolute. Using the SPiceX method you can go considerably further. Tutorial.