DS3231SN 32 kHz uitgang wijkt af

Lucky Luke

Golden Member

Waarde CO-ers,

Ik heb 2 real time clock moduletjes met een DS3231SN gekocht. Daar zit een 32 kHz uitgang op die volgens de datasheet van het DS3231 IC 32768 Hz zou moeten uitgeven. Ik meet echter 32761 Hz en 32763 Hz bij mijn moduletjes.

Als ik dat goed uitreken, is dat 153 respectievelijk 213 ppm. Ze zouden 3.5 ppm moeten doen van -40 tot +85 graden Celsius, en 1 ppm/V binnen bereik van de voedingsspanning.

Dan is dat toch gruwelijk buiten specificatie? Of zie ik iets van de datasheet over het hoofd?
Als ik het goed nareken komt het op ruim 2 minuten per week, waar maxim eigenlijk 2 minuten per JAAR claimt voor dit IC. (Da' s nog beter dan mijn horloge, dat doet 30 seconden per maand)

(Het verbaast me niet heel erg, het zijn goedkope, zelf-geïmporteerde modules, er bestaat uiteraard een kans dat ze nep zijn. Op de print van de module zit ook al een foutje, VBAT hangt via een diode en een weerstand aan de voeding, wat me met een (primaire / niet herlaadbare) lithium knoopcel niet gewenst lijkt)

Wat me wel verrast is dat ze onderling zo verschillen. Daarom:
Wie van jullie heeft ook een DS3231 (of module), en welke frequentie geeft deze uit?

EDIT:
Als ik het IC een beetje opwarm door mijn duim erop te leggen, daalt de frequentie prompt nog een paar Hz. Ik denk dat ik daaruit veilig kan concluderen dat hoewel het IC gemarkeerd is met DS3231SN, het geen Dallas Semiconductor DS3231SN is.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

Is je referentie beter en wat staat er in het trim ("aging offset") register ?

Arco

Special Member

Er staat eigenlijk niet duidelijk in de datasheet, of je de temperature conversion zelf moet uitvoeren of dat 't automatisch gaat...
Volgens mij moet je regelmatig dat CONV bit setten om de temperatuurcyclus te starten (osc wordt aan de temperatuur aangepast.)

150ppm is onaanvaardbaar, mijn 'gewone' microcontroller is al beter als 0.5s per dag...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ha Lucky Luke,

Ik weet mij nog te herinneren dat @blackdog ook eens een probleem had met een RTC.
Maar in jou situatie zie ik het probleem nog niet :? de RTC zou een frequentie van 32.768 kHz moeten leveren en levert 32.761 kHz.
Dit is de initiële fout die wordt niet opgegeven maar jou afwijking betekend 0.52 uS op een uitlezing van ???/1 Seconde :D
Deze begin fout welke marginaal is kan beinvloed worden door de rest zoals temperatuur spanning maar dit is uiteraard wel opgegeven.

Groet,
Henk.

Everything should be as simple as possible, but not simpler.
blackdog

Golden Member

Hi Lucky Luke,

Ik heb een paar jaar geleden zeker 15 printjes afgeregeld zoals AART aangeeft.

Hou er rekening mee dat de correctie b.v. maar 1x per minuut wordt gedaan om energie te besparen.
Kijk de datasheet er maar op na, de gene die ik getest heb bleven mooi lopen.

Je vinger er op leggen geeft twee effecten, dat is temperatuur en capacatief, geeft dus niet direct een goede indicatie,
vooral niet omdat de temperatuur correctie maar af en toe wordt uitgevoerd.

Maar ik garandeer je niet dat wat jij hebt de orginale typen van de DS3231SN zijn.
Mijn modules kon ik met mijn reciprocal counter op 32,768KHz 0,03PPM afregelen met de Arduino software die hiervoor gemaakt is.

Groet,
Bram

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

Golden Member

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

Ik klaag ook niet, nochtans zo'n spotgoedkoop Chinees ding.

LDmicro user.
Arco

Special Member

Dat aging register kan niet de oorzaak zijn. (Is max +/- 12.8ppm, geen 200...)
Verouderen doet 't ding niet zo snel, 1x per maand is meer als genoeg.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lucky Luke

Golden Member

Op 21 november 2019 16:30:53 schreef Aart:
Is je referentie beter en wat staat er in het trim ("aging offset") register ?

Register heb ik niks in geschreven of gelezen, ik sluit 3v3 aan en meet de 32 KHz uitgang met een Agilent 34401A.

Op 21 november 2019 16:32:15 schreef Arco:
Volgens mij moet je regelmatig dat CONV bit setten om de temperatuurcyclus te starten (osc wordt aan de temperatuur aangepast.)

Hmm, dat maakt mijn huidige meetopstelling onvoldoende...

Op 21 november 2019 16:56:17 schreef blackdog:
Je vinger er op leggen geeft twee effecten, dat is temperatuur en capacatief, geeft dus niet direct een goede indicatie,
vooral niet omdat de temperatuur correctie maar af en toe wordt uitgevoerd.

Ik zal 's met een fohn testen, en anders toch een arduinotje eraan knopen om dat CONV bitje eens aan te duwen...

{EDIT: bij "handoplegging" daalt de frequentie langzaam, na weghalen stijgt ' ie weer langzaam. Het capacitieve effect zou onmiddelijk weg moeten zijn als mijn hand weg is, terwijl afkoelen langer duurt. Het lijkt me echt thermisch... Ik zal ' m is langer dan 64 seconden aan de meter laten hangen.}

{EDIT: Met een haarföhn daalt de frequentie nog sterker, tot zelfs 32.7625 KHz... Dit trekt langzaam weer bij naarmate het chipje afkoelt.}

{EDIT: en meerdere minuten laten hangen: frequentie blijft 32.7636. Wordt geen 32.768. }

Op 21 november 2019 17:02:51 schreef MGP:
Ik klaag ook niet, nochtans zo'n spotgoedkoop Chinees ding.

Da' s dus precies de meting die ik doe. Alleen dan met andere apparatuur.

Wat me ook opvalt op jouw foto en die van Blackdog, is dat jullie chips een net iets andere package hebben. Ik heb alleen een rondje bij pin 1, jullie hebben ook een deuk aan de bovenkant.

in vergelijking met jouw foto en die van blackdog. Mijn PCBtje is ook subtiel anders dan Blackdog' s pcbtje. (coper pour loopt anders rond de via' s, valt vooral op naast 32K. Ook geen s je op de silkscreen bij BD rechtsonder). Dus ik heb sowiso een andere run of zelfs andere fabrikant.

