This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can't reach 96MHz frequency with MCBSTR9

Hello,

I've been working with a board MCBSTR9 and I thought I had correctly configured the PLL so that I was working at the maximum frequency.

However, revising the configuration in the startup file provided by Keil, I've seen that the following values were set in the PLL configuration:

P = 3; N = 192; M = 25

, which, according to all the manuals I've seen, produces an fPLL frequency of 48MHz (the oscillator's frequency is 25MHz).

So, I changed the value of P to 2, to theorically get a frequency of 96MHz. However, the board don't even start running.

I changed the parameters to several values which should produce a 96MHz output in the PLL, but nothing worked. Restoring a frequency of 48MHz works fine.

I can't see where's my mistake. What am I doing wrong?

Parents
  • Ruben,

    there is figure named Clock Control in the manual STR91XF that clearly presents clock distribution.
    Also Data Sheet STR91XF has other figure named Clock Control.
    According that TIM0CLK - TIM3CLK clocked directly from master clock through 16 bit prescaler. And FMI clock setting should not affect timers.

Reply
  • Ruben,

    there is figure named Clock Control in the manual STR91XF that clearly presents clock distribution.
    Also Data Sheet STR91XF has other figure named Clock Control.
    According that TIM0CLK - TIM3CLK clocked directly from master clock through 16 bit prescaler. And FMI clock setting should not affect timers.

Children
  • That's the thing. It *shouldn't* affect, but it clearly does, because the "clock timer" I've made as a test actually slows down when I set up the FMI Divider. I've already gone through all the stuff about this topic in the Reference Manual, but what I'm seeing contradicts what the manual says.

    To summarize:

    - I couldn't set the PLL frequency to 96MHz, because the board froze when I loaded the program to the ROM.

    - Then I saw that programming the ROM at 96MHz doesn't work properly, so I slowed down the ROM clock by setting up the FMI Divider.

    - This shouldn't affect the timers' speed, but the fact is -it does. So that makes me think that setting up the FMI divider efectivelly reduces in half the overall speed. I say this because the timer works well (counts seconds correctly), when I set the parameters for a 96MHz clock frequency, BUT THE PLL IS SET FOR 48MHz (at least, according to the manual).

    - The same thing happens if I set the PLL for 96MHz and, at the same time, set the FMI divider.

    - If I set the PLL for 48MHz and the FMI divider, the timer runs at half the speed it should.

    I mean, it does makes sense (if the ROM goes slower, it "feeds" the microprocessor with instructions at a lower rate). What I don't understand is why such a thing is not mentioned in the manual. Or, if I'm wrong and it doesn't make sense at all, I can't see what's happening.

    I'm sure that it's probably my fault and that I'm making a stupid mistake. I hope I'm not bothering you guys so much. You're always very helpful.

    Cheers,
    Rubén