Analog Outputs

Option Extra I/O

 

 

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.

Programming example

The following example shows how to use either the digital I/O#s and the analog outputs.

// ----- output 8 bit on D7 to D0 and read 8 bit on D15 to D8 -----

SpcSetParam (hDrv, SPC_XIO_DIRECTION, XD_CH0_OUTPUT XD_CH1_INPUT); // set directions of digital I/O transfer

SpcSetParam (hDrv, SPC_XIO_DIGITALIO, 0x00005A);

// write

data

to D7-D0

SpcGetParam (hDrv, SPC_XIO_DIGITALIO, &lData);

// read data and write values to lData

// ----- write some values to the analog channels. -----

// -2000

mV =

-2.0

V

SpcSetParam (hDrv, SPC_XIO_ANALOGOUT0,

-2000);

SpcSetParam (hDrv, SPC_XIO_ANALOGOUT1,

0);

//

0

mV =

0.0

V

SpcSetParam (hDrv, SPC_XIO_ANALOGOUT2,

+3500);

//

3500

mV =

3.5

V

SpcSetParam (hDrv, SPC_XIO_ANALOGOUT3, +10000);

// 10000

mV =

10.0

V

SpcSetParam (hDrv, SPC_XIO_WRITEDACS, 1);

// Write

data

simultaneously to DAC

66

MI.61xx Manual

Page 66
Image 66
Spectrum Brands MI.61XX manual Programming example, Analog Outputs Option Extra I/O