Ik heb op de site van maxim echter niks gevonden over welke package of opdruk het moet zijn.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)
LDmicro user.
Arco

Special Member

Ik twijfer eraan of dat een originele chip is, hij ziet er vreemd hoekig uit. (en de inkeping aan de pin 1 zijde ontbreekt.
Loopt het 'schuurpapierachtige' oppervlak door op de schuine zijde aan de pin 1 kant? (lijkt glad zo te zien)

Kun je de schuurpapierachtige laag er met een mesje afkrabben?
(is bij fakes vaak geen bewerkt plastic, maar gewoon een verflaagje. Heb dat met freescale 6811 processors gehad)

Hier staan nog wat leuke foto's van het interieur van de chip... ;)
https://blog.heypete.com/2017/07/29/a-look-inside-the-ds3231-real-time…

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
blackdog

Golden Member

Hi,

Ik heb ook mijn twijfels over de chip...

Voor een prijsindruk bij Farnell betreffende de DS3231SN.
1 stuks 9,38€ ex btw
100stuks, 7,02€ ex btw
250 stuks, 4,99 ex btw

Bij Digikey is het niet veel anders, dus het niet zo gek dat dit IC wordt nagemaakt.
Ik heb toen ik met deze klokprintjes bezig was, ook wat samples van Maxim geregeld,
de klok printjes die ik toen had gekocht waren de meeste wel goed ter vergelijking met de chips van Maxim.

Als ik de fotos van dit topic nu zie, zou ik de printjes niet meer vertrouwen.

Groet,
Bram

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

Special Member

Het wordt me uit de datasheet niet duidelijk of je die temperatuurcalibratiecyclus (3x woordwaarde... ;) ) periodiek zelf moet starten of dat het automatisch gaat...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ha Arco,

