Could I use a single oscillator to clock multiple devices? - Page 1
Forum section: electronics / general

author: attie
author_rank: Contributor
timestamp: January 05, 2013, 10:16:41 pm
content: Hi all, I'm new around here :-)I'm working on a brushless DC motor controller, primarily as a learning exercise, but also because I want to...When/If it works suitably well, I will build 4 of them and move onto designing a flight control board in order to build a quad copter.I've managed to make excuses to include a CPLD in my current design (XA9572XL) to tune up my VHDL skills, along side an ATMega328p (I am very familiar with AVRs already).Initially I designed in a 20Mhz ceramic oscillator (FXO-HC736R-20 -http://www.foxonline.com/pdfs/FXO_HC73.pdf), this would clock the CPLD which will use the signal and buffer it, the buffered signal will then be passed onto the AVR.The CPLD is pretty full of control and commutation logic at the moment, and simply removing the buffered clock output allows the 'Fit' step to succeed (is that the correct terminology?).This causes me to raise this question - I know that I could probably optimise my VHDL somewhat, but I want to ask the question anyway.Q:Would it be possible to drive both the CPLD and AVR from the oscillator? Or is that a stupid and outlandish proposition?I understand that using a plain crystal like this would not work, but as the FOX oscillator consists of crystal, oscillator and a seemingly weedy buffer, I would imagine that it should be fine!Thanks!Attie

author: gxti
author_rank: Frequent Contributor
timestamp: January 06, 2013, 01:36:55 am
content: Yes, it will work fine. For what it's worth, "ceramic oscillator" means something different - a 2 or 3 terminal passive device sort of like a cheaper and less precise crystal. But a canned oscillator like the one you linked to can drive multiple inputs easily.

author: AlfBaz
author_rank: Super Contributor
timestamp: January 06, 2013, 02:20:02 am
content: I for one, would like to hear more discussion on the matter.3ns rise and fall times and 15pF load capacitance from the oscilator... I can't help but feel there will be issues such as signal reflections, drive strength woes and layout concerns

author: nctnico
author_rank: Super Contributor
timestamp: January 06, 2013, 02:36:49 am
content: Its tricky. You'll need to read the datasheets carefully and maybe do some test and measurements to see if it would work. An oscillator circuit usually consists of an inverter so there is an input and output. The output signal level is not high so it may not be able to drive another oscillator input. The best way is to use a seperate oscillator module and drive the clocks from there. Its good practice to put a 33 Ohm (or more) series resistor in each clock trace to reduce reflections and HF emissions.

author: attie
author_rank: Contributor
timestamp: January 06, 2013, 03:00:26 pm
content: Thanks for the replies!@gxti: I was under the impression that acrystalandceramic resonatorwere (almost) interchangeable parts that 'wobbled' at a given frequency and tolerance. To then make something useful out of it, you hook that up to a circuit (amplifier, feedback etc) to create anoscillator('wobbler' + circuit) that provides the clock signal. I never was much good at terminology... apologies.@AlfBaz: Me too! That's why I asked... admittedly there was no mention of this in my question, but it was hopefully implied.@nctnico: Would you put the resistor close to the 'consumer' or just after the trace branches?Ithinkit should work, but just wanted to check with others who may have experienced this in the past.The clock inputs between the ICs are close, keeping the trace lengths to a reasonable minimum.

author: CarlG
author_rank: Regular Contributor
timestamp: January 06, 2013, 04:24:24 pm
content: The FOX device is a "crystaloscillator" (XO), i.e. this oscillator contains a crystal for setting the frequency.EDIT:I was a bit too quick when reading the datasheet, which is a bit confusing. On the first page they state it's acrystaloscillator, but the ordering information obviously indicates that the HC-version is based on a ceramic (resonator?)!You can make an oscillator circuit based on either a crystal OR a ceramic resonator, or even without any of them, e.g. an "RC-oscillator" (as well as some other techniques e.g. MEMS).Note the "Output load" parameter, max 30pF for frequencies up to 125 MHz. With two inputs + trace capacitance you may exceed that limit. Most MCUs have XIN and XOUT pins, where you can connect an external XO to XIN and use the XOUT as a buffered output. I would feed XOUT to the CPLD instead of splitting the XO output to two pins. Otherwise I would buffer the oscillator with a single gate such as LVC04 or similar before distributing to the MCU and CPLD.The damping resistor(s) shall be placed close to the output driver, one for each trace.//C

