1 kristal voor 2 chips, netjes te doen?

Hallo,

Ik ben aan het orienteren om een NXP i.MX8M nano CPU te gaan gebruiken in een nieuw design. Helaas is de interne RTC totaal niet bedoeld voor knoopcel backup. "typical" verbruik in de zuinigste modus is 800uA in plaats van de beoogde <4uA.

Dus het zal een externe RTC moeten worden. Niet ideaal, maar soit.

Zit ik alleen met het probleem dat beide chips een 32kHz kristal willen. Buiten de dubbele kostprijs, neemt het ook dubbel ruimte in (bord is vrij klein en 32khz kristallen zijn vrij groot).

Ik kom wel wat ideeën tegen om met 1 kristal 2 chips aan te sturen, maar veel oplossingen zijn volgens mij vooral een beunwerkje dat toevallig werkt. Het gaat hier wel om een product dat de wereld in gaat. Het moet dus wel fatsoenlijk worden.

Is dat realistisch?, of zijn eigenlijk alle oplossingen hiervoor suboptimaal en moet ik gewoon door de zure appel heen bijten voor een 2e xtal?

Die vorkkristallen bij low-power ic's zijn zeer gevoelig (een scoop probe is al genoeg om ze af te laten slaan).
Ik zou er zeker geen 2 ic's aan hangen...

Wat is groot? Een ABS06 kristal van Abracon is 0805 (2 x 1.2 mm)

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

Special Member

Ik herinner me uit datasheets dat bij veel chips, 1 van de kristalaansluitingen ook als input kan dienen. Mogelijk volstaat het om die door te verbinden naar de andere chip. Ik denk dat het nogal kan verschillen per chip, maar kan me slecht voorstellen dat er niets in datasheets of appnotes staat. In het slechtste geval moet je rond een single inverter een oscillatortje bouwen en de uitgang daarvan gebruiken.

[Bericht gewijzigd door maartenbakker op 22 januari 2020 14:15:57 (16%)]

"The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Op 22 januari 2020 14:13:15 schreef Arco:
Wat is groot? Een ABS06 kristal van Abracom is 0805 (2 x 1.2 mm)

Oh, dat valt mee inderdaad. Dacht dat die dingen altijd redelijk vast lagen kwa maat door de benodigde fysieke afmeting van het kristal. (de meeste zijn ook grofweg hetzelfde formaat, het zij in verschillende bouwvormen).

Op 22 januari 2020 14:14:52 schreef maartenbakker:
Ik herinner me uit datasheets dat bij veel chips, 1 van de kristalaansluitingen ook als input kan dienen. Mogelijk volstaat het om die door te verbinden naar de andere chip. Ik denk dat het nogal kan verschillen per chip, maar kan me slecht voorstellen dat er niets in datasheets of appnotes staat. In het slechtste geval moet je rond een single inverter een oscillatortje bouwen en de uitgang daarvan gebruiken.

Ja dat heb ik inderdaad ook gevonden. Alleen tot nu toe nog geen bevestiging van gehad bij RTC datasheets. Wat natuurlijk ook niet meehelpt is dat de CPU stroomloos is terwijl de RTC wel loopt. Dat zal het niet beter maken.

Nee, je wilt geen signaal op een pin zetten van een CPU die geen voeding heeft.

Waarom heeft die NXP CPU ook een 32kHz kristal nodig, als je toch een externe RTC gebruikt? Loopt die CPU gewoonlijk niet op een veel hogere frequentie, en dus op een eigen kristal?

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

Maarten heeft gelijk: 1 van de pins is "output". Maar Arco ook: Bij die low-power dingen hangt de boel op bijvoorbeeld "7pF" capaciteit naar aarde. Dan is de ingangscapaciteit van "ongeveer 5-10pF" ineens belangrijk om mee te nemen.

Als je CPU uit staat, dan is ook nog de vraag of die ingangscapaciteit nog wel geldt. Het zou zomaar kunnen dat je max 0.6V op die pin kan zetten voordat de protectiediode naar VCC in geleiding gaat. Dan trekt je CPU dus de hele oscilator naar z'n grootje.

Mijn eerste vraag is: Heb je de 32kHz nodig in je CPU. Nu je een externe RTC hebt, waarom nog de interne RTC aan de gang houden? Gewoon helemaal overschakelen op de externe RTC! Of... waarom kan dat niet?

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

Op 22 januari 2020 14:38:59 schreef SparkyGSX:
Nee, je wilt geen signaal op een pin zetten van een CPU die geen voeding heeft.

Op 22 januari 2020 14:44:16 schreef rew:
Als je CPU uit staat, dan is ook nog de vraag of die ingangscapaciteit nog wel geldt. Het zou zomaar kunnen dat je max 0.6V op die pin kan zetten voordat de protectiediode naar VCC in geleiding gaat. Dan trekt je CPU dus de hele oscilator naar z'n grootje.

Beetje waar ik al mee zat. Maar dat wordt gewoon te houtje-touwtje, als het al werkt.

Dan moeten het gewoon 2 stuks kristallen worden.

Op 22 januari 2020 14:44:16 schreef rew:
Mijn eerste vraag is: Heb je de 32kHz nodig in je CPU. Nu je een externe RTC hebt, waarom nog de interne RTC aan de gang houden? Gewoon helemaal overschakelen op de externe RTC! Of... waarom kan dat niet?

Op 22 januari 2020 14:38:59 schreef SparkyGSX:
Waarom heeft die NXP CPU ook een 32kHz kristal nodig, als je toch een externe RTC gebruikt? Loopt die CPU gewoonlijk niet op een veel hogere frequentie, en dus op een eigen kristal?

