Hi JD and community member,
I have additional consultation.
When my customer put MSP430 on their custom board and debugged in a low temperature environment, it seems that the following phenomenon occurred.
<phenomenon>
When the MSP430 is reset around -35°C,DCOFFG will be set when initializing DCO.
The software uses "cs_ex1_DCO1MHzSWTrim" as fDCO = 4.9152 MHz.
And software trim uses the CS_initFLLCalculateTrim () function.
<Question>
1. Is it possible for the DCO tap to reach the maximum value even when CS_initFLLCalculateTrim () is executed?
2. Are there any workaround for software?
<Contents>
When debugging, the program counter was stuck in the following loop processing in CS_initFLLCalculateTrim ().
// Poll the FLLUNLOCK bits and DCOFFG bit until FLL is locked or DCO fault
while((HWREG16(CS_BASE + OFS_CSCTL7) & (FLLUNLOCK0 | FLLUNLOCK1)) &&
((HWREG16(CS_BASE + OFS_CSCTL7) & DCOFFG) == 0));
At this time, if the temperature was raised while holding onto the DCOFFG loop, the DCO tap will not be 1FF around -25°C, and DCOFFG was reset.
Then the MSP430 got out of the loop.
The following capture screen is the CS register when the temperature is changed.
We consider the cause and the solution , but no concrete idea has come up.
Could you give me some advice.
Best regards.
Cruijff