author: AlfBaz
author_rank: Super Contributor
timestamp: January 06, 2013, 04:43:49 pm
content: Quote from: CarlG on January 06, 2013, 04:24:24 pmThey offer 3 versions the model number he shows is the 15pF versionI couldn't find the load cap spec for the atmega but for a pic32 its 50pFQuoteI'm thinking that would be the case as well. If you have 2 devices with a capacitive load of xpF would the total become 2xpF?QuoteGood idea!

author: attie
author_rank: Contributor
timestamp: January 06, 2013, 05:14:55 pm
content: Thanks CarlG - I had considered using the buffered output from the AVR, but it would require a little rework to route, which lead me to thinking about buffering it in the CPLD, and then asking the question about driving both.The CPLD (XA9572XL) states 10pF input capacitance (I assume the clock inputs have similar stats to the I/O as I can't find anything explicit in the datasheet), and I can't seem to find any numbers for the AVR...10pF out of the available 15pF loading seems pretty close to me, so driving a second clock input probably isn't a great idea... I'll try to avoid it.Thanks all!

author: Neilm
author_rank: Super Contributor
timestamp: January 06, 2013, 05:25:20 pm
content: One question, are these two devices communicating with each other? If so you might find there are problems if signals change at the clock edge. Generally, there is a spec on devices to say how long the signal has to be stable for before the clock edge.Neil

author: CarlG
author_rank: Regular Contributor
timestamp: January 06, 2013, 07:03:17 pm
content: Quote from: AlfBaz on January 06, 2013, 04:43:49 pmHmm,..sorry, I can't see that, but if you say so...as far I can see the "Model description" is not coupled to Output load. I only see that Output load = "Standard" is specified to 30 pF and "Operational to 125 MHz" is specified to 15pF. My interpretation of that is that it's OK with 30 pF for a 20 MHz part. Or is there some additional information available apart from the referenced datasheet?Best, C

author: CarlG
author_rank: Regular Contributor
timestamp: January 06, 2013, 07:24:58 pm
content: Attie, since it only seems to be a single item, and you seem to have the board ready already, it might be better to rework your board as little as possible. For this one I would consider doing as you proposed, splitting the oscillator output to both the MCU and the CPLD. I guess you have pretty good control over temperature and supply voltage, and hopefully you have a scope so that you can check the waveform, so the risk is pretty small it will fail. It's no medical equipment after all (I hope).A small cap (2-3 pF) between the probe tip and the osc output make it possible to observe thewaveformwith minimal effect (from the cap load of the probe), but not the high/low voltage levels.//C

author: jahonen
author_rank: Super Contributor
timestamp: January 06, 2013, 08:58:18 pm
content: If in any doubt, use a clock fanout buffer, like CDCV304.Regards,Janne

author: AlfBaz
author_rank: Super Contributor
timestamp: January 06, 2013, 11:36:25 pm
content: Quote from: CarlG on January 06, 2013, 07:03:17 pmArgh, I'm an idiot... SorryThat was for a data sheet on an oscillator I'm using

author: attie
author_rank: Contributor
timestamp: January 07, 2013, 04:41:50 pm
content: Thanks for all your input guys!I've ended up re-routing the board to clock the CPLD from the AVR's buffered output.These devices won't be communicating as such - no clocked I/O, just control lines flying up and down.@CarlG and AlfBaz, I found the wording and table in the datasheet a little murky...http://www.foxonline.com/pdfs/FXO_HC73.pdf- bottom of page 2ParametersConditionMaximum Value(unless otherwise noted)Output LoadStandardOperational To 125MHz15 pF30 pFI plan to use a < 125MHz oscillator, so is that 30pF?... or 15pF?Take 15pF to be safe I think - oh well...Thanks again!

author: CarlG
author_rank: Regular Contributor
timestamp: January 07, 2013, 09:42:54 pm
content: @AlfBazNo you're not! Just a silly mistake like those I do now and thenNema problema@attieGlad I could help

author: Kartika
author_rank: Regular Contributor
timestamp: January 13, 2022, 05:56:26 pm
content: HII have question how to use TCXO with two ICs see attached photopossible way "fanout buffer" I read, but i do not have idea how...

author: CarlG
author_rank: Regular Contributor
timestamp: January 13, 2022, 06:34:03 pm
content: It's not what I would recommend but it could work for a hobby project. However, since you have two inputs as load in parallel with C2 you should reduce C2 with the same amount as the C of the trace and input C of U2. That is, if the trace to U2 can be kept "short". But likely it will be "long" i e probably pick up noise that could disturb the oscillator function. So I'd suggest adding a buffer in between. You'd still need to compensate for the added load though.You say "TCXO" but that's not what the attachment shows, that's a XO (crystal oscillator) circuit. A TCXO is an integrated device with it's own suppply and one output for a single-ended signal (and of course two for a differential output).

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 13, 2022, 07:14:55 pm
content: Yes, it's not a TCXO whatsoever.And I would avoid doing the above unless you were ultra constrained with cost. You'd need to check that the oscillator would even start in this configuration, given the extra load from the clock input of the second MCU. And its input capacitance will also be in parallel with the parallel capacitor of the resonant circuit, which will also tend to slightly shift the frequency, making it less accurate.If you want to do something simple and with as few parts as possible, just use an external oscillator. Not the cheapest option of course, but the easiest one, with fewer parts, and no nasty potential issue to deal with.If the loading from the second clock input causes issues, you could indeed consider adding a buffer, but make sure said buffer will load the signal less than your second clock input, otherwise it's absolutely useless.This kind of trick would really be only for ultra-low cost designs IMO. Otherwise, just use a proper external oscillator and call it a day. Example: SXO53C3A071-16.000M, on Digikey, $0.75 per 1... (your 16MHz crystal is probably more expensive than that, or at least pretty close.)

author: MarkF
author_rank: Super Contributor
timestamp: January 13, 2022, 09:50:11 pm
content: I've been using theseStandard Clock Oscillator modules. Used a 48MHz one in my DIY function generator to drive a pic18f2550 MCU and an AD9834 DDS chip. No buffering and haven't had any issues.I tend to avoid the crystal/dual capacitor configuration. Even if I'm only driving one MCU.

author: nctnico
author_rank: Super Contributor
timestamp: January 13, 2022, 10:04:58 pm
content: Quote from: SiliconWizard on January 13, 2022, 07:14:55 pmIt is not that dramatic. A crystal oscillator like from the picture has an input and output (check the datasheet which is which). The output has a relatively low output impedance so it can drive some load. Using this to drive other oscillator inputs is commonly done.

author: Kartika
author_rank: Regular Contributor
timestamp: January 13, 2022, 10:56:48 pm
content: Hi I apologies for bad explanation, question is I have desire to replace this with TCXO it is possible.. ?

author: PCB.Wiz
author_rank: Super Contributor
timestamp: January 14, 2022, 01:50:21 am
content: Quote from: Kartika on January 13, 2022, 10:56:48 pmYes, that should be possible. Of course, the MHz needs to be inside the MCU specs.You need to check if your TCXO is CMOS out, or clipped sine (0.8V p-p).If it is clipped sine you will need to AC couple to the XIN pin, via 100pF~1nFIf it is CMOS, you can direct connect to XIN, - it does not matter if you drive both XIN's, or if you cascade XOUT to XIN of slave device, provided the swings are compatible.(some MCUs have lower swing xtal oscillators, for lower RFI and lower ICC )

author: MarkF
author_rank: Super Contributor
timestamp: January 14, 2022, 02:18:33 am
content: Quote from: Kartika on January 13, 2022, 10:56:48 pmThat is exactly what I did with the Oscillator module mentioned above. They have TTL outputs and can drive 5 loads.I would NOT use the crystal. These oscillator modules have buffered outputs.Sorry, I quoted a 5V part before. Here is the 3.3V version.ACHL-20.000MHZ-EK Standard Clock Oscillator for 3.3V

author: Kartika
author_rank: Regular Contributor
timestamp: January 14, 2022, 06:07:25 pm
content: Thank you, but I stil heave question from this record...https://www.edaboard.com/threads/single-tcxo-for-multiple-ics.380345/

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 14, 2022, 07:19:46 pm
content: Oscillators, including TCXOs, have a specified max output load (capacitance). Read datasheets, and check that the added input capacitance of both clock inputs doesn't exceed the maximum rated for the oscillator you select.Taking a random 16 MHz TCXO, as an example, I can see a max output load of 15 pF.Now reading the AT86RF215 datasheet, the input capacitance of the TCXO input pin is 5 pF. So, a typical TCXO should be able to drive 2 of those inputs without buffering. BUT: be aware that connections from the TCXO to the input pins will have some added capacitance. You'll need very short connections to both to guarantee a total capacitance <= 15 pF.So, check datasheets, but it's likely you'd need to add some buffer to be safe. Something like the 74LVC1G17 should do fine.