Hij heet inderdaad ook nog een 25MHz kristal. Maar de 32kHz is helaas vereist. Die draait de interne RTC, secure storage en wat langzaam spul. Ben er inmiddels ook achter dat de cpu gewoon niet boot zonder die 32kHz.

In het originele datasheet staat dat het kan, maar dit is/wordt gerectificeerd. (kwam een forum vraag van iemand tegen die het probeerde zonder 32KHz, deed niks, datasheet was fout).

Edit:
Alternatieve optie zou ook nog een RTC met clock out zijn. Kon ze in eerste instantie niet vinden. Maar oa de NXP PCF85063A heeft het.
programmeerbare clock out met enable lijntje (kan dus netjes opkomen met de cpu voeding).

Je kunt ook een echte oscillator nemen met TTL/CMOS output, die kunt je best koppelen, ik gebruik deze https://nl.mouser.com/ProductDetail/ABRACON/ASE-147456MHZ-LC-T?qs=sGAE… voor I2C naar UART chips en knoop er zo 3 of 4 aan één controller. Wel opletten dat de lijnen niet te lang worden.

Voorbeeld is een 14.7456 MHz maar er zijn er uiteraard ook andere in te vinden. Als ze er niet in jouw frequentie zijn dan kun je het signaal uit het kristal natuurlijk ook bufferen en vervolgens distribueren.

[Bericht gewijzigd door Antoine op 22 januari 2020 16:57:47 (23%)]

Maar het idee is dat het zuinig moet. Dit soort losse units zijn nooit zo zuinig als een RTC chip.

timberleek, De kans dat NXP een CPU heeft gemaakt die de 32kHz echt nodig heeft is VEEL kleiner dan de kans dat jij een fout hebt gemaakt en het ding zo geprogrammeerd hebt dat ie vastloopt bij het booten als de 32kHz er niet is.

Ik denk dat er ergens een "zet de externe 32kHz aan en wacht totdat het werkt" in zit. Dan boot ie niet als die er niet is.

Update: hmmmm... 't zou best wel eens kunnen dat die NXP inderdaad 32kHz echt nodig heeft. Raaarrrrrrr....

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

of je neemt een rtc met interne oscillator.
IS wel stuk duurder waarschijnlijk. Wellicht heb je er ook nog 1 met clockout, dan heb je zelfs ruimte bespaart ;)
https://nl.mouser.com/datasheet/2/530/RV-8803-C7-1023018.pdf
prijs technisch vast niet interessant. Maar heeft wel clockout en is 3 ppm over een temp bereik van -4-85 graden

[Bericht gewijzigd door Stijnos op 23 januari 2020 09:59:50 (37%)]

Ik zou gewoon een extra kristal gebruiken, dan weet je waar je aan toe bent... (met aan elkaar koppelen weet je nooit zeker wat er gebeurt.)
Het kan best zijn dat de stroomloze processor excessief veel belasting vormt voor de oscillator. (Een vorkkristal kan vaak minder als 1µW leveren)

Een kristal als de ABS06-107-32.768KHz-T van Abracon heeft zelfs geen externe capaciteiten extra nodig. (gebruikt wel maar liefst 2.4mm2 printoppervlak... ;) )

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

Special Member

Die PCF85063 klinkt eigenlijk wel als een goede oplossing.

"The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Op 22 januari 2020 16:56:19 schreef Antoine:
Je kunt ook een echte oscillator nemen met TTL/CMOS output, die kunt je best koppelen
Als ze er niet in jouw frequentie zijn dan kun je het signaal uit het kristal natuurlijk ook bufferen en vervolgens distribueren.

Voor de cpu had dit inderdaad gekund, maar voor de RTC verbruikt dat veel te veel energie. We praten over <1uA als doel.

timberleek, De kans dat NXP een CPU heeft gemaakt die de 32kHz echt nodig heeft is VEEL kleiner dan de kans dat jij een fout hebt gemaakt en het ding zo geprogrammeerd hebt dat ie vastloopt bij het booten als de 32kHz er niet is.

Ik denk dat er ergens een "zet de externe 32kHz aan en wacht totdat het werkt" in zit. Dan boot ie niet als die er niet is.

Update: hmmmm... 't zou best wel eens kunnen dat die NXP inderdaad 32kHz echt nodig heeft. Raaarrrrrrr....

Ik heb het niet getest. Heb alleen gezocht en gelezen op het NXP forum. Denk dat de hoofdreden is dat een deel van de security en tamper functionaliteit hierop draait.

Maar, lang verhaal kort heb ik nog wat rondgesnuffeld. RTC's met clkout zijn niet zo obscuur al gedacht. Heb inmiddels een lijstje van 20 types, oa van NXP, microchip en dergelijke.

Allemaal <1uA verbruik en de meeste <€0.70 (excl kristal).
Onder voorbehoud van verkrijgbaarheid in de komende jaren (moet ik nog even nakijken) lijkt de NXP PCF8523 best interessant.
150nA, €0.54, batt low detection (is verrassend zeldzaam, zal misschien moeilijk zuinig te maken zijn).
Een aantal Microchip en andere NXP RTC's houden ook timestamps bij van powerdown en powerup (van de normale vcc), dat is ook wel interessant.

Maar de uiteindelijke keuze zal ik jullie niet mee vervelen.

Helaas dacht ik ook onterecht dat de CPU en ethernet phy dezelfde frequentie nodig hadden. MAar het is 24 en 25/50 MHZ. Net jammer.