One can do many things with a small micro having programmable logic cells, such as the Cypress PSOC. For grins I worked out (via spreadsheet) how to use the PSOC digital divider blocks and the built-in clock PLL to get from 10MHz to 2.048MHz in a fairly precise manner. The scheme uses a divider switched between adjacent moduli (ala the TVB method?) to produce a low frequency that, upon multiplication by the clock PLL, gives an integer multiple of 2.048MHz. Not having actually done it there are 2 questions: 1) Can the 24MHz VCO be pulled to 24.576MHz? and 2) Can the PLL track periodic jitter of about 0.7%. Since there are trimming bits for the VCO I suspect yes to #1, and some sort of passive low pass filter (PI or ladder network?) would reduce the jitter if #2 is a problem.
Here's the approach: Feed 10.000000 MHz to an 8 bit digital divider block divide by 149 for 237 of 256 times divide by 148 for 19 of 256 times net divide of 148.92578125 to 1 results divide result by 2 in an 8 bit digital divider block (in order to get a good square wave) net divide of 297.85156250 to 1 results at output pin get 33573.77049 Hz, feed over to Ext Osc Input pin PLL of 732x is part of PSOC thus sysclk 24.576000 MHz results and sysclkx2 49.152000 MHz results divide sysclkx2 by 12 in an 8 bit digital divider block divide result by 2 in an 8 bit digital divider block (in order to get a good square wave) Final frequency of 2.0480000 MHz results to output pin FWIW the result is spot on, at least to the limits of my calculation tools. Bob L. ________________________________ From: Azelio Boriani <[email protected]> To: Tom Van Baak <[email protected]>; Discussion of precise time and frequency measurement <[email protected]> Sent: Thu, February 2, 2012 12:22:44 PM Subject: Re: [time-nuts] ANFSCD - Synchronizing time in home video recorders Yes, shortly after having sent out the message I realized that I was, as usual, too fast. I'm aware that a simple microprocessor can't be used but a Spartan3 can be involved. Then another problem: the 2.048MHz is about 1/5 of the 10MHz so it is not possible. Sofar the way out is: dividing the 10MHz by 625 and then multiplying by 128 using the DCM in the Spartan3... but nothing clever in this method. Sorry, not a valid contribution. _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
