MCP7940 RTC
MCP7940 RTC
Hej
Håller på med en RTC: MCP7940. Har dock fått problem att få backup av tid vid strömavbrott att fungera.
RTCn fungerar bra och jag kan läsa tiden och ställa in ny tid mha I2C protokollet.
Om VCC går under ca 1.5 så sätts en etta i ett visst register adress 03h bit 4 (som visar att VCC har varit för låg) samt en registergrupp laddas med ett time stamp för "strömavbrottet" och ett annat laddas med ett time stamp när VCC når över 1.5 V igen.
Vad jag förstått så skall man kunna läsa time stamp efter ett strömavbrott och enligt databladet så skall register 03h bit 4 nu gått hög. När man sedan sätter en nolla i samma register (efter att ha läst time stamp) så raderas time stamp registren och man kan lagra ett nytt time stamp.
Problemet är att register 03h bit 4 är låg när jag testat att stänga av spänningen till uProcessorn + MCP7940 och det är ingen data i time stamp registren.
Undrar om det är någon som har direkt erfarenhet av detta.
/Andreas
Håller på med en RTC: MCP7940. Har dock fått problem att få backup av tid vid strömavbrott att fungera.
RTCn fungerar bra och jag kan läsa tiden och ställa in ny tid mha I2C protokollet.
Om VCC går under ca 1.5 så sätts en etta i ett visst register adress 03h bit 4 (som visar att VCC har varit för låg) samt en registergrupp laddas med ett time stamp för "strömavbrottet" och ett annat laddas med ett time stamp när VCC når över 1.5 V igen.
Vad jag förstått så skall man kunna läsa time stamp efter ett strömavbrott och enligt databladet så skall register 03h bit 4 nu gått hög. När man sedan sätter en nolla i samma register (efter att ha läst time stamp) så raderas time stamp registren och man kan lagra ett nytt time stamp.
Problemet är att register 03h bit 4 är låg när jag testat att stänga av spänningen till uProcessorn + MCP7940 och det är ingen data i time stamp registren.
Undrar om det är någon som har direkt erfarenhet av detta.
/Andreas
Re: MCP7940 RTC
Har en lithiumcell 3V kopplad direkt till pin 3 VBAT.
VBATEN bit 3 reg 03h är satt (av mig) för att enabla externt batteri.
bit 4 PWRFAIL: Power Failure Status bit
1 = Primary power was lost and the power-fail time-stamp registers have been loaded (must be
cleared in software). Clearing this bit resets the power-fail time-stamp registers to ‘0’.
0 = Primary power has not been lost
bit 3 VBATEN: External Battery Backup Supply (VBAT) Enable bit
1 = VBAT input is enabled
0 = VBAT input is disabled
VBATEN bit 3 reg 03h är satt (av mig) för att enabla externt batteri.
bit 4 PWRFAIL: Power Failure Status bit
1 = Primary power was lost and the power-fail time-stamp registers have been loaded (must be
cleared in software). Clearing this bit resets the power-fail time-stamp registers to ‘0’.
0 = Primary power has not been lost
bit 3 VBATEN: External Battery Backup Supply (VBAT) Enable bit
1 = VBAT input is enabled
0 = VBAT input is disabled
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: MCP7940 RTC
Är det MCP7940N du har?
Tror inte det gör någon skillnad men sätter du RTCWKDAY.PWRFAIL till 0 vid initieringen av RTC:n? Om inte, gör det någon skillnad om du testar?
(OBS. Nybörjare och har aldrig använt en RTC...)
Tror inte det gör någon skillnad men sätter du RTCWKDAY.PWRFAIL till 0 vid initieringen av RTC:n? Om inte, gör det någon skillnad om du testar?
(OBS. Nybörjare och har aldrig använt en RTC...)
Re: MCP7940 RTC
Har samma tankte som Magnus ang. att skriva "0" för bit 4 för register 0x03 vid initiering
Antar också att det är MCP7940N
Har inte använt denna RTC så det är bara en gissning.
Antar också att det är MCP7940N

