How to read Power monitor value in system console

cancel
Showing results for 
Search instead for 
Did you mean: 

How to read Power monitor value in system console

How to read Power monitor value in system console



Here is the idea what the Power Monitor GUI is actually doing in the back end.


3 steps to access

set and open the node

set the rail to read

read the value



Step1

//## opening the port to Virtual-Jtag set vj [ lindex [ get_service_paths sld ] 0 ] open_service sld $vj


This could be different. You have to find out the right node by yourself.

You need to find out this node (110:8 v0 #0) This is the virtual-jtag node and node index is 0



Here is some example of the list of nodes

//### This is the example of list of sld nodes

% set vj [ lindex [ get_service_paths sld ] 0 ]

/devices/5M(1270ZF324|2210Z)|EPM2210@2#USB-1/(link)/JTAG/(110:8 v0 #0)

% set vj [ lindex [ get_service_paths sld ] 1 ]

/devices/5M(1270ZF324|2210Z)|EPM2210@2#USB-1/(link)/JTAG/(110:8 v0 #1)

% set vj [ lindex [ get_service_paths sld ] 2 ]

/devices/5M(1270ZF324|2210Z)|EPM2210@2#USB-1/(link)/JTAG/(110:8 v0 #123)

% set vj [ lindex [ get_service_paths sld ] 3 ]


>>>> In this example, you can use the node '0' So, you can use set vj [ lindex [ get_service_paths sld ] 0 ]


//## another example of list of many many sld nodes

//## some are in the FPGA, some are in system-max

% set vj [ lindex [ get_service_paths sld ] 0 ]

/devices/5CGTFD9(C5|D5|E5)|5CGXBC9C6|..@1#USB-1/(link)/JTAG/(110:0 v6 #0)

% set vj [ lindex [ get_service_paths sld ] 1 ]

/devices/5CGTFD9(C5|D5|E5)|5CGXBC9C6|..@1#USB-1/(link)/JTAG/(110:132 v1 #0)

% set vj [ lindex [ get_service_paths sld ] 2 ]

/devices/5CGTFD9(C5|D5|E5)|5CGXBC9C6|..@1#USB-1/(link)/JTAG/(110:132 v1 #1)

% set vj [ lindex [ get_service_paths sld ] 3 ]

/devices/5CGTFD9(C5|D5|E5)|5CGXBC9C6|..@1#USB-1/(link)/JTAG/(110:132 v1 #2)

% set vj [ lindex [ get_service_paths sld ] 4 ]

/devices/5CGTFD9(C5|D5|E5)|5CGXBC9C6|..@1#USB-1/(link)/JTAG/(110:9 v0 #0)

% set vj [ lindex [ get_service_paths sld ] 5 ]

/devices/5CGTFD9(C5|D5|E5)|5CGXBC9C6|..@1#USB-1/(link)/JTAG/(110:9 v0 #1)

% set vj [ lindex [ get_service_paths sld ] 6 ]

/devices/5M(1270ZF324|2210Z)|EPM2210@2#USB-1/(link)/JTAG/(110:8 v0 #0)

% set vj [ lindex [ get_service_paths sld ] 7 ]

/devices/5M(1270ZF324|2210Z)|EPM2210@2#USB-1/(link)/JTAG/(110:8 v0 #1)

% set vj [ lindex [ get_service_paths sld ] 8 ]

/devices/5M(1270ZF324|2210Z)|EPM2210@2#USB-1/(link)/JTAG/(110:8 v0 #123)

% set vj [ lindex [ get_service_paths sld ] 9 ]



>>>> In this example, you can use the node '6'

set vj [ lindex [ get_service_paths sld ] 6 ]



Step2 Set the rail to read from

//## to set the read rail to rail 1

sld_access_ir $vj 0 2

sld_access_dr $vj 8 1 [list 0x81 ]

//## to set the read rail to rail 3

sld_access_ir $vj 0 2

sld_access_dr $vj 8 1 [list 0x83 ]


Step3 Read the differential value

//## reading differential voltage value

sld_access_ir $vj 2 2

sld_access_dr $vj 4 1 [list 0x00 ]

sld_access_ir $vj 1 2

sld_access_dr $vj 16 1 [list 0x00 0x00]


Now, it just read the differential value from the LTC2418.

You need to convert this value to the actual voltage.

It will be depending on the board.

You need to look for


what is the ref-voltage

what is the resister value


Where can you find that information? Look at the bill of materials (BOM) and schematics for the board.

The BOM can be used to find the resistor names in the schematics.

They are probably the only resistors on the board in the mOhm range. Now it will be easier to find the resistors in the schematic when you know which resistors you are looking for. You can then see which resistor is connected to which signal in the power monitor.

The power monitor probably has its own page in the schematic. You can also see the voltage connected to the monitor's VCC.


If the ref-voltage is 5.37V...

LTC2418 will give you 2^23 steps of value based on this.

so each step is 5.37 / (2^23)

You just need to multiply this step value to the differential value.

For example if the diff-value read is 0x06b6

1718 * 6.401538848876953e-7 = 0.0010997843742371

Now, the AMP is based on I = V/R

R value can be differ in each rail, most likley 1mOhm or 3mOhm.

For example, if it is 1mOhm, then

0.0010997843742371 / 0.001 = 1.099784374237061A

or

1099.78mA


Version history
Last update:
‎06-27-2019 04:48 PM
Updated by:
Contributors