categorieën: Microcontroller-circuits
Aantal keer bekeken: 3195
Reacties op het artikel: 0

RTC Real-Time Clock Chips - Doel, soorten en voorbeelden van gebruik

 

Om taken met betrekking tot automatisering uit te voeren, moet u vaak bepaalde tijdsintervallen tellen. Soms wordt dit gedaan door een bepaald aantal perioden van de klok of machinecycli te tellen.

Hoewel ze echter op een bepaalde frequentie volgen en meestal afhankelijk zijn van de kwartsresonator, schakelen ze in realtime uit, en vooral als ze gebonden zijn aan de tijd van de dag, ze verschuiven in de tijd. Gebruik realtime klok of RTC-chips om dit probleem op te lossen.


Wat is dit

RTC (real-time klok, Russische real-time klok) is een soort microschakeling bedoeld voor het tellen van de tijd in "echte" eenheden (seconden, minuten, uren, enz.).

Ze zijn afhankelijk van de stroombron, die extern kan zijn, in de vorm van een vervangbare batterij of een lithiumbatterij, of geïntegreerd in de behuizing van de microschakeling (zie onderstaande foto). Kloksignalen voor tijdrapportage kunnen worden verkregen van een externe kwartsresonatoren minder vaak - van het stroomnet.

De leesnauwkeurigheid is afhankelijk van de kwaliteit en afstemmingsnauwkeurigheid van de interne oscillator of externe kristaloscillator. Tegelijkertijd wordt de nauwkeurigheid van respectievelijk kwarts en RTC niet aangegeven in Hertz en niet in percentage, maar in "ppm", bijvoorbeeld ± 12 ppm, ± 50 ppm. Dit staat voor Parts Per Million, dat wil zeggen het aantal delen per miljoen met een gemiddelde waarde.

RTC Real Time Clock Chip

