Option Extra I/O | Digital I/Os |
|
|
Option Extra I/O
Digital I/Os
With this
The extra I/O option is useful if an external amplifier should be controlled, any kind of signal source must be programmed, an antenna must be adjusted, a status information from external machine has to be obtained or different test signals have to be routed to the board.
It is not possible to use this option together with the star hub or timestamp option, because there is just space for one piggyback module on the
Channel direction
Option -XMF (external connector)
The additional inputs and outputs are mounted on an extra bracket.
The direction of the 24 available digital lines can be programmed for every group of eight lines. The table below shows the direction register and the possible values. To combine the values so simply have to OR them bitwise.
Register | Value | Direction | Description |
| |
SPC_XIO_DIRECTION | 47100 | r/w | Defines bytewise the direction of the digital I/O lines. The values can be combined by a bitwise OR. | ||
| XD_CH0_INPUT | 0 | Sets the direction of channel 0 (bit D7…D0) to input. | ||
|
|
|
| ||
| XD_CH1_INPUT | 0 | Sets the direction of channel 1 (bit D15…D8) to input. | ||
|
|
|
| ||
| XD_CH2_INPUT | 0 | Sets the direction of channel 2 (bit D23…D16) to input. | ||
| XD_CH0_OUTPUT | 1 | Sets the direction of channel 0 (bit D7…D0) to output. | ||
|
|
|
|
| |
| XD_CH1_OUTPUT | 2 | Sets the direction of channel 1 | (bit D15…D8) to output. | |
|
|
|
|
| |
| XD_CH2_OUTPUT | 4 | Sets the direction of channel 2 | (bit D23…D16) to output. |
Transfer Data
The outputs can be written or read by a single 32 bit register. If the register is read, the actual pin data will be taken. Therefore reading the data of outputs gives back the generated pattern. The single bits of the digital I/O lines correspond with the bitnumber of the 32 bit register. Values written to the most significant byte will be ignored.
Register | Value | Direction | Description |
SPC_XIO_DIGITALIO | 47110 | r | Reads the data directly from the pins of all digital I/O lines either if they are declared as inputs or |
|
|
| outputs. |
SPC_XIO_DIGITALIO | 47110 | w | Writes the data to all digital I/O lines that are declared as outputs. Bytes that are declared as inputs |
|
|
| will ignore the written data. |
Analog Outputs
In addition to the digital I/Os there are four analog outputs available. These outputs are directly programmed with the voltage values in mV. As the analog outputs are driven by a 12 bit DAC, the output voltage can be set in a stepsize of 5 mV. The table below shows the registers, you must write the desired levels too. If you read these outputs, the actual output level is given back from an internal software register.
Register | Value | Direction | Description | Offset range |
SPC_XIO_ANALOGOUT0 | 47120 | r/w | Defines the output value for the analog output A0. | ± 10000 mV in steps of 5 mV |
|
|
|
|
|
SPC_XIO_ANALOGOUT1 | 47121 | r/w | Defines the output value for the analog output A1. | ± 10000 mV in steps of 5 mV |
SPC_XIO_ANALOGOUT2 | 47122 | r/w | Defines the output value for the analog output A2. | ± 10000 mV in steps of 5 mV |
SPC_XIO_ANALOGOUT3 | 47123 | r/w | Defines the output value for the analog output A3. | ± 10000 mV in steps of 5 mV |
After programming the levels of all analog outputs by the registers above, you have to update the analog outputs. This is done by the register shown in the table below. To update all of the outputs all you need to do is write a “1“ to the dedicated register.
Register | Value | Direction | Description |
SPC_XIO_WRITEDACS | 47130 | w | All the analog outputs are simultaniously updated by the programmed levels if a “1“ is written. |
(c) Spectrum GmbH | 87 |