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.

Clock synchronization

Other Parts Discussed in Thread: TMS320F28027

Hi Folks

I have an application with 3 TMS320F28027 (Slaves) and 1 ARM Cortex M3 (Master) Processor. For measurement reasons, it is critical, that the 3 Slaves run on a synchronized clock. The Piccolos are using their internal oscillators - no external crystal available. I would like to modulate the sync signal for the slaves onto an existing signal, since I have galvanic isolation between master and slaves. I made some tests catching the sync pulse with a trip zone input triggering an interrupt , which worked fine. The problem I face now is how to trim the internal oscillator. Does anybody know an easy an fast algorithm to find the correct settings for the INTOSCnTRIM register?

BR Andreas

  • Andreas,

    I believe the goal here is to have all the oscillators running at the same frequency, correct?  First, all the internal oscillators are factory trimmed in the same manner.  So, while the specification lists 10MHz +/-3% for the accuracy, the distributions chip to chip will be much tighter than this.  The +/-3% error is coming from the temperature movement of the oscillators, so the only error you are dealing with is one 28027's oscillator not moving as much as another 28027 over temperature.  I would think this would not be more than 0.5% off, but we do not guarantee this aspect.

    Another option, if you have TMS silicon, is that TI has added a function to re-trim the oscillators for the temp movement to be within +/-1% if 10MHz.  Not sure if this is a small enough range to get you where you want to be.

    You can re-trim the osc yourself, the DS gives the trim step size for the coarse and fine trim fields.  To do so would require a reference clock(since you do not know the exact frequency) on XCLKIN(or X1), which from your post is not an option.  Perhaps you could use the eCAP on one 28027 to measure another's XCLKOUT and trim one of them until you get a match.  This could be done on the 3rd one to align them; again this would require signals from one to another that I'm not sure you have available.

     

    Best,

    Matthew

  • Hi Matthew

    You're guessing right, the three slaves don't see each other. They only communicate with the master. But I think your proposal - using an eCAP input could be a solution for me. And thank you for the hint where the step size for the trim fields are defined - didn't find a hint in the "Piccolo System Control and Interrupts Reference Guide".

    BR,

    Andreas

  • Hello-

    Can you be more specific as to how you were able to capture the internal oscillator signal? I want to capture the 10MHz signal to a GPIO pin.

    Thanks!

  • Hi Sophi,

    You can use the XCLKOUT Pin and wire it to the eCAP Pin of your processor. In my humble opinion this does not make very much sense, you need an external reference if you want to synch the processors clock... Furthermore I am not sure if the capture input has a sufficient time resolution to capture the 10MHz --> check first

    Best

    Andreas