An alternate implementation is to
dynamically change the f(SYSCLK) frequency depending on the system
temperature. An external temperature sensor can be used to measure TA, or
the internal temperature sensor can be used to measure TJ. Before the
temperature passes the maximum allowed TA (145°C) or TJ
(155°C), the application code can reduce the f(SYSCLK) frequency as noted
above. Some system considerations for this approach:
- Temperature sensors (internal
or external) have an accuracy specification which must be considered when
selecting a temperature threshold for transitioning.
- Temperature threshold
hysteresis must be used to avoid rapid cycling between frequency
ranges.
- Control loops and peripherals
like ePWM must be adjusted for the new f(SYSCLK) frequency if the
control loop operates in the higher temperature range.
- Communications peripherals
dependent on specific baud rates must be adjusted to the new
f(SYSCLK) frequency.
- Time based counters like the
Watchdog timer or delay software delay functions must be adjusted.
There are other clock-related dependencies that affect the required
updates when changing frequencies. The
Clocking System diagram and ClockTree Tool
in
C2000™ SysConfig can assist with determining which
dependencies must be updated.