Vault 7: Projects
This publication series is about specific projects related to the Vault 7 main publication.
2007-2014 Microchip Technology Inc. DS70000195F-page 65
Inter-Integrated Circuit™ (I
2
C™)
12.3 Module Applications
An end application would enable the user to determine the resistance of a couple of external
resistors that encode in their resistance an address value that the application can use when
communicating over a communications network. A typical application example is PMBus™.
The user application enables the current source and selects a pin where the current is to be
directed. A resistor is externally connected from this pin to ground. The current flow through the
external resistor generates a voltage. ADC channels, AN4 through AN7, can be used to read the
generated voltage. The calculated resistance value of the external resistor can be translated into
a number of bits. Allowing for the current source accuracy, the accuracy of the external resistors,
and the accuracy of the ADC, 10 to 12 unique resistance values can be read for each resistor.
Therefore, two external resistors in the user’s application circuit can encode 100 to 144 unique
values for use as module identification addresses, which allows two device pins to replace device
pins that are binary encoded. This results in a large pin count savings, especially in a low pin
count package.
The current source output is nominally 10 µA, and the maximum output voltage that can be
reached while still maintaining current regulation is AV
DD – 0.5V. Table 12-1 shows some
example resistor values that can be used to encode an address into a resistor. The table uses
common 5% tolerance resistor values, and the chosen values are separated by two standard
resistor values, which is approximately a 30% value separation.
Table 12-1: Example PMBus™ Address Encoding
Resistor Voltage Address
13k 130 mV 1
18k 180 mV 2
24k 240 mV 3
33k 330 mV 4
43k 430 mV 5
56k 560 mV 6
75k 750 mV 7
100k 1V 8
130k 1.3V 9
180k 1.8V 10
240k 2.4V 11
Note: Other external resistor values may be used as required by the application. Using
tighter tolerance resistors and reducing the spacing between the values of the
resistors will allow more addresses to be encoded into each resistor in the
application circuit.
Protego_Release_01_05-Related-OEM-Documentation-PIC24FJ32MC10X-Reference_Manual-PIC24FJ32MC102-I2C.pdf