This shows you the differences between two versions of the page.
| — |
precision_timing:thunderbolt_temperature_sensor [2013/01/08 19:00] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Thunderbolt Temperature Sensor ====== | ||
| + | |||
| + | |||
| + | //Re: [time-nuts] Thunderbolt performance vs temperature sensor// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Mark Sims | ||
| + | Fri, 06 Mar 2009 09:57:39 -0800 | ||
| + | |||
| + | I did some testing on a Thunderbolt with the new revision E2 (low resolution, | ||
| + | flat line) and old revision D1 (high resolution, curvy line) DS1620 | ||
| + | temperature sensor chips. The only thing that changed was the temperature | ||
| + | sensor chip. | ||
| + | |||
| + | |||
| + | Basically, I put a unit that had the new revision E2 temperature sensor into | ||
| + | manual holdover mode and ran Lady Heather over several 24 hour (approximately) | ||
| + | periods with the log enabled. Between each period, I put the unit back into | ||
| + | GPS discipline mode and let it recover. | ||
| + | |||
| + | |||
| + | Next I swapped out the temperature sensor chip with an old revision D1 chip and | ||
| + | let the unit run for a week so that it had a chance to relearn any filter | ||
| + | coefficients. Then I repeated the holdover log runs. | ||
| + | |||
| + | |||
| + | I processed the logs to calculate the spread in the PPS error reading over 1 | ||
| + | hour intervals. With the new revision E2, low res temp sensor the Thunderbolt | ||
| + | averaged 1.73 uS of PPS change per hour. With the old revision D1, high res | ||
| + | temp sensor the unit averaged 0.82 uS of PPS change per hour. | ||
| + | |||
| + | |||
| + | So, it appears that the Thunderbolt does indeed use the temperature sensor | ||
| + | readings in its disciplining of the oscillator (which is also obvious from the | ||
| + | plots of DAC voltage vs temperature) and that the units performance (at least | ||
| + | the holdover performance) was adversely affected when the DS1620 temperature | ||
| + | sensor chip was changed going from rev D to rev E. | ||
| + | |||
| + | ---- | ||
| + | Tom Van Baak | ||
| + | Sat, 07 Mar 2009 20:16:16 -0800 | ||
| + | |||
| + | Hi Mark, | ||
| + | |||
| + | This is very interesting work that you're doing with Thunderbolt | ||
| + | DS1620 temperature sensors. I hope you stick with it. I agree | ||
| + | with Said about the double bind idea. | ||
| + | |||
| + | I worry too that your TBolts are remembering something of the | ||
| + | past in spite of the hardware changes you make for each new | ||
| + | run. Do you do a full factory reset each time? And then let the | ||
| + | unit "re-learn" for several hours, or maybe several days? Do | ||
| + | we really know how or what it is learning and how that affects | ||
| + | the response to temperature? | ||
| + | |||
| + | |||
| + | Having tried tempco measurements in the past I have several | ||
| + | concerns about mythology. It's really hard to get this right and | ||
| + | even harder when you don't know what "smart" algorithms are | ||
| + | inside the box you're trying to test. | ||
| + | |||
| + | In this situation, it seems to me the main thing about temperature | ||
| + | is not temperature at all, but the *rate* at which the temperature | ||
| + | changes. | ||
| + | |||
| + | In that case, even careful cycling of room temperature every day | ||
| + | or cycling temperature inside a special chamber every hour will | ||
| + | not give you the real story -- because in both cases the focus is | ||
| + | on varying the temperature; not the rate at which the temperature | ||
| + | is changing. | ||
| + | |||
| + | Compounding the problem is that different components in the | ||
| + | system will react to temperature at different rates. The DS1620 | ||
| + | is plastic and may react quickly. The OCXO is metal and will | ||
| + | react slowly. Who knows what additional component's tempco | ||
| + | are relevant to the final 10 MHz output. Some may overreact | ||
| + | at first and then settle down. | ||
| + | |||
| + | |||
| + | I guess in the ideal world you'd want to do a "sweep" where you | ||
| + | go through several cycles of temperature extreme at rates varying | ||
| + | from, say, one cycle per minute all the way up one cycle per day. | ||
| + | |||
| + | It seems to me you'd end up with some kind of spectrum, in which | ||
| + | tempco is a function of temp-cycle-rate. Has anyone seen analysis | ||
| + | like this? | ||
| + | |||
| + | For example, I'd guess that most GPSDO have low sensitivity to wild | ||
| + | temperature cycles every second -- because of its own thermal mass. | ||
| + | And I bet most GPSDO have low sensitivity to wild temperature swings | ||
| + | every few hours -- because the OCXO easily handles slow changes | ||
| + | like this well. It's for time scales in between those two that you either | ||
| + | hit sweet spots or get very confused and react just opposite of what | ||
| + | you should. | ||
| + | |||
| + | |||
| + | I'm thinking another testing approach is to varying the temperature | ||
| + | somewhat randomly; with random temperature *amplitude* along | ||
| + | with random temperature *rate*. Using this temperature input, and | ||
| + | measured GPSDO phase or frequency output, you might be able | ||
| + | to do some fancy math and come up with a transfer function that | ||
| + | tells the whole story; correlation; gain and lag as a function of rate, | ||
| + | or something like that. I'll do some reading on this, or perhaps | ||
| + | someone on the list can fill in the details? | ||
| + | |||
| + | |||
| + | I say all of this -- because of an accident in my lab today. Have a | ||
| + | careful look at these preliminary plots and tell me what you think. | ||
| + | It shows anything but a nice one-to-one positive linear relationship | ||
| + | between ambient temperature and GPSDO output. | ||
| + | |||
| + | http://www.leapsecond.com/pages/tbolt-temp/ | ||
| + | |||
| + | /tvb | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Magnus Danielson | ||
| + | Sun, 08 Mar 2009 09:03:40 -0700 | ||
| + | |||
| + | Tom Van Baak skrev: | ||
| + | > See: http://www.leapsecond.com/pages/tbolt-temp/ | ||
| + | > | ||
| + | > Hi Mark, | ||
| + | > | ||
| + | > This is very interesting work that you're doing with Thunderbolt | ||
| + | > DS1620 temperature sensors. I hope you stick with it. I agree | ||
| + | > with Said about the double bind idea. | ||
| + | > | ||
| + | > I worry too that your TBolts are remembering something of the | ||
| + | > past in spite of the hardware changes you make for each new | ||
| + | > run. Do you do a full factory reset each time? And then let the | ||
| + | > unit "re-learn" for several hours, or maybe several days? Do | ||
| + | > we really know how or what it is learning and how that affects | ||
| + | > the response to temperature? | ||
| + | > | ||
| + | > | ||
| + | > Having tried tempco measurements in the past I have several | ||
| + | > concerns about mythology. It's really hard to get this right and | ||
| + | > even harder when you don't know what "smart" algorithms are | ||
| + | > inside the box you're trying to test. | ||
| + | |||
| + | The theory here is that we do have a smart algorithm. Under the | ||
| + | assumption that we have a smart algorithm comes that we want to give | ||
| + | that algorithm a decent chance by using the higher resolution variant of | ||
| + | the DS1620. | ||
| + | |||
| + | This also makes testing more troublesome. | ||
| + | |||
| + | > In this situation, it seems to me the main thing about temperature | ||
| + | > is not temperature at all, but the *rate* at which the temperature | ||
| + | > changes. | ||
| + | > | ||
| + | > In that case, even careful cycling of room temperature every day | ||
| + | > or cycling temperature inside a special chamber every hour will | ||
| + | > not give you the real story -- because in both cases the focus is | ||
| + | > on varying the temperature; not the rate at which the temperature | ||
| + | > is changing. | ||
| + | > | ||
| + | > Compounding the problem is that different components in the | ||
| + | > system will react to temperature at different rates. The DS1620 | ||
| + | > is plastic and may react quickly. The OCXO is metal and will | ||
| + | > react slowly. Who knows what additional component's tempco | ||
| + | > are relevant to the final 10 MHz output. Some may overreact | ||
| + | > at first and then settle down. | ||
| + | |||
| + | True... but. | ||
| + | |||
| + | Consider that the OCXO and the temperature sensor has time-constants to | ||
| + | them. You can now model their heat response-time through equalent RC | ||
| + | links (in reality you have many of these lumped up, this is a thought | ||
| + | model). As long as the temperature risetime is much slower than the OCXO | ||
| + | and tempsensors time-constants, the risetime is dominated by the | ||
| + | incident wave. A classic formula for this is: | ||
| + | |||
| + | {{:precision_timing:tvb-1.png|}} | ||
| + | |||
| + | Signal in this case is heatchanges due to our main heater 8 lighmin away. | ||
| + | |||
| + | Another thing I want to point out is that metal is a very good heat | ||
| + | conductor where as plastic is a very poor heat conductor. One has to be | ||
| + | carefull to confuse that with heat capacitivity, the ability to keep | ||
| + | heat. We use metal flanges to remove heat from components, not plastic | ||
| + | ones. The high conductivity of metal will make any temperature change | ||
| + | move fairly fast throughout. This is why it is hard to solder on ground | ||
| + | planes or metal-chassis, the heat at the solderpoint distributes quickly | ||
| + | where as soldering on some local point on a PCB is not that hard as the | ||
| + | plastic of the PCB is a relatively poor heat conductor. | ||
| + | |||
| + | So, you can expect that the metal can of the OCXO reacts fairly quickly | ||
| + | and the temperature sensor is a thad slow. This also matches exercises | ||
| + | we have done by using a fan to do forced air convection tests on OCXO | ||
| + | and tempsensor. Putting a *plastic* hood over it significantly lowered | ||
| + | the risetime and the consequence is that the lower risetime allowed the | ||
| + | tempsensor inside the OCXO to sense the change and react to it. This | ||
| + | introduces a third time constant, the time-constant of the OCXO control. | ||
| + | The effect of using a hood or not was significant. The change of | ||
| + | frequency shape was distinct and for the measurement interval we looked | ||
| + | at the phase drift was about 1/3 for this simple addition. | ||
| + | |||
| + | Lessons learned: | ||
| + | |||
| + | * Temperature transients may expose OCXO time constants | ||
| + | |||
| + | * Passive isolation may aid in reducing gradient time constants | ||
| + | |||
| + | The OCXO Oven control really just helps with slow-rate changes and may | ||
| + | span a high temperature range, but not quickly. Passive isolation helps | ||
| + | smoothing out transients. For transients will heat capacitivity be an | ||
| + | issue and multilayer isolation/capacitivity will acts as higher order | ||
| + | filters. | ||
| + | |||
| + | > I guess in the ideal world you'd want to do a "sweep" where you | ||
| + | > go through several cycles of temperature extreme at rates varying | ||
| + | > from, say, one cycle per minute all the way up one cycle per day. | ||
| + | > | ||
| + | > It seems to me you'd end up with some kind of spectrum, in which | ||
| + | > tempco is a function of temp-cycle-rate. Has anyone seen analysis | ||
| + | > like this? | ||
| + | |||
| + | To some degree yes... see above. | ||
| + | |||
| + | > For example, I'd guess that most GPSDO have low sensitivity to wild | ||
| + | > temperature cycles every second -- because of its own thermal mass. | ||
| + | |||
| + | Actually, if they sit in a forced air environment, they will change | ||
| + | temperature pretty quick because their metal cover will conduct away the | ||
| + | heat quite efficiently. Thermal mass is not a great measure unless you | ||
| + | also consider the thermal conductivity, they together will describe the | ||
| + | heat time constant. | ||
| + | |||
| + | If you put your GPSDO in a "heat pocket" and not put it flush to some | ||
| + | metal surface but rather use plastic spacers you will be in a much | ||
| + | better place from transients and the turbolence of convection (forced or | ||
| + | not). | ||
| + | |||
| + | > And I bet most GPSDO have low sensitivity to wild temperature swings | ||
| + | > every few hours -- because the OCXO easily handles slow changes | ||
| + | > like this well. It's for time scales in between those two that you either | ||
| + | > hit sweet spots or get very confused and react just opposite of what | ||
| + | > you should. | ||
| + | |||
| + | You just don't react quick enough. Building OCXOs that would have a | ||
| + | balance for it would turn up rather large. Our OSA 8600/8607 uses a | ||
| + | Dewar flask embedded in foam inside the metal chassi and then has a | ||
| + | metal chassi inside of that. The outer shell is not temperature | ||
| + | controlled but becomes notably warm anyway. | ||
| + | |||
| + | Your wine-cooler 8607 should have a foam frapping and not stand | ||
| + | metal-onto-metal to become more efficient. | ||
| + | |||
| + | Regardless. Temperature transients is best handled through isolation | ||
| + | filters. Temperature gradients is reduces as well if done properly. | ||
| + | |||
| + | Unless an external temperature probe is thermally well connected to the | ||
| + | OCXO it is not as useful and it can certainly not aid in anything but | ||
| + | slow rate changes. This would become a TOCXO construct. | ||
| + | |||
| + | A thermally well tied temperature probe could be used for transient | ||
| + | suppression if thinking about it, as the speed of compensation through | ||
| + | the EFC input is very high. For it to work one has to model the | ||
| + | transient response properly. Basically one has to process the signal | ||
| + | through a model filter. This could be done in analogue or digital. | ||
| + | |||
| + | > I'm thinking another testing approach is to varying the temperature | ||
| + | > somewhat randomly; with random temperature *amplitude* along | ||
| + | > with random temperature *rate*. Using this temperature input, and | ||
| + | > measured GPSDO phase or frequency output, you might be able | ||
| + | > to do some fancy math and come up with a transfer function that | ||
| + | > tells the whole story; correlation; gain and lag as a function of rate, | ||
| + | > or something like that. I'll do some reading on this, or perhaps | ||
| + | > someone on the list can fill in the details? | ||
| + | |||
| + | This can be done using MLS sequences and the cross-correlation would | ||
| + | produce the impulse response of the heat-transfer mechanism. | ||
| + | |||
| + | The actual heat difference used does not have to be that large actually, | ||
| + | as you aim to establish the impulse response at this stage. With a | ||
| + | detailed enough impulse response you can then locate the poles and zeros | ||
| + | of the filter. | ||
| + | |||
| + | You can use a transistor and a resistor (say a 2N3055 with some suitable | ||
| + | resistance) to be modulated by the MLS sequence and then do frequency or | ||
| + | phase measurements synchronously with the MLS sequence. The rate of the | ||
| + | MLS sequence will through Nyqvist theorem put an upper limit to the | ||
| + | highest rate you can measure. Here is a golden case where "smart" | ||
| + | frequency measurements should be avoided as their filtering would become | ||
| + | included in the transient response. It could be compensated naturally, | ||
| + | but would only confuse the issue. | ||
| + | |||
| + | The amplitude of temperature-shifts will of course become a frequency | ||
| + | resolution factor. However, a short measurement period at high | ||
| + | temperature shifts could work, but running over longer times natural | ||
| + | temperature changes as well as aging needs to be suppressed and then you | ||
| + | need to average over longer times and running at slightly less amplitude | ||
| + | on modulation could be tolerated. | ||
| + | Temperature changes and drift could be cancled from the measurement | ||
| + | sequence prior to cross-correlation to reduce impact. This can be done | ||
| + | through normal frequency and drift predicting and removal. | ||
| + | |||
| + | Use of MLS sequences to characterize impulse responses is a well | ||
| + | established technique. The two major limitations is usually too low | ||
| + | modulation rate and too short MLS sequence besides the obvious one of | ||
| + | dynamic. Calibration of output and input stages can remove their impact. | ||
| + | |||
| + | > I say all of this -- because of an accident in my lab today. Have a | ||
| + | > careful look at these preliminary plots and tell me what you think. | ||
| + | > It shows anything but a nice one-to-one positive linear relationship | ||
| + | > between ambient temperature and GPSDO output. | ||
| + | > | ||
| + | > http://www.leapsecond.com/pages/tbolt-temp/ | ||
| + | |||
| + | It looks kind of typical. | ||
| + | |||
| + | The OCXO performs a non-perfect diffrential task in the heat scale, its | ||
| + | limited gain will make the long-term uncompensated. Look at the second | ||
| + | plot. As the temperature rises drastically the phase dips dramatically. | ||
| + | The oscillations display similar risetimes and thus is let through. | ||
| + | |||
| + | For me this is somewhat of an expected impulse response. The GPSDO | ||
| + | attempts to steer it into action, so that why it does not look as the | ||
| + | full integrated frequency response as one would expect from an OCXO | ||
| + | free-wheeling. | ||
| + | |||
| + | Cheers, | ||
| + | Magnus | ||
| + | |||
| + | ---- | ||
| + | SAIDJACK | ||
| + | Fri, 06 Mar 2009 14:18:26 -0800 | ||
| + | |||
| + | Hi, | ||
| + | |||
| + | While this is good news for Trimble's competition and may open up the avenue | ||
| + | for an amateur mod, I think we would have to be fair to Trimble and do the | ||
| + | double-blind test: | ||
| + | |||
| + | 1) Put the original temp sensor back into the unit, let it run one week, and | ||
| + | do the drift tests exactly the same as before. | ||
| + | |||
| + | 2) remove the sensor completely from the board, and let it run without any | ||
| + | sensor (if the unit works this way) | ||
| + | |||
| + | You may have seen the performance difference due to measurement errors, | ||
| + | aging of the crystal, ambient temperature changes (there was over 1 week | ||
| + | difference between the two tests, so I am sure ambient temperature effects were | ||
| + | different on the two runs), etc. | ||
| + | |||
| + | To really get to the bottom of this, you would have to put the unit into a | ||
| + | thermal chamber and cycle it from say -20C to +60C over an hour with say 10C | ||
| + | steps and see the frequency change versus temperature. | ||
| + | |||
| + | bye, | ||
| + | Said | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Mark Sims | ||
| + | Fri, 06 Mar 2009 16:04:01 -0800 | ||
| + | |||
| + | Hello Said, | ||
| + | |||
| + | The Tbolt that I used for the test was well aged (several months of operation) | ||
| + | and stable prior to the tests. It was only powered down for the 10 minutes or | ||
| + | so that it took to swap out the old sensor. | ||
| + | |||
| + | I tried to choose data sets that were fairly comparable temperature wise. I | ||
| + | also chose the basic measurement interval to be 1 hour so that temperature | ||
| + | would not be changing much over the hour. I am fairly confident that the | ||
| + | results reflect changes due to the temperature sensor. | ||
| + | |||
| + | I wanted to make the measurement PPS drift / degree C change / hour but the | ||
| + | later model (low res) temp sensor chip would seldom produce a recordable change | ||
| + | in temperature over a one hour period. | ||
| + | |||
| + | ---- | ||
| + | Mark Sims | ||
| + | Sun, 08 Mar 2009 11:00:29 -0700 | ||
| + | |||
| + | The test that I did was meant to reflect how a typical user would be using a | ||
| + | Thunderbolt... sitting out in free air on a piece of poly foam, covered by a | ||
| + | cardboard box to provide a little isolation from environmental transients. | ||
| + | Tbolt internal temperature changes were around 3 deg C per day and 0.3C per | ||
| + | hour. My chosen figure-of-merit for the tests was how much the PPS signal | ||
| + | changed (as reported by the Thunderbolt message) over an hour. | ||
| + | |||
| + | The unit had run continuously for several months. Before I swapped the temp | ||
| + | sensor chip, I made several runs where at 11:00 AM I put it into manual | ||
| + | holdover mode and started the log. I recorded its self-measured data for | ||
| + | around 23 hours, stopped the log, put it into normal operation mode for an | ||
| + | hour. | ||
| + | |||
| + | Next, I shut it down and swapped the temp sensor chip. This took about 10 | ||
| + | minutes. I then restarted it, let it stabilize for a day, and did a | ||
| + | factory reset. I let it run for four days in GPS locked mode and four days | ||
| + | with the 23 hour holdover mode cycles. This (hopefully) gave it some time to | ||
| + | learn about the new temp sensor. Next I repeated the "official" 23 hour | ||
| + | holdover test runs. | ||
| + | |||
| + | The average of the 1 hour PPS holdover deviations with the newer low res temp | ||
| + | sensor was 1.73 uS per hour. The average of the 1 hour PPS deviations with the | ||
| + | older high res sensor was 0.82 uS per hour. | ||
| + | |||
| + | |||
| + | Yes, it would be nice to put the unit into an environmental chamber and put it | ||
| + | through its paces and discover all sorts of neat things about it. I was more | ||
| + | interested in how the change in the DS1620 temperature sensor chip affected the | ||
| + | units in a way that I might actually see in the way that I use them. I have | ||
| + | already swapped the temp sensor chip three times in this unit (original E2 | ||
| + | chip, another E2 chip, and the D1 chip) and don't really want to risk | ||
| + | damaging it with two more swaps (back to E2 and then D1). | ||
| + | |||
| + | |||
| + | Tests on a single unit are hardly conclusive, but it appears that you can | ||
| + | double your holdover performance by using the older DS1620 chip. Also, by | ||
| + | looking at the DAC and TEMP plots the temp sensor chip readings ARE used in | ||
| + | generating the DAC voltage in GPS locked mode... so I am assuming that the | ||
| + | performance also would be improved in GPS locked mode (but by how much and how | ||
| + | to test that have yet to be determined). | ||
| + | |||
| + | |||