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.

TMS320F280039C: Clarify missing external crystal behaviors by default

Part Number: TMS320F280039C
Other Parts Discussed in Thread: C2000WARE

Dear Champs,

I am asking this for our customer.

Environment:

TI F280039 control card + docking station

By default, S1 on F280039CC is used for disable/enable the external crystal and device.h uses external crystal.

If we disable S1 for (disable external crystal) on F280039 CC and then powering it on, then we find F280039 cannot run.

I remember we have INTOSC1 as a backup clocking.

If we just disable external crystal by S1, why cannot F280039 uses INTOSC1 as a backup to run even if the external crystal cannot be accessed?

That is, we thought if there was no external crystal, clocking should automatically jump to INTOSC1 and the code should still run as well as the situation with an active external crystal.

By default, MCDCR.MCLKOFF = 0, is it right?

Should we need to change anything on the code to enable INTOSC1 as a backup automatically if there is no external crystal during powering on?

Wayne

  • On a missing clock detect condition, device automatically switches to INTOSC1 and you will receive an NMI interrupt to take corrective action

  • Dear Manoj

    if you program TI example LED blink code on the flash and then switch S1 to disable the external crystal, it should still be powered on and blink the LED, right?

    but we found it could not run if we disable the external crystal by switch S1  

    How do we explain it?

  • Wayne,

    Is the code stuck in infinite loop? Can you please tell what happens?

    Regards,

    Manoj

  • Dear Manoj,

    The code is TI example code. Would you please help explain it?

    Steps to reproduce it:

    1. Use TI F280039 control card + docking

    2. Use TI example 

    C:\ti\c2000\C2000Ware_4_01_00_00\driverlib\f28003x\examples\led\led_ex1_blinky.c

    Program it onto flash. Disconnect JTAG and power on it and ensure it works well. LED blinks.

    Switch S1 of F280039 enables the external crystal by default.

    3. Disable the external crystal by switch S1 of F280039 control card and then power on again.

    Then, it does not work. LED does not blink.

    In my understanding, if there is no external crystal, it should jump to INTOSC1 automatically and the code should still run with LED blinking. This is why I need your help to clarify and explain to the user.

    Wayne Huang

  • Wayne,

    I don't have F280039 control card. Please give me couple of days. I will get the hardware, test it and get back with you.

    Regards,

    Manoj

  • Wayne,

    I see what you are saying.

    On a missing clock you will get an NMI interrupt, inside the ISR routine we need to reconfigure PLL and then continue running the application code.

    Regards,

    Manoj

  • Dear Manoj,

    I am still confused.

    1) It should be automatically switched from the external crystal (20MHz) to internal crystal (10MHz). Even they have different frequencies, it should still have a clock output if we don't reconfigure PLL. Is it right?

    2) Does that mean if the user does not handle the NMI on purpose, then it would fail like this?

    Wayne Huang

  • Wayne,

    1) It should be automatically switched from the external crystal (20MHz) to internal crystal (10MHz). Even they have different frequencies, it should still have a clock output if we don't reconfigure PLL. Is it right?

    On missing clock condition, PLL is forcefully bypassed and OSCCLK source is switched to INTOSC1 (10MHz).

    After missing clock, we do need to reconfigure PLL.

    2) Does that mean if the user does not handle the NMI on purpose, then it would fail like this?

    Yes, that is true.

    Please check below C2000Ware example:

    <C2000Ware>\driverlib\f28003x\examples\sysctl\

    sysctl_ex1_missing_clock_detection.c

    Regards,

    Manoj