Har inte använt denna RTC så det är bara en gissning.
Re: MCP7940 RTC
Det är en MCP7940N.
Läser man databladet så verkar det ju som om RTCC registren skall vara intakta efter ett strömavbrott (om man har backupbatteri), enligt det skäll man inte behöva läsa time stamp (vad jag förstår). RTCC registren innehåller ju all information (hh:mm:sec + datum). Som det är nu nollas alla register vid strömavbrott. Är väl antagligen nån bit som inte är satt någonstans.
Angående RTCWKDAY.PWRFAIL så är den 0 efter strömavbrott. Den borde vara 1. Jag initialiserar den med 0.
3.5 Backup Supply (VBAT)
This is the input for a backup supply to maintain the
RTCC and SRAM registers during the time when VCC
is unavailable.
If the battery backup feature is not being used, the
VBAT pin should be connected to VSS.
5.7 Battery Backup
The MCP7940N features a backup power supply input
(VBAT) that can be used to provide power to the timekeeping
circuitry, RTCC registers, and SRAM while primary
power is unavailable. The MCP7940N will
automatically switch to backup power when VCC falls
below VTRIP, and back to VCC when it is above VTRIP.
The VBATEN bit must be set to enable the VBAT input.
The following functionality is maintained while operating
on backup power:
• Timekeeping
• Alarms
• Alarm Output
• Digital Trimming
• RTCC Register and SRAM Contents
The following features are not available while operating
on backup power:
• I2C Communication
• Square Wave Clock Output
• General Purpose Output
Läser man databladet så verkar det ju som om RTCC registren skall vara intakta efter ett strömavbrott (om man har backupbatteri), enligt det skäll man inte behöva läsa time stamp (vad jag förstår). RTCC registren innehåller ju all information (hh:mm:sec + datum). Som det är nu nollas alla register vid strömavbrott. Är väl antagligen nån bit som inte är satt någonstans.
Angående RTCWKDAY.PWRFAIL så är den 0 efter strömavbrott. Den borde vara 1. Jag initialiserar den med 0.
3.5 Backup Supply (VBAT)
This is the input for a backup supply to maintain the
RTCC and SRAM registers during the time when VCC
is unavailable.
If the battery backup feature is not being used, the
VBAT pin should be connected to VSS.
5.7 Battery Backup
The MCP7940N features a backup power supply input
(VBAT) that can be used to provide power to the timekeeping
circuitry, RTCC registers, and SRAM while primary
power is unavailable. The MCP7940N will
automatically switch to backup power when VCC falls
below VTRIP, and back to VCC when it is above VTRIP.
The VBATEN bit must be set to enable the VBAT input.
The following functionality is maintained while operating
on backup power:
• Timekeeping
• Alarms
• Alarm Output
• Digital Trimming
• RTCC Register and SRAM Contents
The following features are not available while operating
on backup power:
• I2C Communication
• Square Wave Clock Output
• General Purpose Output
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: MCP7940 RTC
Kan inte klura ut vad som kan vara fel.
Lite knepigt att den inte verkar fatta att du har VBAT aktiverat och inte heller sparar undan registren utan nollar dom.
Nedan kommer lite långskott innan någon annan, mer kunnig person ger sitt utlåtande. Om inte annat så kanske någon fråga kan leda dig i rätt riktning.
Svara om du orkar:
Lite knepigt att den inte verkar fatta att du har VBAT aktiverat och inte heller sparar undan registren utan nollar dom.
Nedan kommer lite långskott innan någon annan, mer kunnig person ger sitt utlåtande. Om inte annat så kanske någon fråga kan leda dig i rätt riktning.
Svara om du orkar:
- - Har du chans att visa uppkopplingen?
- - Inga stora elyter eller annat som kan hålla uppe spänningen fastän du bryter matningen? Ser tex att du ska ha en konding på Vcc (vilket jag misstänker är avkoppling).
- - Om extern, hur ser den kopplingen ut?
- Om intern, är denna konfigurerad korrekt?
- Har du fler IC? Kan den vara defekt?
Re: MCP7940 RTC
Kollade lite på +5V med osc vid spänningstillslag och såg att den fladdrade ganska mycket i startögonblicket. Det är en testuppkoppling på kopplingsdäck och en batt eliminator. När jag kopplade in ett riktigt PS så såg det bra ut. Får kolla lite mer imorgon...
- Magnus_K
- EF Sponsor
- Inlägg: 5854
- Blev medlem: 4 januari 2010, 17:53:25
- Ort: Skogen mellan Uppsala-Gävle
Re: MCP7940 RTC
Ah, ja du kanske är något på spåret där!
Du kan ju alltid prova att mata RTC:n med batteri på Vcc:n också för att kanske utesluta den delen.
Vem vet, avkopplingen dom visar på Vcc under "Typical Application" kanske är viktigare än man tror...
Lycka till!
Du kan ju alltid prova att mata RTC:n med batteri på Vcc:n också för att kanske utesluta den delen.
Vem vet, avkopplingen dom visar på Vcc under "Typical Application" kanske är viktigare än man tror...
Lycka till!
Re: MCP7940 RTC
graan skrev:Angående RTCWKDAY.PWRFAIL så är den 0 efter strömavbrott. Den borde vara 1. Jag initialiserar den med 0.
En kanske dum fråga men när du gör den strömlös, gör du även MCU:n strömlös eller bara MCP7940N IC:n?
Det jag tänker på är ifall du kör din init-rutin efter att du simulerat ett strömavbrott. Antagligen har du iaf så pass bra koll men jag kommer inte på något annat.
Re: MCP7940 RTC
> Vem vet, avkopplingen dom visar på Vcc under "Typical Application" kanske är viktigare än man tror...
Varför ställer du den frågan över huvudtaget?
Finns ju ingen som helst anledning att fundera
på om det är viktigt eller inte...
Varför ställer du den frågan över huvudtaget?
Finns ju ingen som helst anledning att fundera
på om det är viktigt eller inte...
Re: MCP7940 RTC
Har nu testat diverse konfigurationer och varit inne på olika forum och det verkar inte som om batteribackupen fungerar på MCP7940N. Har sett ett antal poster där de har samma problem som mig och har inte sett något exempel på att det fungerar. Från Microchip Forum http://www.microchip.com/forums/m657683.aspx
Verkar dock som om MCP7940M fungerar med batteribackupen.
Enligt databladet skall det ju fungera med MCP7940N. Hmmmmm...
Verkar dock som om MCP7940M fungerar med batteribackupen.
Enligt databladet skall det ju fungera med MCP7940N. Hmmmmm...