Knowledge Base

Programming the MBIO16 is very simple. All standard range controllers released subsequent to the MMi99 (after May 2002) will support the board.

SPLat/PC can be configured to handle the MBIO16 board. The MBIO16 is represented as an extra 16 inputs and an extra 16 outputs. Because each I/O pin on the MBIO16 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 MBIO16, 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 MBIO16 board:

1. Automatic configuration

If you connect the MBIO16 to a compatible SPLat controller, and then connect the controller to SPLat/PC, if SPLat/PC recognizes the controller and MBIO16 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 MBIO16.

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 MMi201 there are the following variants:

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

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

Input and output numbers

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

For an MBIO16 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 MBIO16 connected to an MMi201, which has different quantities of inputs and outputs, this means that a given MBIO16 I/O point will have a different number seen as an input and seen as an output.

For an MBIO16 that is connected to another MBIO16, 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.