Real-time klokken kunnen worden geïmplementeerd op basis van microcontrollers, maar het gebruik van speciale chips kan het stroomverbruik verminderen, omdat de meeste microcontrollers zelfs in slaapmodus (of low power-modus) meer stroom verbruiken dan speciale geïntegreerde schakelingen (IC's). RTC's kunnen ook worden geïntegreerd in de microcontroller zelf (zoals in STM32).

Dankzij de realtime-klok op uw computer kunnen de tijd en datum nadat deze is losgekoppeld van het netwerk niet worden uitgeschakeld, in dit geval werken ze met de CR2032-batterij die is geïnstalleerd in de connector op het moederbord, deze voedt ook de BIOS-chip zodat de instellingen die erin zijn ingesteld niet verloren gaan.

RTC-chip met ingebouwde batterij

classificatie

De classificatie van RTC-chips kan van fabrikant tot fabrikant verschillen. De meest voorkomende realtime klokken van fabrikanten zoals: Maxim Integrated en STMicroelectronics. Er zijn microchips op de markt van andere bedrijven:

  • Intersil Corporation (DC Renesas Electronics);

  • Cymbet (EnerChip ™ RTC-lijn, onderscheidend kenmerk - ingebouwde solid state batterij);

  • NXP (RTC met kalender, ondersteunende I2C- of SPI-protocollen)

  • Zilog;

  • epson;

  • OP halfgeleider.

Real-time klokmodule met DS1307-chip

Maxim Integrated gebruikt het type besturingsinterface als het belangrijkste criterium voor de classificatie van RTC-chips, namelijk:

1. RTC-chips met een seriële besturingsinterface: I2C, 3-draads, SPI.

2. Met een parallelle besturingsinterface:

  • met multiplex adres / gegevensbus;

  • met gedeelde adres- en gegevensbussen;

  • met 1-draads enkele draads interface.

Realtime klokmodule

U kunt ook classificeren op gegevenspresentatie-indeling:

  • Agenda. In de vorm van een sjabloon YY-MM-DD voor datum en HH-MM-SS voor tijd, tijd en hun andere formaten;

  • Binary. In de vorm van een continue binaire teller van tijdseenheden (seconden of hun fracties).

Afhankelijk van het doel van de microschakeling in het circuit van het apparaat en het type dat is geselecteerd, werkt het IC met een kalenderweergave als een normale klok, en in het geval van een binaire, voor toepassingen zoals rapporten van tijdsperioden, bijvoorbeeld licentie-geldigheidsperiode, garantieperiode of apparaten voor het opnemen van iets (bijvoorbeeld elektrische meters), bijvoorbeeld, in de Maxim Integrated-catalogus worden ze "Elapsed Time Counter" genoemd - de verstreken tijdteller, een voorbeeld van een dergelijke IC is DS1683.

In andere gevallen kunnen realtime klokmicrocircuits worden geclassificeerd op basis van functionaliteit of andere kenmerken:

  • De aanwezigheid van een ingebouwde generator of het is noodzakelijk om een ​​externe generator (kwarts) te gebruiken.

  • Door de aanwezigheid van een ingebouwde stroombron of de mogelijkheid om een ​​externe batterij te gebruiken.

  • Door het type en de grootte van het interne geheugen en communicatieprotocollen met de "externe" wereld (hierboven beschreven).

  • Door de aanwezigheid van een fantoominterface (fantoom) voor toegang tot de interne registers van de microschakeling (voor het instellen, instellen van modi of het lezen van waarden).

  • Andere functies: waakhond, alarm, tweede uitgang, stroomregeling, de mogelijkheid om een ​​externe batterij op te laden, enz.

En ten slotte classificeren veel fabrikanten hun apparaten op basis van het energieverbruik, gemiddeld varieert het huidige verbruik van 200 tot 1500 nA, maar kan ook buiten dit bereik vallen, afhankelijk van de specifieke IC en fabrikant.


Amateur radiopraktijk

Realtime klokken worden vaak gebruikt in combinatie met populaire ontwikkelings- en prototypingplatforms zoals de Arduino-familie, en bij het ontwikkelen van apparaten op andere microcontrollers, evenals Raspberry Pi-familie microcomputers en dergelijke.

Het gebruik van RTC-chips in de praktijk van amateurradio

Tegenwoordig produceert de industrie modules met RTC, in de vorm van een afzonderlijke printplaat of afscherming. Het voordeel van dit type modules is dat het niet nodig is om het bord te spreiden en de microschakeling, het harnas, de batterijhouder, enzovoort te solderen.

Ze zijn handig in gebruik voor zowel kant-en-klare apparaten als in mock-ups - u kunt jumpers met stekkers en connectoren zoals Dupont gebruiken, als u een kam op de module installeert om ze aan te sluiten, of de draden rechtstreeks aan de nikkels op het bord solderen (zie - Tips voor het snel monteren van printplaten op broodplanken).

Modules met RTC

Onder de Arduino en moderne zelfgemaakte fabrikanten zijn de meest gebruikte Maxim Integrated real-time klokmicrocircuits en modules op basis daarvan, namelijk:

  • DS1302;

  • DS1307;

  • DS3231.

Hun verschillen worden weergegeven in de onderstaande tabel.

Kenmerken van de DS1302-, DS1307- en DS3231-chips

Zoals u ziet, communiceren ze allemaal met de microcontroller via de I2C-bus en de DS1302 via SPI, hoewel het gegevensblad zegt "een eenvoudige 3-draads seriële interface die geschikt is voor de meeste microcontrollers". En het kan niet alleen verbinding maken tot 10-13 pins van Arduinowaarop de pinnen zijn toegewezen zijn SPI, maar voor de anderen die in de schets zijn geïnstalleerd, zullen de circuits lager zijn. Datashits voor deze IC's met alle technische gegevens zijn aan het artikel gehecht.

Gegevensbladen voor realtime chips:

Arduino UNO ondersteunt beide protocollen, die u in het onderstaande diagram kunt zien (gemarkeerd in paars en grijs voor respectievelijk SPI en I2C).

Arduino uno

Zoals de Raspberry pi.

Frambozen Pi

Dit betekent dat u elk van deze modules vanaf elk platform kunt gebruiken. U kunt de externe verschillen van de modules zien in de onderstaande afbeelding, maar de lay-out van het bord kan verschillen, kijk naar de IC-markering.

Om Arduino met RTC te laten werken, hebt u een bibliotheek nodig, maar omdat deze niet in het standaard Arduino IDE-pakket zit, moet u deze downloaden. Er zijn bibliotheken op het netwerk voor elk van de beschouwde IC's, en er zijn universele bibliotheken die u moet kiezen en welke gemakkelijker is.

Universele bibliotheek bijgevoegd - iarduino_rtc.zip. Merk op dat het IC-type er handmatig in wordt ingesteld, en voor de DS1302 de conclusies waarmee het is verbonden:

include // Verbind de bibliotheek
iarduino_RTC-tijd (RTC_DS3231); // Maak een tijdobject voor de DS3231 IC
iarduino_RTC-tijd (RTC_DS1307); // VOOR DS1307
iarduino_RTC-tijd (RTC_DS1302, RST, CLK, DAT); // voor DS1302.
// In plaats van RST, CLK en DAT, de nummers van de Arduino-pinnen,
// waarop de bijbehorende pinnen van de klokmodule zijn aangesloten

Diagram voor DS1302, nogmaals herinneren dat de conclusies kunnen verschillen:

Verbindingsdiagram DS1302 met Arduino

Maar de datalijn DS1307 en DS3231 maakt alleen verbinding met de A5- en A4-pinnen van de Arduino UNO (zie de pinout voor andere revisies en versies van het bord).

RTC naar Arduino verbindingsdiagram
RTC naar Arduino verbindingsdiagram

conclusie

Met realtime klokken kunt u projecten maken waarin processen volgens een schema moeten starten. In vrijwel elk relatief complex project voor praktisch gebruik is er zo'n behoefte; het maakt niet uit of het een automatisch irrigatiesysteem voor planten is of een procescontrolesysteem in productie.

Vanwege de lage kosten van onderdelen en de eenvoud van aansluiten en programmeren, kan iedereen dergelijke systemen nu implementeren zonder zelfs diepgaande kennis van elektronica en microcontrollers te hebben. Maar dit betekent niet dat aangezien er Arduino is met zijn inherente eenvoud, er geen noodzaak is om de software en hardware te bestuderen. Integendeel, kennis van ijzer en codestructuur stelt u in staat snellere en complexere programma's te maken, die tegelijkertijd minder ruimte innemen.

Zie ook op bgv.electricianexp.com:

  • Wat zijn Nextion-displays en hoe ermee te werken?
  • PIC-microcontrollers voor beginners
  • Typen en opstelling van AVR-microcontrollers
  • Programmeerbare microcontrollers in JavaScript: welke te kiezen, kenmerken ...
  • Temperatuur en vochtigheid meten op Arduino - een selectie van methoden

  •