Other Parts Discussed in Thread: MSP430F5437A
Hello,
i am currently working on the MSP430F5437A with CCS 5.1, now I did run across something I really do not understand.
My MSP430 features an internal CPU Voltage ( Vcore ) which can be set by some bits ( PMMCOREVx ) by some routines provided in the hal_pmm.c or can be selfmade by reading the FamilyUserGuide.
I didnt implement those functions by myself and honestly I do not really see a "big" advantage of setting down the Core voltage, in my opinion the maximum gain you get form doing so are about 500 µA in active mode. And in my application I do already have 20 mA active mode current ( with external peripherals of course) so I do not really care about this extra current consumption.
What I do care about is my High frequency oscillator. I have an 25 MHz iscillator attached and in use, until now I thought my MCLK and SMCLK really do work on 25 MHz when I code it that way, but now i am beginning to struggle since I saw in the Datasheet, that my controller is not supposed to use 25 MHz while its Core-Voltage is on a minor level.
I do not really know how to meassure the frequency, to be honset. My PCB is kind of burried in a device, so its not just meassureing the pins or something. What I did I have a RTC established wich I kind of trust with counting seconds. I also have a LCD so I counted both the RTC and the 25 MHz doing a second count and giving it out on my Display. This actually works pretty nice, and I could also find my SMCLK running slightly faster!! than my RTC with some settings.
What I did forget to mention, MCLK and SMCLK are running on the attached XT2 High frequency 25 MHz oscilator. ACLK is running on the XT1 clock oscillator.
So here come the questions:
The SMCLK is supposed to run SLOWER while Vcore is not on the highest level (3 ), how can I determine that as the oscillator will alwys swing with 25 MHz, so how is the CPU suppose to slow this setting down internally???? is it switching to the DCO without telling me, I do not really get the way this should be odne.
Another strange thing is the PMMCOREVx settings, I debugged it and I realized that this value is actually saved in the MSP430, I do not know how this should work, since I power cycled the whole think and startet to debug again and again, anbd everytime I saw my last settings in this register, can that somehow be, or is the MSP430 fooling me, and some Cs didnt completly dischargeor something like that.
Has anyone of You some good idea of measuring the actual frequency of SMLCK MCLK, since I am doing some math with it, like integration time,etc. it is really important to me to get this right. As I mentioned I have a LCD attached which I currently use for showing the results to me, but i am not convinced yet. Think I should definetly meassure it with an oscilloscope somewhere, which is hard too, because of the load capacitors attached to the oscillator.
And finally, if noone know answers to this, would you suggest just putting Vcore to max and simply doing as I do right now, this would be my solution for now, since I have LPM current of 3 µA which is sufficient for me, and in active mode I simply do not care about the extra current consumption of the higher Vcore levels.
Glad you read this.
Best wishes.
Seb