Crystal frequency/temperature curve

I have a Hitachi H8S2357 with a 18.432 mHz 86SMX crystal. I am trying to make some temperature compensation of the frequency and wonder what the frequency versus temperature curve looks like for this crystal type. When searching the net there seems to be different cuts and stuff - what kind of cut does my crystal have? Is there some in depth data sheets somewhere?

Ronny

Reply to
Ronny Svensson
Loading thread data ...

How should we know? Why not ask the manufacturer?

Michael

Reply to
Michael Hofmann

Now I have found the data sheet:

formatting link

Reading on the net about AT-cut and cubic I assume the temperature drift to be something like: ppm=a*(t-t0)^3+b*(t-t0)+c

Event though this doesn't exactly match the data sheet it matches all curves I have seen on the net so far.

Does anyone has a rule of thumb as the variation in factor a between individual crystals of same type? If I calculate the a from the curves am I better of with this than with using an a of zero?

I am trying to improve the accuracy of my clock by some adaptive method driven by infrequent clock settings. At the moment I just adjust c with a filter calculating a new c and updating the c with 90% of the old and 10% of the new.

But this is bound to lead to lag on temperaure changes, so I am wondering if someone has done something like this?

I have been looking for some method to update a,b and c from the clock setting but maybe it's mathematically impossible - my mathematic foundation isn't too good.

I looked a little at Kalman filters but I don't seem to grasp it fully and they probably doesn't handle this anyway.

The solution I have been thinking of is to bin the temperature range (maybe in 5 degree bins) and have one c for each bin - but this would mean that off temeratures takes very long to adapt.

Another idea is to adapt c when t is near t0, adapt b when t is somewhat more from t0 and a when t is far from t0 - but I am afraid this might be unstable.

Ronny

Reply to
Ronny Svensson

What is that? Just the MPU number? A Hitachi H8 eval board?

This cubic frequency-vs-temperature curve apparently applies to all crystals, and the constants vary with the angle at which the crystal is cut. I saw this on a manufactur's website or .pdf somewhere, but I can't find it now. If this is an inexpensive crystal (and I bet it is), there's probably no guarantee of the exact cutting angle, and thus no guarantee of the exact curve.

This (getting these constants directly from long-term clock variations) seems impractical and unworkable. IMHO, the only reasonable way to do it is to get a frequency counter with 1 Hz precision (and accuracy), cool and heat the crystal while measuring its temperature, map out the frequency-vs-temperature curve for every

1 degree C over the temperature range you're going to run this, then match the a, b and c constants to get a curve identical to the one you measured and plotted. Or just bypass the curves and put the raw frequency-vs-temp data into a lookup table.

Looks like you're spending a lot of time on this, probably unnecesarily. You can get crystals or especially crystal oscillators with much better tolerance over temperature, especially if you don't need that exact frequency (your code IS easily changable for a different CPU clock frequency, isn't it?). Look around for TCXO at digikey.com.

Perhaps you can't replace the crystal for some reason... Whatever you're doing seems a little vague. Can you tell more about the application? Also, you may get better responses to this question on sci.electronics.design.

-----

formatting link

Reply to
Ben Bradley

The cpu:s are produced (small volume - 150 units) and I am just trying to improve the accuracy of the clock somewhat. The clock are set regularly with a broadcast to all cpu:s. I just wondered if using some fixed value for the constant a is better than only using constant c as I do now. I have no idea how big spread there is between crystals of the same type - especially constants a and b. If the a doesn't change very much between crystals then I am better of using a fixed value to compensate for temperature variations. Also if someone has done something like this and have a good algorithm for updating the constants from clock settings versus temperature over time. I generally like adaptive systems that improves over time.

Ronny

Reply to
Ronny Svensson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.