In the IoT induced craze I'm doing some messy kind of interface bridge board. As in: USB, Bluetooth and various other serial things on a 60×60mm space.
At this moment I would have:
- 25MHz for the MCU
- Some frequency for the external UARTs (maybe the same 25MHz since they have prescalers before the BRG)
- A Bluetooth module (luckily no external clocks for this!)
- The internal 12MHz free generator + PLL for an FT232R (USB serial port)
- A 12MHz crystal + PLL for an FT311D
All of these clock on the same board really worry me from an EMC standpoint. The only fact that the FT232R is free running at 1600ppm tolerance while the FT311D has a crystal on the same nominal frequency only promises beat frequencies in my experience (in the kHz range probably).
I was thinking to 'degrade' the MCU and UARTs to 24MHz, divide to 12MHz and external clock the USB circuitry. Since the board is small, the clocks are slow (for modern standards, anyway) and jitter is not really an issue (since almost of the parts will PLL the clock anyway) the idea was to:
- Pick a cheap 24MHz HC oscillator
- Divide and buffer with standard LVC (or better) logic
- Appropriately distribute and couple the resulting clock lines to the relevant parts (for example the FT232R needs AC coupling for some reason while the FT311D needs a 1.8V clock)
The other way would be to use dedicated (and expensive) clock circuitry (like a PLL synth) still with the coupling issues to be taken care off.
Do you have experience with these situations? At the moment the choice is:
- Everything with its own crystal/oscillator/whatever and hope for the best;
- A cheap oscillator, discrete standard logic for division and distribution;
- Dedicated clock generation circuitry.
EDIT: aftermath having consulted the manufacturer (FTDI): the FT232R can use an external clock but it's not really recommended and nobody does that (!?!); the FT311D simply can't use an external clock and requires its own crystal. FUN