Programmable Resistor

 

This section details the use of functions specific to programmable resistor sub-units.

 

No resistor-specific functions are currently provided.

 

General purpose output functions such as pipx40_setChannelPattern can be used to program resistance values by setting bit-patterns explicitly.

 

Each of a card's programmable resistors is implemented as a separate logical sub-unit and is constructed from a series chain of individual fixed resistor elements, each element having an associated shorting switch. In the cleared state all switches are open, giving the programmable resistor its maximum value. A nominal value of zero ohms is obtained by turning all switches ON; other values by turning on an appropriate pattern of switches.

 

In standard models the individual fixed resistors are arranged in a binary sequence, the least significant bit of the least significant element in the array passed to pipx40_setChannelPattern corresponding to the lowest value resistor element. For example, in a standard 16-bit resistor of 32768 ohms:

Data[0] bit 0 (value 0x0001) corresponds to the 0R5 resistor element

Data[0] bit 1 (value 0x0002) corresponds to the 1R0 resistor element

thru...

Data[0] bit 15 (value 0x8000) corresponds to the 16384R resistor element

Setting a nominal value of 68 ohms (= 64 + 4 ohms) therefore requires Data[0] set to 0xFF77 (the inverse of the binary pattern 0000 0000 1000 1000).

 

Special models may have some other arrangement, and may also include a fixed offset resistor that is permanently in circuit.

 

Non-volatile (EEPROM) storage of calibration values is supported through the functions pipx40_readCalibration and pipx40_writeCalibration.

 

See the application note on Programmable Resistor Cards.