Dat gebeurt automatisch aan de hand van de temperatuur metingen.
Maar je zult indien dit nog niet is gebeurt de TCXO eerst moeten afregelen op de frequentie.
Het regelbereik zal in orde grote van + 100 PPM naar - 20 PPM zijn analoog :?
Af fabriek is dit niet te doen de beïnvloeding van het aard magnetisch veld op de tuning fork is te groot vandaar deze mogelijkheid.
Om dit analoog voor elkaar te krijgen worden een aantal condensatoren aan het kristal geschakeld zonder correctie zitten ze allemaal vast je zult dan ook zien dat de frequentie altijd lager is dan de 32.768 kHz.
Door nu de juiste bitjes te activeren kan je condensatoren los koppelen en zal de frequentie omhoog schuiven.
Als je de frequentie die je wil instellen heb bereikt bevestig je dit en klaar hier bovenop wordt de fijn tuning gedaan daar heb je geen invloed op.
Het kristal ik heb er weleens los gemeten is zo slecht over de temperatuur dat wil je niet weten maar is uiterst snel veel sneller als een AT of SC kristal.
Even voor @TS heb je niet een echte frequentie teller tot je beschikking zo'n toegift op de meter is leuk maar......
Waar ga je de 32 kHz uitgang voor gebruiken tot op 1 Hz is niet makkelijk.
In mijn systeem lock ik deze klokjes aan GPS 1 PPS voor real time precisie interval metingen.

Groet,
Henk.

Everything should be as simple as possible, but not simpler.
Lucky Luke

Golden Member

Op 23 november 2019 13:13:00 schreef Arco:
Ik twijfer eraan of dat een originele chip is, hij ziet er vreemd hoekig uit. (en de inkeping aan de pin 1 zijde ontbreekt.
Loopt het 'schuurpapierachtige' oppervlak door op de schuine zijde aan de pin 1 kant? (lijkt glad zo te zien)

kan ik niet goed zien / lijkt niet consequent over beide modules die ik heb / durf ik niet met zekerheid uitspraak over te doen.

Kun je de schuurpapierachtige laag er met een mesje afkrabben?
(is bij fakes vaak geen bewerkt plastic, maar gewoon een verflaagje. Heb dat met freescale 6811 processors gehad)

Is "proberen met aceton op te lossen" ook goed? Het wattenstaafje wordt met wat boenen zwart, en de chip wordt dof:

De tekst is gelasergraveerd, maar de bovenste zwarte laag lijkt inderdaad een soort verf.

Hier staan nog wat leuke foto's van het interieur van de chip... ;)
https://blog.heypete.com/2017/07/29/a-look-inside-the-ds3231-real-time…

Gaaf :)

Ik heb geen "echte(re)" frequentieteller dan die in m'n 34401A, maar zelfs als die in absolute zin zou afwijken, is de relatieve drift van de DS3231 over temperatuur nog steeds meetbaar. En die lijkt me nogal extreem.

Uiteindelijk wil ik de RTC gewoon gaan toepassen als RTC. Ik bekijk de 32 KHz uitgang alleen om de langetermijn-afwijking uit te kunnen rekenen / in te kunnen schatten. Bij de DS3231SN zou dat moeten kunnen, bij de DS3231M niet (met dank aan de site waar Arco naar linkt waar de verschillen staan opgesomd - ongetwijfeld ook in de datasheet terug te vinden.).

Ik denk dat de kortste klap het kopen van een known-good DS3231 is. Maar het uitpuzzelen wat er aan de hand is met deze moduletjes is ook leuk.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)
Lucky Luke

Golden Member

