kategorier: Mikrokontrollkretser
Antall visninger: 3195
Kommentarer til artikkelen: 0

RTC Real-Time Clock Chips - Formål, typer og eksempler på bruk

 

For å utføre alle oppgaver relatert til automatisering, må du ofte telle bestemte tidsintervaller. Noen ganger gjøres dette ved å telle et visst antall perioder av klokken eller maskinsykler.

Selv om de følger med på en gitt frekvens og som oftest er avhengige av kvartsresonatoren, når de utfører operasjoner i sanntid, og spesielt hvis de er bundet til tidspunktet på døgnet, skifter de i tid. For å løse dette problemet, bruk sanntids klokke eller RTC-brikker.


Hva er dette?

RTC (sanntidsklokke, russisk sanntidsklokke) er en type mikrokrets som er beregnet på å telle tid i “virkelige” enheter (sekunder, minutter, timer osv.).

De er avhengige av strømkilden, som enten kan være ekstern, i form av et utskiftbart batteri eller et litiumbatteri, eller integrert i mikrokretshuset (se bildet nedenfor). Klokkesignaler for tidsrapportering kan fås fra en ekstern kvartsresonator, og sjeldnere - fra strømforsyningsnettverket.

Lesens nøyaktighet avhenger av kvaliteten og innstillingsnøyaktigheten til den interne oscillatoren eller den eksterne krystalloscillatoren. Samtidig er nøyaktigheten til henholdsvis kvarts og RTC indikert ikke i hertz og ikke i prosent, men i "ppm", for eksempel ± 12 ppm, ± 50 ppm. Dette står for deler per million, det vil si antall deler per million av en viss gjennomsnittsverdi.

RTC Real Time Clock Chip

Klokke i sanntid kan implementeres på basis av mikrokontrollere, men bruk av spesielle brikker kan redusere strømforbruket, siden de fleste mikrokontrollere selv i hvilemodus (eller lav strømmodus) bruker mer strøm enn spesielle integrerte kretsløp (IC). RTCer kan også integreres i selve mikrokontrolleren (som i STM32).

Det er takket være sanntidsur på datamaskinen din at klokkeslettet og datoen etter at den er koblet fra nettverket ikke går av. I dette tilfellet fungerer de fra CR2032-batteriet som er installert i kontakten på hovedkortet, den mater også BIOS-brikken slik at innstillingene som er satt i den ikke går tapt.

RTC-brikke med innebygd batteri

klassifisering

Klassifiseringen av RTC-brikker kan variere fra produsent til produsent. De vanligste sanntidsklokkene fra slike produsenter som: Maxim Integrated og STMicroelectronics. Det er mikrobrikker på markedet fra andre selskaper:

  • Intersil Corporation (DC Renesas Electronics);

  • Cymbet (EnerChip ™ RTC-linje, særtrekk - innebygd solid state-batteri);

  • NXP (RTC med kalender, støtte I2C- eller SPI-protokoller)

  • Zilog;

  • Epson;

  • PÅ halvleder.

Klokkemodul i sanntid med DS1307-brikke

Maxim Integrated bruker typen kontrollgrensesnitt som hovedkriterium for klassifisering av RTC-brikker, nemlig:

1. RTC-brikker med et seriell kontrollgrensesnitt: I2C, 3-leder, SPI.

2. Med et parallelt kontrollgrensesnitt:

  • med multiplekset adresse / databuss;

  • med delt adresse og databusser;

  • med 1-leder enkeltrådsgrensesnitt.

Modul for sanntidsklokke

Du kan også klassifisere etter datapresentasjonsformat:

  • Kalender. I form av en mal YY-MM-DD for dato og HH-MM-SS for tid, tid og deres andre formater;

  • Binary. I form av en kontinuerlig binær teller av tidsenheter (sekunder eller deres brøk).

Avhengig av formålet med mikrokretsen i enhetens krets og dens type er valgt, hvis IC med en kalenderrepresentasjon, vil den fungere som en normal klokke, og i tilfelle av en binær, for applikasjoner som rapporter om tidsperioder, for eksempel lisensgyldighetsperiode, garantiperiode eller enheter for å registrere noe (for eksempel elektriske målere), for eksempel i Maxim Integrated-katalogen kalles de “Elapsed Time Counter” - den forløpne tidstelleren, et eksempel på en slik IC er DS1683.

I andre tilfeller kan sanntids klokke-mikrokretser klassifiseres etter funksjonalitet eller andre egenskaper:

  • Tilstedeværelsen av en innebygd generator eller det er nødvendig å bruke en ekstern generator (kvarts).

  • Ved tilstedeværelse av en innebygd strømkilde eller muligheten for å bruke et eksternt batteri.

  • Etter type og størrelse på internt minne og kommunikasjonsprotokoller med den "eksterne" verden (beskrevet ovenfor).

  • Ved tilstedeværelse av et fantomgrensesnitt (fantom) for å få tilgang til de interne registerene til mikrokretsen (for innstilling, innstillingsmodus eller leseverdier).

  • Andre funksjoner: vakthund, alarm, andre avkjørsler, strømkontroll, evnen til å lade et eksternt batteri, etc.

