DS1302 RTC vraag

fred101

Golden Member

https://datasheets.maximintegrated.com/en/ds/DS1302.pdf

Deze zit in een apparaat wat ik moet repareren. Ik kwam er achter dat hij niet oscilleert. (Er zit zo'n horloge Xtal aan)
Maart nu komt het vreemde. Het ding heeft een Vcc1 en een Vcc2. Aan 1 zit de oplaadbare batterij, Vcc2 is de hoofdvoeding. Maar er staat 0V op Vcc2. Zal wel stuk zijn dacht ik.

En nu het vreemde, op het PCB hangt Vcc2 direct aan massa by design (zo zit het dus op elk apparaat vanuit de fabriek, het is geen fout in het apparaat waar ik mee bezig ben).

Is hij kapot en oscilleert daarom niet, heeft hij geen Vcc2 nodig om te oscilleren, of zie ik iets over het hoofd.

Het is een thermometer, er was een regelaar kapot waardoor er 7V op het analoge circuit stond waarin de meeste onderdelen max 5.5V mogen hebben. Er was een aantal ICs kapot, nu is alles wat ik los kon testen getest en de rest in situ. Ik meet signaal op de nieuwe ADC, er komt data uit. Deze komt ook aan bij de processor. Een andere 8031 als testje geeft de zelfde fout. Namelijk, hij geeft alleen maar 880 graden aan en zegt >400 ohm te zien (goede PT100 aangesloten) Daarom heb ik eerst alleen analoog alles zitten testen en ben nu aan de digitale kant bezig. De adc gaat via een opto naar het digitale circuit.

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs

Primary Power-Supply Pin in Dual Supply Configuration. VCC1 is connected to a backup source to maintain the time and date in the absence of primary power. The DS1302 operates from the larger of VCC1 or VCC2. When VCC2 is greater than VCC1 + 0.2V, VCC2 powers the DS1302. When VCC2 is less than VCC1, VCC1 powers the DS1302.

blackdog

Golden Member

Hi Fred,

Vcc2 is de normale voeding als je ook een batterij/supercap gebruikt die een beetje geladen kan worden welke dan aan Vcc1 hangt.
Via een register setting kan je de laadstroom kiezen als er via Vcc2 gevoed wordt.

Het IC werkt ook in een "Low Power" mode als er alleen voeding op Vcc1 staat.

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.
EricP

mét CE

In de datasheet waar je zelf naar linkt:
Vcc1: Low-power operation in single supply and [...]. Het klinkt dus niet zo heel raar. Overigens denk ik vrij zeker te weten dat dat chippie het gewoon doet zonder dat het Xtal loopt. Als in: je kunt er mee kletsen. Dat de tijd niet correct is, lijkt me evident.

Er zit wat RAM in. Dat zou zomaar gebruikt kunnen worden voor settings.

Voordat je je op dit ding blind staart: kijk ff of er uberhaupt tegen aan gekletst wordt. Combinatie van clock en nCE.

Kijk ff wat de output van je ADC bij 880 graden zou moeten zijn (gewoon, in de datasheet...). Best kans dat er ergens een (protectie) diode is gaan hemelen, waardoor er ergens iets nu 'altijd 1' of 'altijd 0' is.

fred101

Golden Member

Ik heb daar compleet overheen gelezen. Ik werd op het verkeerde been gezet omdat hij ook niet oscilleert (ook niet met ander Xtal) Als dat niet hoefde, dan neem ik aan dat ze het xtal wel hadden weg gelaten. Verder wordt er wel tegen aan gekletst. Het overschakelen naar batterijspanning werkt wel. Ik denk ook niet dat het hoofdprobleem daar zit, maar goed is het ook niet.

Vond net nog iets. Er zit een piggyback board achter de inputs waar de thermocouple inputs op zitten. Daarom daar niet verder naar gekeken, de meter wordt alleen met PT100 gebruikt. Daar zit ook een messing buisje met daarom isolatie en daaromheen een spoeltje. Dat blijkt een weerstand te zijn. En die blijkt precies 407 ohm te zijn en gaat naar de hoofdprint via optos naar het pt100 circuit. Oftewel de >400 ohm die de display aangeeft zou dat wel eens kunnen zijn. Ik ga die eens vervangen door een potmeter om te kijken of de display dan mee verandert. Zo ja dan zit het ergens in het schakel gebeuren. Ik denk dat ik daar wel in de goede hoek zit want als ik het board weglaat dan geeft hij even 0.0 graden aan en daarna dat er een aansluit fout is mbt de pt100 aan. Dat board doet dus wel wat voor de pt100 mode. Verder zitten er alleen 4 optos en een latch op die de relais bestuurd.

Maar dat klopt niet met dit: Hij ziet de pt100 wel, als ik een decade ipv de pt100 pak en die verdraai dan zie ik de input van de ADC mee variëren.
Het gaat via 2 chopperamps en een LTC1043 en nog 2 gewone opamps naar de ADC. Maar er gaat dus ook in dat circuit naar die 400 ohm. Hij heeft 2 kanalen, beide reageren het zelfde. Bij overschakelen klikken de relais om. Er loopt trouwens ook een realistische meetstroom door de pt100s. De Vref is ook goed.

De input van de ADC is een soort 3 trap blokgolf met eerst een 5V piek, dan een even lange periode die in amplitude lineair mee verandert met de weerstand van de decade (ipv pt100) Daarna een even lange periode 0V.

De output van de ADC zijn 24 bits en het ding wordt op 3 lijnen bestuurd.
Ik heb een LA er aangehad maar ik kon er niks van maken. Bij de oude waren er veel runts en vervormingen, nu bij de nieuwe zijn het hele strakke pulsen.

Ook zag ik net toevallig dat de adc output soms wegvalt. Als ik dan een tik op de printplaat geef gaat de ADC meestal weer "aan" Andersom ook, kloppen lijkt hem ook te soms te laten afslaan.

De display stond eerst strak op 1 waarde, nu met de nieuwe ADC loopt hij wat op en neer (zo'n 1 tot 10 graden)

Dat kloppen is meestal een teken dat er iets mechanisch verkeert zit. De eigenaar vertelde dat het ding voor hij dit permanent fout deed, het af en toe dit al deed maar steeds vaker en langer. Hij dacht de accus en had die vervangen. Daarna deed hij het nog niet. Zou kunnen dat hij daar iets heeft om gedraaid wat die regelaar heeft vermoord en al die schade dus niets met de oorspronkelijke klacht te maken heeft. Ik heb alle traces, solderingen etc als eerste al onder de microscoop gehad en dat zag er allemaal goed uit.

Iets wat ik niet zeker weet. De ADC heeft een 10 MHz Xtal. Dat draait wel maar het is 1Vpp op 2,5Vdc. Kan dat kloppen ? De processor draait gewoon 5Vpp. En ik kan me van andere circuits geen DC offset herinneren. In de datasheet wordt het ook nergens gespecificeerd (maar ik zal dat nogmaals lezen na de blunder met de RTC :-) De oude ADC deed precies het zelfde dus dat zal dan wel goed zijn.

Meestal maakt het me niet uit maar bij dit soort gevallen mis ik echt schemas en service documentatie.

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs
EricP

mét CE

Dat die 1302 niks op z'n Xtal laat zien, is op zich natuurlijk niet correct. Maar het zegt niet (direct) wat over wat het chippie doet - de RTC is redelijk onafhankelijk van de RAM. En uiteraard hoort er wel enig leven te zijn (ik neem aan dat ik je niet hoef uit te leggen dat de input van een dergelijke oscillator niet veel nodig heeft om van slag te zijn, en dat je dus beide pins van het Xtal ff moet prikken om te kijken of er leven is). Het zou wel een indicatie kunnen zijn dat er rottigheid in dat chippie zit. Waarbij als het Xtal wel 'tikt' er geen garantie is dat het 'goed' is. Echter, het feit dat een RTC niet mee speelt, is normaal gesproken geen reden voor verkeerde meet resultaten... (wel voor verkeerde time stamps).

De rottigheid zou zich ook uit kunnen strekken tot de RAM. Het is ff koffiedik kijken, maar... als je er nou eens vanuit gaat dat daar settings in staan... de firmware 'ziet' dat er bagger uit komt (een CRC die niet klopt ofzo) en besluit 'factory defaults' te schrijven, daarna nog een keer te lezen en daarmee aan het werk te gaan... Dan zouden de setting 'bagger' kunnen zijn. Nogmaals: aangenomen dat er settings in staan... Maar wel een beetje ver gezocht...

Als je het zeker wilt weten, dan zul je met een LA moeten kijken hoe het vraag & antwoord spel in elkaar zit. Ik zou er een andere 1302 in douwen (kosten ook niet de wereld en een uur analyseren kost zeker meer). Al zouden ze 7V moeten kunnen hebben volgens hun eigen datasheet.

Een DC offset op een xtal... ik zie er zo 1-2-3 geen kwaad in. 'Rail to rail' is vaak toch al niet leuk, als het maar oscilleert, dan is er makkelijk een klok uit te halen.

Missers met datasheet (of manuals) lezen... Join the club! (ooit eens met een collega samen 3 dagen gezocht naar wat commandline parameters van een tool... 'Dit moet toch kunnen'... Uiteindelijk eens wat rondgevraagd... komt er een ander gewoon met de handleiding aan zetten waar letterlijk in staat wat we zochten. Hmz... Ja... Beiden dus volkomen overheen gelezen (en dan in de weekly: het goede nieuws is dat we het draaiend hebben. Het slechte nieuws is dat het 5 mandagen meer gekost heeft dan nodig was geweest...)

Verder lees ik weer met interesse mee...

Arco

Special Member

Bij opstarten van de chip is het random of de oscillator aan of uit staat. Bit 7 van het secondenregister moet altijd gecleared worden eerst.

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