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.

TMS320F280045: How is dccCounterSeed0 calculated in IsPLLValid?

Part Number: TMS320F280045
Other Parts Discussed in Thread: C2000WARE

Checking the technical reference (SPRUI33C) section 6.3.1 it seems Counter0 should be calculated as Windows - Total Error and Total Error should be calculated as Async Error + Digitization error:

In our application Fclk1 > Fclk0, so Async. Error should be 2, and Digitization error should be 3.

The code is C2000ware 3.01 doesn't seem to consider the Digitization error:

The code in C2000ware 4.01 seems to have increased the tolerance to 12% but it doesn't make it clear what the reason was. 

Can you help us clarify how to calculate the value of counter0 for our application?

  • Hi Jose,

    Thank you for reaching out on the E2E forums. Our DCC expert is out of office for the remainder of the month. Please expect a delay in response, he should be able to get back to you by August 2nd

    Regards,

    Peter

  • Hi Peter,

    That is a typo in the comment. 12 is the calculated error.

    In the latest version of the TRM, the error calculation formula has been updated. And hence the function was updated to use the correct error value.

    Regards,

    Veena

  • Hello Veena,

    I see in rev D of the TRM that the formula for Total Error (now DCC Error) remains the same: = Async. Error + Digitization Error.  For our application should we then use  2 + 3?

    Thanks,

    Jose Lopez

  • Hi,

    The error was calculated as Async. Error + Digitization Error + Frequency Error =  2+ 8+ 2

     Let me check with the spec owner on the Digitization Error : 3 or 8? For other devices with DCC, TRM specifies error as 8

    Regards,

    Veena

  • Apologies for the delay. I confirmed with the spec owner and the F28004X TRM will be updated accordingly. You may use the steps mentioned F28002x/003x device TRM.

    Regards,

    Veena

  • Thanks for the clarification. I have some extra questions that I would like to clarify before closing this topic

    1. In the TMS320F28004x technical reference manual version D, the following information is included:

    As you can see, the Digitization error is set to 3 and in our case Fclk1 is greater than Fclk0 so the Async. Error is 2.  That gives us a total of 5 for the DCC Error. Should we use these values? Or should we use 8 as you suggested in the previous post for Digitization?

    2. In a previous comment, it was suggested to use 2 for the Frequency Error Allowed. Do you have a suggested value for the Allowable Frequency Tolerance?

  • Hello Jose,

    As Veena indicated, the information in the F28004x TRM needs to be updated and will be fixed in the next release. For now please use the F28002x TRM as an authority for DCC. The digitization error is 8 Clock0 cycles; this is a fixed value.

    For your async error, since Fclk1 > Fclk0, async error is 2 + 2 * (Fsysclk/Fclk0).

    Allowable frequency tolerance is the maximum expected error/variation from target frequency for the clock being measured. This value depends on the clock source being measured and your system requirements -- you need to supply this number. This is different from the DCC tolerance, which is essentially the measurement precision (how accurate you want the frequency measurement to be).

    I have attached below a simple handy worksheet to help you calculate your DCC counter values.

    DCC Calculator Worksheet