Og til slutt klassifiserer mange produsenter enhetene sine i henhold til energiforbruket, i gjennomsnitt varierer dagens forbruk fra 200 til 1500 nA, men kan komme ut av dette området avhengig av den spesifikke IC og produsenten.


Amatørradio

Klokker i sanntid brukes ofte i forbindelse med så populære utviklings- og prototypeplattformer som Arduino-familien, og når du utvikler enheter på andre mikrokontrollere, så vel som Raspberry Pi-mikrodatamaskiner og lignende.

Bruken av RTC-brikker i amatørradio

I dag produserer industrien moduler med RTC, i form av et separat kretskort eller skjold. Fordelen med denne typen moduler er at det ikke er behov for å spre brettet og lodde av mikrokretsen, selen, batteriholderen og så videre.

De er praktiske å bruke både til ferdige enheter og til mock-ups - du kan bruke hoppere med plugger og kontakter som Dupont, hvis du installerer en kam på modulen for å koble dem, eller lodde ledningene direkte til nikklene på brettet (se - Tips for å raskt sette sammen kretskort på brødplater).

Moduler med RTC

Blant arduino og moderne hjemmelagde produsenter er de mest brukte Maxim Integrated sanntids klokkemikrokretser og moduler basert på dem, nemlig:

  • DS1302;

  • DS1307;

  • DS3231.

Forskjellene deres er vist i tabellen nedenfor.

Funksjoner på DS1302, DS1307 og DS3231 Chips

Som du ser, kommuniserer alle sammen med mikrokontrolleren via I2C-bussen og DS1302 via SPI, selv om databladet sier "et enkelt seriell grensesnitt med 3 ledninger som passer for de fleste mikrokontrollere." Og det kan ikke bare koble til til 10-13 pins Arduinosom pinnene er tildelt SPI, men også de andre som er installert i skissen, vil kretsene være lavere. Datasett for disse IC-ene med alle tekniske data er knyttet til artikkelen.

Dataark for sanntidschips:

Arduino UNO støtter begge disse protokollene, som du kan se i diagrammet nedenfor (merket med henholdsvis lilla og grått for henholdsvis SPI og I2C).

Arduino uno

Som bringebær-pi.

Bringebær pi

Dette betyr at du kan bruke hvilken som helst av disse modulene fra hver plattform. Du kan se de eksterne forskjellene til modulene i illustrasjonen nedenfor, men utformingen av tavlen kan være forskjellig, se på IC-merkingen.

For at Arduino skal fungere med RTC, trenger du et bibliotek, men siden det ikke er i standard Arduino IDE-pakken, må du laste ned det. Det er biblioteker i nettverket for hver av de betraktede IC-ene, og det er universelle biblioteker som du kan velge og hvilken som vil være mer praktisk for deg å bestemme.

Universelt bibliotek vedlagt - iarduino_rtc.zip. Merk at IC-typen er satt manuelt inn i den, og for DS1302 konklusjonene den er koblet til:

inkluderer // Koble til biblioteket
iarduino_RTC-tid (RTC_DS3231); // Opprett et tidsobjekt for DS3231 IC
iarduino_RTC-tid (RTC_DS1307); // FOR DS1307
iarduino_RTC-tid (RTC_DS1302, RST, CLK, DAT); // for DS1302.
// I stedet for RST, CLK og DAT, antallet av arduino-pinnene,
// som de tilsvarende pinnene på klokkemodulen er koblet til

Diagram for DS1302, husker nok en gang at konklusjonene kan være forskjellige:

Tilkoblingsskjema DS1302 til Arduino

Men datalinjen DS1307 og DS3231 kobles bare til A5- og A4-pinnene til Arduino UNO (for andre revisjoner og versjoner av brettet, se pinout).

RTC til Arduino tilkoblingsskjema
RTC til Arduino tilkoblingsskjema

konklusjon

Klokker i sanntid lar deg lage prosjekter der alle prosesser må starte etter en plan. I nesten ethvert relativt komplekst prosjekt for praktisk bruk er det et slikt behov; det spiller ingen rolle om det er et automatisk vanningssystem for planter eller et prosesskontrollsystem i produksjon.

På grunn av de lave kostnadene ved deler og enkelheten ved tilkobling og programmering, kan hvem som helst nå implementere slike systemer uten engang å ha inngående kunnskap innen elektronikk og mikrokontrollere. Men dette betyr ikke at siden det er arduino med sin iboende enkelhet, så er det ikke nødvendig å studere programvaren og maskinvaren. Tvert imot, kunnskap om jern og kodestruktur vil tillate deg å lage raskere og mer komplekse programmer, som samtidig tar mindre plass.

Se også på elektrohomepro.com:

  • Hva er Nextion-skjermer og hvordan du kan jobbe med dem?
  • PIC-mikrokontrollere for nybegynnere
  • Typer og arrangement av AVR-mikrokontrollere
  • Programmerbare mikrokontrollere i JavaScript: hvilken du skal velge, egenskaper ...
  • Måling av temperatur og fuktighet på Arduino - et utvalg av metoder

  •