Post Go back to editing

# ADM1293 Delta Power negative issue

Hi Sir,

"delta_power = [Accumulated_power(n) + (rollover_count(n) * 2^15)] - [Accumulated_power(n-1) + (rollover_count(n-1) * 2^15)]"

Because use (Data 2 - Data 1) and (Data 8 - Data 7) the delta_power is negative. Thanks!

Parents
• The main difference between 1293/4's energy metering block and other similar parts from ADI is the energy count is now unsigned value instead of a signed value.

The ADM1293/4 has two energy meters monitoring power flow in both directions, which makes the sign bit not useful anymore. the extra bit can be used to double the storage.

This has two consequences:

first is that energy count is an unsigned number now.  C132 in unsigned number is 49458 in decimal. Where if it is signed treated as a 2’s complement number it would be -16078.

The second is that the rollover multiplier would be different. On other parts like ADM1276/8 and ADM1075, as the energy accumulator data is signed and those parts only support positive energy accumulation, the MSB is always 0. so the roll over takes place at 0x7FFF. On ADM1293/4, the MSB will be used so the rollover takes place at 0XFFFF.

In a way it is actually much easier as now you can just treat the roll over as the extra byte in front and convert the whole number into decimal.

The customer may still use the old formula, providing they did not treat the power as 2’s complement, and they will also need to change the multiplier of the roll over count from 2^15 to 2^16.

"delta_power = [Accumulated_power(n) + (rollover_count(n) * 2^16)] - [Accumulated_power(n-1) + (rollover_count(n-1) * 2^16)"

7BC132h   7b*2^16+C1*2^8+50= 8110386d

Ren

• The main difference between 1293/4's energy metering block and other similar parts from ADI is the energy count is now unsigned value instead of a signed value.

The ADM1293/4 has two energy meters monitoring power flow in both directions, which makes the sign bit not useful anymore. the extra bit can be used to double the storage.

This has two consequences:

first is that energy count is an unsigned number now.  C132 in unsigned number is 49458 in decimal. Where if it is signed treated as a 2’s complement number it would be -16078.

The second is that the rollover multiplier would be different. On other parts like ADM1276/8 and ADM1075, as the energy accumulator data is signed and those parts only support positive energy accumulation, the MSB is always 0. so the roll over takes place at 0x7FFF. On ADM1293/4, the MSB will be used so the rollover takes place at 0XFFFF.

In a way it is actually much easier as now you can just treat the roll over as the extra byte in front and convert the whole number into decimal.

The customer may still use the old formula, providing they did not treat the power as 2’s complement, and they will also need to change the multiplier of the roll over count from 2^15 to 2^16.

"delta_power = [Accumulated_power(n) + (rollover_count(n) * 2^16)] - [Accumulated_power(n-1) + (rollover_count(n-1) * 2^16)"

7BC132h   7b*2^16+C1*2^8+50= 8110386d

Ren

Children
No Data