hi everyone,
we have a radio console which is using I.mx287, everything runs fine until we put it into the climatic chamber at 50degree celcius
( We need to pass the EN certificate )
The console shut down after several minutes at 55 degree celcius, and it won't start at 60degree celcius
My question is that is there any thermal protection inside the chip itself ( hardware )?
is there any preset thermal protection in the kernel?
if any information you need, I can try my best to provide
sorry, I am a marketing guy and this is the first embedded Linux project we are working on
THanks roy
1.
Please refer to section 11.9 (Thermal-Overload Protection Circuit) of the i.MX28
Reference Manual.
Also, the following additional information helps :
2.
This feature can be enabled by the following :
2.1. Enable THERMAL_RESET_ENABLE in HW_CLKCTRL_RESET : 0x800401e0 = 0x8.
2.2. Enable Thermal module via clear PWD in HW_POWER_THERMAL: 0x80044120 = 0x0
(default is 115 C).
2.3. Enable XTAL32KHZ_PWRUP in HW_RTC_PERSISTENT0: 0x80056064 = 0x20.
After doing that, if the AUTO_RESTART bit is set in HW_RTC_PERSISTENT0, when
temperature is over than 115 C, system will reset, and if AUTO_RESTART bit is
clear, system will power off if the device has no 5V connected.
Also note, 85 C relates to external ambient temperature, and thermal protection
operates with internal junction temperature.
T junction = T ambient + RthJA x PD
where PD is Total On-chip Power Dissipation.
3.
Thermal protection feature operates automatically.
4.
Recent FSL Linux BSP does not apply the protection feature, but one can use
temperature reading interface of Linux BSP :
ddi_power_GetDieTemp(int16_t *pLow, int16_t *pHigh)
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
Problem back on!!!
We slowly apply the heat at the back of the CPU ( through the PCB )
Then, we are using a thermistor to monitor the temperature at the face of the CPU.
Whenever the temperature reach 69C-70C, the system shut down
My questions:
1) How to check if there is any temperature monitoring utility running in the system??
Thanks
Roy
Hi Yuri,
The content of the registers:
root@fpg3Plus ~$ /unit_tests/memtool -32 0x800401E0 1
Reading 0x1 count starting at address 0x800401E0
0x800401E0: 00000014
root@fpg3Plus ~$ /unit_tests/memtool -32 0x80044120 1
Reading 0x1 count starting at address 0x80044120
0x80044120: 00000080
Thanks
Roy
Hi Yuri,
We finally found the problem.
It was not about the freescale.
It turned out our USB hub onboard shut down at high temperature.
And it caused the Freescale to shut down.
We changed the USB hub to industrial grade and everything works fine
However, we don’t know why the USB HUB shut down would caused the Freescale to shut down
Anyway, we passed -20C to 60C certificate
Roy
Hi Yuri ,
Thanks for the reply
Today, I did some intensive tests inside the chamber, the console shut down
at 64-68 degree Celsius
We found once the internal temperature of the console climbed up to 65c.
The system will shut down
Roy
Hi Yuri,
Thanks for your reply
Finally, we found the problem.
The crystal oscillator is starting to be unstable at 60c, and shut down at
around 80c. So the imx287 shut down.
Thanks for all the support
Lesson learnt, must buy seiko crystal oscillator
Roy