Ik heb een chip gekocht bij Farnell, dus “known good”. Alleen even niet goed opgelet. Omdat soic-8 me handig uitkwam waar het uiteindelijk in moet, heb ik een DS3231MZ gekocht... En die heeft een mems-oscillator waardoor de 32 kHz uitgang 2,5 % van de frequentie mag afwijken. Die wordt ook niet bijgestuurd, de 1 Hz wel. (Die blijft binnen de 5 ppm, ook ruimschoots goed genoeg voor mijn klokje). Maar die staat niet standaard aan zonder ‘m dat via i2c op te dragen...

Kan ze dus niet 1-op-1 vergelijken.

Mijn known-good chip doet 32.786 kHz. Geen typfout. Zit er dus 18 Hz boven. Ofwel 0,5%, waar 2,5 % is toegestaan voor de DS3231MZ. Keurig binnen spec. Verloopt bij verwarmen ook. Je zou haast denken dat de chipjes op de modules ook mems-oscillatoren hebben... al klopt dat niet met hun typenummer.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)
Arco

Special Member

18Hz afwijking is belachelijk veel (da's 45 sec. per dag, 550ppm!)   Dat mag je geen real-time clock meer noemen... ;)
Mijn gewone microcontroller klok blijft ruim onder de 1 seconde per dag...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lucky Luke

Golden Member

De RTC blijft binnen de 5 ppm, het is de 32 kHz uitgang van de DS3231MZ die tot 2.5% mag afwijken.

Het is natuurlijk wel een gemeen dingetje waar je snel overheen leest, dus ff expliciet: De DS3231MZ is een ander beest dan de DS3231SN waar dit topic mee begon.>:) De DS3231SN heeft wel een 32.768 kHz uitgang die binnen de 5 ppm moet zitten (ik dacht zelfs 3.5 ppm ofzo - zie datasheet). Die heeft een kristal dat gecompenseerd wordt. de ...MZ heeft een MEMS-oscillator waarbij de correctie pas later plaatsvind en de 32.768 kHz uitgang ongecompenseerd is.

Maargoed. Het ding zit inmiddels in mijn lichtwekker*. Vermoedelijk osmotiseert er wel iets over de lange-termijn stabiliteit richting circuitsonline... (Hij draait nog maar een paar uur momenteel).

5 ppm van 31536000 seconden in een jaar zou 2 minuten en 38 seconden in een jaar betekenen (net geen halve seconde per etmaal), dat is goed genoeg. (Mijn horloge wijkt volgens specificatie 30 seconden per maand af, dus 6 minuten per jaar. Daar houdt mijn horloge zich ook echt aan, minder afwijking is het niet.)

*)Die ook nog ' s in SYP moet, als ' ie er niet al staat. De foto' s waren niet zo mooi gelukt, dus mogelijk heb ik ze niet gepost

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)
Lucky Luke

Golden Member

Goed, ik heb nu ook de moduletjes met de DS3231SN eens aangesloten op iets dat I2C praat (arduino met deze test sketch).

Bemerkingen:
1) Als ik een CONV start, wijzigt de uitgangsfrequentie op de 32 kHz niet. Blijft nèt te laag.
2) Als ik de SQW/INT uitgang instel op een 8 kHz blokgolf, komt een 1 Hz signaal uit. Net alsof die 2 bitjes waarmee je de frequentie instelt niet geïmplementeerd zijn, zoals op de DS3231MZ. De 1 Hz wisselt ook op ongeveer dezelfde manier als bij de MZ: soms net eronder, soms net erboven. (En soms ineens 4 Hz :? Dat heb ik mijn known-good DS3231MZ van Farnell dan weer niet zien doen).

Het chipje op de moduletjes is dus in elk geval geen DS3231SN. (Want de 8 kHz uitgang werkt niet. Instellen op 4 kHz of 2 kHz werkt ook niet - teruglezen uit het register geeft wel de ingestelde waarde terug).

Geen idee wat het wel is. Het zal zich waarschijnlijk wel als RTC gedragen, maar het is geen DS3231SN, wellicht zelfs in het geheel geen DS3231.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

De DS3231M versie heeft volgens zien nogal wat bugs, veel van die modules zijn volgens mij bestukt met afgedankte ic's.

https://pdfserv.maximintegrated.com/en/errata/DS3231MA1.pdf

LDmicro user.