• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. RF Design
  3. RE : calculating the output power of a Quartz oscillato...

Stats

  • Locked Locked
  • Replies 32
  • Subscribers 64
  • Views 16704
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

RE : calculating the output power of a Quartz oscillator

david j james
david j james over 2 years ago

Help !

I am designing a Crystal Oscillator ( which is a complex load) and trying to calculate Output power (to avoid over loading the crystal). I am using pss to simulate it and I get a tran waveform.

The power is complex so it is not easy to calculate. For example in a transient simulation phase information isn't readily available.

When I create calculations in calculator tool  get several different answers, and I am not sure which to trust

How should I calculate the output power?

What is the 'recommended' method?

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 2 years ago

    Why would you use PSS and then use the time-domain waveform? Wouldn't it make more sense to use the frequency-domain output - that's complex after all?

    Also, for a crystal oscillator, you might also want to consider using harmonic balance (unless the output is very square).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to Andrew Beckett

    The two simulations (pss and hb ) give different (slightly) results.

    Do the following setups make sense?

    PSS input.scs

    simulatorOptions options psfversion="1.4.0" reltol=1e-3 vabstol=1e-6 \

        iabstol=1e-12 temp=27 tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 \

        gmindc=1e-15 rforce=1 maxnotes=5 maxwarns=5 digits=5 cols=80 \

        pivrel=1e-3 sensfile="../psf/sens.output" checklimitdest=both  \

        sqldb_violating_ratio=yes

    pss  (  vout  gnda  )  pss  flexbalance=yes  fund=10M  harms=100

    +    errpreset=moderate  oscic=lin  oscmethod=onetier  tstabmethod=trap

    +    annotate=status

     

    Calculator function : ymax(leafValue( hb_spec_Pout "Design_Point" 1 )) gives 86uW

     

     

    Harmonic Balance : input.scs

    simulatorOptions options psfversion="1.4.0" reltol=1e-3 vabstol=1e-6 \

        iabstol=1e-12 temp=27 tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 \

        gmindc=1e-15 rforce=1 maxnotes=5 maxwarns=5 digits=5 cols=80 \

        pivrel=1e-3 sensfile="../psf/sens.output" checklimitdest=both  \

        sqldb_violating_ratio=yes

    hb  (  vinv_xto_inv  vinv_xti_inv  )  hb  saveinit=yes  autoharms=yes

    +   autotstab=yes  oversample=[1]  fundfreqs=[(10M)]  maxharms=[5]

    +   errpreset=moderate  oscic=lin  oscmethod=onetier  annotate=status

     

    Calculator function : ymax(pvi('pss "/vinv_xto_inv" 0 "/V_xosc/PLUS" 0)) gives 76.4uW

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to david j james

    You mentioned that the output is pretty square, so I rather doubt that 5 harmonics would be enough - although you have "autoharms" set to yes, so I don't know how many it actually chose (the log file would show that). Understanding this is hard without seeing it, so I suggest you contact customer support - that's what it's for (submit a support case after logging in). Then maybe you can share the example, we can look at log files, and see what accuracy controls are affecting the difference (your expressions are different between the two and you have them the wrong way around, and the hb expression doesn't seem to actually include the output power expression).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to Andrew Beckett

    My comment was misleading. The output of the osc, the clock to the digital, is quite square but I case about power into the crystal. But the Quartz waveform is quite sinusoidal. The calculator functions are from the Main Results Viewer.

    Results → Direct Form → Main form

    Select pss (of hb), select power, select Terminal ( an ideal zero volt source) on input to crystal.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to david j james

    Is measuring the Power into a Quartz crystal by simulating the power into a terminal (of an ideal voltage source) a valid method in pss or hb?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to david j james

    It doesn't really matter whether the node in question is sinusoidal if the rest of the circuit has higher harmonic content - the hb solution needs to have enough harmonics to accurately represent the solution everywhere (otherwise the missing energy tends to "leak" into the other harmonics). 

    I can't really answer the question about how to measure the power for a Crystal oscillator without trying this out - to be honest, I've never done this with this kind of circuit. Another reason to contact customer support - then somebody can spend the time on it.

    Shawn, however, does have experience in this area (I believe, from some of his earlier posts).

    However, I just noticed (looking back at your reply in this thread where you included the analysis statements): https://community.cadence.com/cadence_technology_forums/f/rf-design/57185/re-calculating-the-output-power-of-a-quartz-oscillator/1389616#1389616 that you're actually running harmonic balance in both cases. One is via PSS but with 100 harmonics chosen, and the other is with hb with auto harmonics chosen. I'd assumed that you were using shooting PSS and comparing against harmonic balance. There's no fundamental difference between hb-in-pss and hb (it's the same engine). I suggest you pick 100 harmonics in the hb analysis and you should get the same answer from both approaches.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to Andrew Beckett

    Dear david j james,

    Since Andrew has already commented on your simulator settings, I will default to his expertise.

    david j james said:
    Calculator function : ymax(leafValue( hb_spec_Pout "Design_Point" 1 )) gives 86uW

    I noticed in your Calculator functions you are measuring the maximum power - this is not the value that a data sheet for a quartz crystal unit will specify. The maximum power dissipation is usually specified as an rms value. This is also why the Excel workbook uses the rms value of the voltage across the quartz crystal unit.

    david j james said:
    Is measuring the Power into a Quartz crystal by simulating the power into a terminal (of an ideal voltage source) a valid method in pss or hb?

    I am not sure I understand enough about the topology of your measurement. How is the ideal voltage source configured relative to your quartz crystal unit and what is the opposite terminal of your quartz cyrstal unit connected to? Is your oscillator a Pierce or Colpitts topology?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to Andrew Beckett

    Thanks. I was not aware that hb-in-pss and hb are the same thing using the same engine.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to ShawnLogan

    The tool generates a spectrum with a single tone at 10MHz. I use the ymax function simply to get the magnitude of this tone. The rms calculator function doesn't work on this waveform.

    The crystal Datasheets we have looked at, all quote 'Drive Level ( maximum)'. No mention of rms.

    The oscillator is a Pierce type : like below but Ro is not used.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • david j james
    david j james over 2 years ago in reply to ShawnLogan

    The tool generates a spectrum with a single tone at 10MHz. I use the ymax function simply to get the magnitude of this tone. The rms calculator function doesn't work on this waveform.

    The crystal Datasheets we have looked at, all quote 'Drive Level ( maximum)'. No mention of rms.

    The oscillator is a Pierce type : like below but Ro is not used.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to david j james

    Dear david j james,

    david j james said:
    The tool generates a spectrum with a single tone at 10MHz. I use the ymax function simply to get the magnitude of this tone.

    I would suggest you run a simple testcase where you apply a sinusoidal volatge across a resistor to determine if the peak value of the power represents an rms or peak power. If the spectruma relies on the Cadence dft(), it does not natively produce the rms value as its maximum. I have documented this and reported it.

    david j james said:
    The crystal Datasheets we have looked at, all quote 'Drive Level ( maximum)'. No mention of rms.

    The maximum power dissipation is measured using the rms current. Please see, for example, the following two vendors suggestions for measuring power - both specify using the rms current. From a physics perspective, the peak power is not the important parameter but rather the rrns "heating" power. The latter impacts quartz resonator drive level effects and reliability (aging drift for example).

    q-tech.com/wp-content/uploads/QTAN108-Crystal-Current-Measurement.pdf

    www.renesas.com/us/en/document/apn/830-quartz-crystal-drive-level

    david j james said:
    The oscillator is a Pierce type : like below but Ro is not used.

    I am sorry, but unless I am overlooking your Pierce schematic design, it does not show me how you voltage source is set up to measure power.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to ShawnLogan

    Firstly, sorry for the slow response cased by meetings at work. Thanks for your valuable support.

    1. The testcase with a sinusoidal voltage (1V peak) across a 100 Ohm resistor gives hb = 5mW. Pout = V^2/R = 1^2/100 = 10mW. I have to think about where the x2 comes from, but I agree with you hb is giving MAXIMUM, not rms values.

    2. the Quartz suppliers we looked at ( eg NDK), quote maximum drive. This has been confirmed with their rep.

    3. the schematic I am using is this : bondwires, external caps with esr. the port and cds block are for stability sims. the 0V vdc used to measure power is called 'V_xosc'. The driver ( not shown ) is a simple Inverter.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to david j james

    Dear david j james,

    david j james said:
    1. The testcase with a sinusoidal voltage (1V peak) across a 100 Ohm resistor gives hb = 5mW. Pout = V^2/R = 1^2/100 = 10mW. I have to think about where the x2 comes from, but I agree with you hb is giving MAXIMUM, not rms values.

    Please check your calculation, as I think the power of a 1 V amplitude sinusoid (2 Vpp) across a 100 ohm resistor is:

    david j james said:
    2. the Quartz suppliers we looked at ( eg NDK), quote maximum drive. This has been confirmed with their rep.

    I'm not going to disagree, but the issue at hand is that the maximum drive refers to the rms power and not the peak power. From NDK's site:

    reference:

    Thank you for the schematic! I now understand that you are measuring the current through only the quartz crystal unit.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david j james
    david j james over 2 years ago in reply to ShawnLogan

    Ok, thanks for the good support. This seems to clear up my issues.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to david j james

    Dear david j james,

    Great! I am very happy to read you feel more comfortable with your results and thank you for letting us know. You put a lot of effort into your understanding and must be commended for that! Good luck!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information