Arduino vraagjes/praatjes

Ja, dat klinkt logisch, als ze de frequentie van de resonator zelf niet kunnen corrigeren, zullen ze iets dergelijks moeten doen. Voor de meeste toepassingen lijkt dat me ook prima.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Ik heb ondertussen iets nagedacht over de implementatie. Ik denk dat je beter 16 of 32 seconden kan meten. DAN krijg je een stabiel resultaat. (ik denk dat het patroon van lange en korte seconden iedere 16 of 32 seconden zal herhalen).

Met 3 bits achter de comma iets als:
* 1 lang kort kort kort kort kort kort kort
* 2 lang kort kort kort lang kort kort kort
* 3 lang kort lang kort kort lang kort kort
* 4 lang kort lang kort lang kort lang kort
* 5 lang lang lang kort lang kort lang kort
* 6 lang lang lang kort lang lang lang kort
* 7 lang lang lang lang lang lang lang kort

(als de afwijking op (in dit voorbeeld) 3 bits nauwkeurig een veelvoud is van hele clocks, zie je geen kort/lang variatie).

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Dat het patroon elke 16 of 32 seconden zou herhalen is een aanname; als je zoiets op basis van het Bresenham algoritme doet (voor x/y: error accumulator bijhouden, steeds ophogen met x, als >y, y aftrekken, extra cycle maken), hoeft er geen vaste periode in te zitten.

Over 10 pulsen zou je dan maximaal 1/10de van de basisfrequentie afwijking over kunnen hebben (naast de andere afwijkingen natuurlijk), dus ongeveer 1/327670, oftewel net iets meer dan 3ppm.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
blackdog

Golden Member

Hi,

Vandaag nog wat uitgezocht betreffende de verschillen tussen de xtal en de Micromachine versies van de DS32xx series klok IC's.
De verschillen zij toch wel vrij groot, de "normale" functies zijn vrijwel gelijk, aleen de extra mogelijkheden verschillen flink.

Zoals SparkyGSX al opmerkte, is de 32KHz uitgang van de "M" versie een afgeleide van de mechanische resonator welke nog niet gecompenseert is voor tempratuur en andere driften.
Deze uitgang is zoals ik al aangaf zo niet bruikbaar voor tijdmetingen of afregeling van het IC.
Ik vond het al vreemd, maar er zijn alleen grafieken wat stabiliteit betreft te vinden van de 1Hz blokuitgang.
Er is een grafiek aanwezig voor de M versie die de drift aangeeft voor een half uur meting, deze geeft ongeveer 0,5 PPM aan.
Kortere meettijden zijn ook zichtbaar in de grafieken met de daar bijbehorende veel grotere korte termijn stabiliteit.
Er zijn dus een aantal correctie loops in het IC aanwezig die het meten over een korte tijd zinloos maakt.

Nu had ik een beetje hoop, dat de blok uitgang van de M versie ook op 8KHz geprogrammeerd kon worden zoals bij de xtal versie, dit is echter niet het geval.
De blok uitgang kan alleen 1Hz zijn.

Met een 34461A meter heb ik de 32KHz uitgang van een M serie gemeten zodat ik de drift beter kon weergeven.
Je ziet hieronder de drift nadat ik op een bepaald moment de "0" toets heb ingedrukt van de 34461A.
De vertikale schaal is in 1/10 Hz stapjes, en je kan zien in de cirkel wat de sprong is in frequente als gevolg van het blazen tegen het printje.
Misschien kunnen we meer speken van een temperatuur sensor dan een resonator ;-)
Dit soort drift wordt door de regelloops natuurlijk flink gecorrigeert, maar wat je hier dus ziet maakt de 32KHz uitgang dus onbruikbaar voor timing toepsasingen.
http://www.bramcam.nl/Diversen/DS3232/DS3232-20.png

Stukje uit de datasheet van de M versie
The temperature sensor, oscillator, and digital adjustment controller logic form the highly accurate time base.
The controller reads the output of the on-board temperature sensor and adjusts the final 1Hz output to maintain
the required accuracy. The device is trimmed at the factory to maintain a tight accuracy over the operating temperature range.
When the device is powered by VCC,the adjustment occurs once a second. When the device is powered by VBAT,
the adjustment occurs once every 10s to conserve power.
Adjusting the 1Hz time base less often does not affect the device’s long-term timekeeping accuracy.
The device also contains an Aging Offset register that allows a constant offset (positive or negative) to
be added to the factory-trimmed adjustment value.

Ik heb bij de M versie ook niet de mogelijkheid gevonden om de klok te trimmen zoals bij de xtal versie.
We zullen er dus op moeten vertrouwen dat de 1Hz klokpuls en dus ook de interne klok niet meer dan 0,5seconde afwijkt per dag.
Deze data is wat onduidelijk in de datasheet van de M versie, is het nu -40 tot +85C of geld de waarde van +-0,432Seconde alleen voor 25C en 85C...

Weer een hoop wijzer geworden, en mijn eerste keuze zal toch de xtal versie zijn, daar ik daar wat meer controle over heb.
Je kan na een bepaalde tijd altijd het "aging" register weer een beetje aanpassen als nodig. (32,768KHz trimmen)
Het blijft een mooi IC als je geen ander tijdbronnen beschikbaar, hebt of als back-up tijdbron.

Groet,
Blackdog

You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.