This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28069 with Crystal Oscillator

Other Parts Discussed in Thread: CONTROLSUITE, TMS320F28069

Hello C2000 team,

My customer is asking how to set up the F28069 to use an external crystal since the code example doesn’t appear to work. Based on the ControlSuite device support code v151, I’ve replicated the problem on the F28069 ISO ControlCard, which has a 20 MHz crystal.

To enable the crystal, I’ve tried calling :

   XtalOscSel();

Instead of

   IntOsc1Sel();

And I’ve set the PLL to use DSP28_PLLCR = 9, since the crystal is 20 MHz.

InitPll(9,2);

 

One of these threads below suggests removing EALLOW from the XtalOscSel function. Removing EALLOW means that the CLKCTL register never changes and stays using the INTOSC1. So it’s not a good fix.

Other threads suggest removing DELAY_US(1000). This makes no difference, at least in my case.

Relevant threads:

https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/413203/1467060#1467060

https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/533861/1943531#1943531

I’m testing with the LEDBlink example on TMS320F28069 with CCS v6.1.3 and ControlSuite v3.3.9. I must be missing a simple setting here. Any advice?

Thanks,

Darren

  • When you say that the example "doesn't appear to work", what do you mean? Does the code run to completion? What's the state of the clock control registers?

  • Hi Adam,

    Good point! From a high level, the led is not blinking as expected and was observed when running from IntOsc1. While debugging, the debugger is unable to step through. The program counter ends up at 3ff4fa or at the PWM ISR (depending on which variation I try).

    After setting the CLKCTL register to 0x2400, and trying to step over a function call, the problems described above happen.

    Darren
  • Darren,

    Can you try switching to the crystal without locking the PLL? If that fails, please check the MCLKSTS bit in the PLLSTS register.
  • Adam,

    Removing InitPll() (where the PLL is locked) makes no difference, since the failure usually happens before I reach that point. I did try removing it, to be sure.

    MCLKSTS is always 0.

    If I do a power cycle, the failure happens a few instructions after I enable the crystal. After that, if I reset or restart, the failure is in the first few instructions, whatever they are.

    Darren
  • Darren,

    Replacing the call to IntOsc1Sel() with a call to XtalOscSel() is the correct thing to do here.

    I was able to reproduce the problem on a development board when the crystal was removed from the socket. The key symptom to look for is whether CLKCTL[OSCCLKSRCSEL] (bit 0) stays low even after being written with a 1. If so, this means the missing clock detection circuit has triggered and switched back to INTOSC1.

    I don't see any reason why a controlCARD would have trouble with this. Have you tried using a different controlCARD? I'm also going to ask our controlCARD guy to take a look at this thread.
  • Adam,

    I'll take a look at that bit.

    So you're saying that you don't have the problem on your controlCARD unless you remove the crystal? If that's the case, it sounds like it's an issue with the crystal simply oscillating on my side, but not conclusive yet. One important piece of information is that the CC I am using has no capacitors installed next to the crystal (C30, C31). I noticed on an older board that C30 and C31 were installed.

    Thanks,
    Darren
  • Hi Darren,

    Interesting comment on not having C30 & C31 installed.  Is R3 populated?

    What revision of the F28069ISO cCARD are you using?  When did you get it?


    Thank you,
    Brett

  • Brett, R3 is populated. It's "Release 0.2". I've had it for a long time. Not sure of the exact date, but at least 2 years ago.

    What is the recommended configuration?

    Darren
  • Hi Darren,

    It seems in R0.3, we did not populate the components around the crystal such that the xtal can be used.  The schematics/BOM in controlSUITE confirm this.

    To allow the crystal to be used, the following needs to occur:
    R3 -> DNP
    C30, C31 -> 15pF C0G 0603

    The crystal and its surrounding circuitry look to be populated for direct usage in R0.4.


    Thank you,
    Brett

  • Thanks Brett and Adam.

    Looking at the schematic, it's pretty clear that R3 would stop the crystal from oscillating. The problem I described should not be a problem for most people with our development kits, since they would have hardware Release 0.3 or later. Appreciate the help.

    Darren