Synchronising two PSoC boards

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ge18c_1608226
Level 1
Level 1

Hello,
I am currently working on a project in which there is a need to synchronize the clocks between the two physically separated PSoC 5LP boards. Desired frequency (that needs to be the same on both boards) is in range from 100kHz to about 150kHz, and the error should be as low as possible. Since the IMO tolerance is at best +-1%, on a clock of (for example) 120kHz it produces an uncertainty of +-1200Hz, which is a total of 2400Hz. Such error is not satisfying enough.

   

I am thinking of using an external 32kHz oscillator to trim the IMOs of both boards. Using 100ppm crystals, it should produce an error of about +-0.05%, which is considerably better. If I understand trimming correctly, there is not a great benefit of using a more precise crystal, since internal trim register limits the achievable accuracy to +-0.03%. Is it possible to get better results than that using another method?

   

How does the IMO trim API work - is it possible to "calibrate" the IMO using the 32kHz ECO at startup, or does the trimming need to continue during the time of operation?

0 Likes
7 Replies
lock attach
Attachments are accessible only for community members.
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Best would be to use a 24MHz external X-tal, you may setup the clocks as shown in attached example.

   

 

   

Bob

0 Likes

Thanks for the reply!

   

Using a precise crystal and carefully adjusting the capacitance should produce a really tight tolerance (about half a Hertz).

   

On another note, how precise is the DDS24 component in this frequency range (100kHz-150kHz), what is the resolution? I am considering doing a continuous frequency sweep of about half a Hertz (approx. the uncertainty around the nominal value of the frequency), so the frequency error wouldn't propagate through time.

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

I recommend to try DDS32 component for higher resolution. It has no that many features as DDS24, but gives higher resolution: F_clock/2^32. For example, starting from the clock 16.777216 MHz final resolution will be 1/256 Hz.

   

http://www.cypress.com/comment/405656#comment-405656

0 Likes

Thank you for your reply!

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Why don't you use an external oscillator and run both PSoC with an external clock. That way they are 100% in sync. (Maybe there is a phase shift because they don't start up from reset at the same time, but the clocks are 100% the same).

   

Or you route the clock of one PSoC to a pin and use it for the other one.

0 Likes

That would indeed be the best solution, if the two boards were not physically separated...  no physical connection between them can be made. That's why there is a need for such similar clock generation on both boards.

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Sync them to GPS (most receivers can generate a 10MHz signal). It won't get more accurate (except when you feed them both from a rubidium reference)

   

(I'm wondering what the requirements are that you need these two boards symced up, but the don't never ever connect to each other)

0 Likes