Skip to content

Bug: the junction-temperature warning reports a part's rated maximum, not what the board dissipates #274

Open

Description

@JeffMboya

What were you trying to achieve?

Read W-SYNTH-THERMAL-001 on the Class-A boards as a statement about those
boards, and act on it.

What are the expected results?

A junction-temperature estimate for a part on this board: the power it
actually dissipates here, through its thermal resistance.

What are the received results?

The part's own maximum, on every board that uses it, whatever the load:

W-SYNTH-THERMAL-001 | U3 reaches about 107 C (1360 mW over 60 C/W)
W-SYNTH-THERMAL-001 | U1 reaches about 107 C (1360 mW over 60 C/W)

The first is protected_power_entry, where the AMS1117 feeds an indicator LED
and a header. The second is i2c_sensor_node, where it feeds an STM32G030, a
BME680 and a 24LC256. The two boards differ by an order of magnitude in load
and report the same temperature, because 1360 mW is
ams1117_3v3's declared max_power_mw rather than anything either board
asks of it.

On the sensor node the real figure is 5 V to 3.3 V across a budget of about
300 mA — the sum of the three devices' declared max_current_ma — so 510 mW,
31 C of rise, about 56 C. That is a different conversation from 107 C.

Steps To Reproduce

  1. Put an ams1117_3v3 on a board with one LED on its output.
  2. synth validate.
  3. W-SYNTH-THERMAL-001 reports 107 C.

In what environment did you encounter the issue?

synth from main at dddda6f.

Additional information you deem important

The load is already computable: E-SYNTH-POWER-010 sums the declared
max_current_ma of every device on a regulator's output net to decide whether
the regulator is over budget. The same sum, times the input-to-output drop,
is the dissipation — and the input voltage is available wherever the board
declares its rails with power "NAME" <V>.

The honest fallback when a rail is not declared is to say so, rather than to
substitute the part's rating: a warning that fires identically on every board
using a given part carries no information about any of them, and the first
thing a reviewer does with it is learn to ignore it.

Found while making the Class-A boards standalone: #268, #269.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions