categorii: Circuite de micro-controler
Număr de vizualizări: 3195
Comentarii la articol: 0

Jetoane de ceas în timp real RTC - Scop, tipuri și exemple de utilizare

 

Pentru a efectua orice sarcini legate de automatizare, de multe ori trebuie să contați anumite intervale de timp. Uneori, acest lucru se realizează prin numărarea unui anumit număr de perioade ale ceasului sau ciclurilor mașinii.

Cu toate acestea, deși urmează la o frecvență dată și depinde cel mai adesea de rezonatorul de cuarț, atunci când efectuează operațiuni în timp real și, mai ales, dacă sunt legate de ora din zi, acestea se schimbă în timp. Pentru a rezolva această problemă, utilizați ceasuri în timp real sau cipuri RTC.


Ce este asta

RTC (ceas în timp real, ceas rusesc în timp real) este un tip de microcircuit destinat numărării timpului în unități „reale” (secunde, minute, ore etc.).

Acestea depind de sursa de alimentare, care poate fi externă, sub forma unei baterii înlocuibile sau a unei baterii de litiu, sau integrate în carcasa microcircuitului (vezi fotografia de mai jos). Semnalele de ceas pentru raportarea timpului pot fi obținute de la un extern rezonator de cuarțși mai rar - din rețeaua de alimentare.

Precizia de citire depinde de calitatea și precizia de reglare a oscilatorului intern sau a oscilatorului de cristal extern. În același timp, precizia cuarțului și, respectiv, RTC, este indicată nu în hertz și nu în procent, ci în „ppm”, de exemplu ± 12 ppm, ± 50 ppm. Aceasta înseamnă părți pe milion, adică numărul de părți pe milion de o valoare medie.

Chip de ceas în timp real RTC

Ceasurile în timp real pot fi implementate pe baza microcontrolerelor, cu toate acestea, utilizarea cipurilor speciale poate reduce consumul de energie, deoarece majoritatea microcontrolatoarelor chiar și în modul de veghe (sau modul de putere redusă) consumă mai multă energie decât circuitele integrate integrate (ICs). RTC-urile pot fi, de asemenea, integrate în microcontrolerul în sine (ca în STM32).

Datorită ceasului în timp real al computerului dvs., ora și data după care este deconectat de la rețea nu se dezactivează, în acest caz funcționează de la bateria CR2032 instalată în conectorul de pe placa de bază, alimentează și cipul BIOS, astfel încât setările setate în ea să nu se piardă.

Chip RTC cu baterie încorporată

clasificare

Clasificarea cipurilor RTC poate varia de la producător la producător. Cele mai frecvente ceasuri în timp real ale unor astfel de producători precum: Maxim Integrated și STMicroelectronics. Pe piață există microcipuri de la alte companii:

  • Intersil Corporation (DC Renesas Electronics);

  • Cymbet (linia EnerChip ™ RTC, caracteristică distinctivă - baterie încorporată în stare solidă);

  • NXP (RTC cu calendar, care acceptă protocoale I2C sau SPI)

  • Zilog;

  • epson;

  • ON semiconductor.

Modul de ceas în timp real cu cip DS1307

Maxim Integrated folosește tipul de interfață de control ca criteriu principal pentru clasificarea cipurilor RTC, și anume:

1. Jetoane RTC cu o interfață de control serial: I2C, 3 fire, SPI.

2. Cu o interfață de control paralelă:

  • cu adresă / bus de date multiplexate;

  • cu autobuze de adresă și date partajate;

  • cu interfață monofilă cu 1 fir.

Modulul ceasului în timp real

Puteți clasifica, de asemenea, după formatul de prezentare a datelor:

  • Calendar. Sub forma unui șablon YY-MM-DD pentru dată și HH-MM-SS pentru timp, timp și celelalte formate ale acestora;

  • Binar. Sub forma unui contor binar continuu de unități de timp (secunde sau fracțiile acestora).

În funcție de scopul microcircuitului din circuitul dispozitivului și de tipul acestuia este selectat, dacă IC-ul cu o reprezentare a calendarului, acesta va funcționa ca un ceas normal, iar în cazul unuia binar, pentru aplicații precum rapoarte de perioade de timp, de exemplu, perioada de valabilitate a licenței, perioada de garanție sau dispozitive pentru înregistrarea a ceva (de exemplu, contoare electrice), de exemplu, în catalogul Maxim Integrated sunt numite „Elapsed Time Counter” - contorul de timp scurs, un exemplu de astfel de IC este DS1683.

În alte cazuri, microcircuitele de ceas în timp real pot fi clasificate după funcționalitate sau alte caracteristici:

  • Prezența unui generator încorporat sau este necesară utilizarea unui generator extern (cuarț).

  • Prin prezența unei surse de alimentare încorporate sau prin posibilitatea de a utiliza o baterie externă.

  • După tipul și dimensiunea memoriei interne și a protocoalelor de comunicare cu lumea „externă” (descrisă mai sus).

  • Prin prezența unei interfețe fantomă (fantomă) pentru accesarea registrelor interne ale microcircuitului (pentru setare, setare moduri sau valori de citire).

  • Alte funcții: pază de pază, alarmă, a doua ieșire, control de alimentare, capacitatea de a încărca o baterie externă etc.

Și, în sfârșit, mulți producători își clasifică dispozitivele în funcție de nivelul consumului de energie, în medie, consumul curent variază între 200 și 1500 nA, dar poate ieși și din acest interval în funcție de IC și producătorul specific.


Practică radio amator

Ceasurile în timp real sunt adesea utilizate în combinație cu platforme populare de dezvoltare și prototipare precum familia Arduino și la dezvoltarea dispozitivelor pe orice alte microcontrolere, precum și Micro-computerele de zmeură Pi și altele asemenea.

Utilizarea cipurilor RTC în practica radioamatorilor amatori

Astăzi, industria produce module cu RTC, sub forma unei plăci de circuit separate sau a unui scut. Avantajul acestui tip de module este că nu este nevoie să răspândiți placa și să dezvăluiți microcircuitul, hamul, suportul bateriei ș.a.

Sunt convenabile să le folosească atât pentru dispozitive gata făcute, cât și în machetă - puteți utiliza jumperi cu mufe și conectori, cum ar fi Dupont, dacă instalați un pieptene pe modul pentru a le conecta sau lipiți firele direct pe nichelele de pe placă (a se vedea - Sfaturi pentru asamblarea rapidă a plăcilor de circuit pe panouri).

Module cu RTC

Printre producătorii arduino și moderni de casă, cei mai utilizați sunt microcircuitele de ceas în timp real integrate și modulele bazate pe acestea, și anume:

  • DS1302;

  • DS1307;

  • DS3231.

Diferențele lor sunt prezentate în tabelul de mai jos.

Caracteristici ale cipurilor DS1302, DS1307 și DS3231

După cum puteți vedea, toate comunică cu microcontrolerul prin magistrala I2C, și DS1302 prin SPI, deși fișa tehnică spune „o interfață simplă cu 3 fire, potrivită pentru majoritatea microcontrolerelor”. Și se poate conecta nu numai la 10-13 pini de Arduinope care sunt alocați pinii sunt SPI, dar la celelalte instalate în schiță, circuitele vor fi mai mici. Datele pentru aceste IC-uri cu toate datele tehnice sunt atașate la articol.

Fișe tehnice pentru cipuri în timp real:

Arduino UNO acceptă ambele aceste protocoale, pe care le puteți vedea în diagrama de mai jos (marcate cu violet și gri pentru SPI și, respectiv, I2C).

Arduino uno

Ca piureul de zmeură.

Zmeura pi

Aceasta înseamnă că puteți utiliza oricare din aceste module de la fiecare platformă. Puteți vedea diferențele externe ale modulelor din ilustrația de mai jos, dar aspectul plăcii poate diferi, uitați-vă la marcajul IC.

Pentru ca Arduino să funcționeze cu RTC, aveți nevoie de o bibliotecă, dar din moment ce nu se află în pachetul standard IDE Arduino, trebuie să îl descărcați. Există biblioteci în rețea pentru fiecare dintre IC-urile considerate și există biblioteci universale pe care ar trebui să le alegeți și care va fi mai convenabilă.

Biblioteca universală atașată - iarduino_rtc.zip. Rețineți că tipul IC este setat manual în el și pentru DS1302 concluziile la care este conectat:

include // Conectați biblioteca
iarduino_RTC timp (RTC_DS3231); // Creați un obiect timp pentru IC DS3231
iarduino_RTC timp (RTC_DS1307); // PENTRU DS1307
iarduino_RTC timp (RTC_DS1302, RST, CLK, DAT); // pentru DS1302.
// În loc de RST, CLK și DAT, numerele pinilor arduino,
// la care sunt conectați pinii corespunzători ai modulului de ceas

Diagrama pentru DS1302, amintește din nou că concluziile pot fi diferite:

Schema de conectare DS1302 la Arduino

Însă linia de date DS1307 și DS3231 se conectează doar la pinii A5 și A4 din Arduino UNO (pentru alte revizii și versiuni ale plăcii, a se vedea pinout).

Schema de conexiune RTC la Arduino
Schema de conexiune RTC la Arduino

concluzie

Ceasurile în timp real vă permit să realizați proiecte în care orice proces trebuie să înceapă pe o programare. În aproape orice proiect relativ complex pentru utilizare practică, există o astfel de nevoie, nu contează dacă este vorba despre un sistem de irigare automat pentru plante sau un sistem de control al procesului în producție.

Datorită costului redus al pieselor și al simplității conectării și programării, oricine poate implementa astfel de sisteme fără să aibă măcar cunoștințe aprofundate în domeniul electronic și microcontrolere. Dar acest lucru nu înseamnă că, deoarece există arduino cu simplitatea sa inerentă, nu este necesar să studiați software-ul și hardware-ul. Dimpotrivă, cunoașterea structurii fierului și a codului vă va permite să faceți programe mai rapide și mai complexe, care în același timp ocupă mai puțin spațiu.

Consultați și la i.electricianexp.com:

  • Ce sunt afișările Nextion și cum să lucrați cu ele?
  • Microcontrolere PIC pentru începători
  • Tipuri și aranjament de microcontrolere AVR
  • Microcontrolere programabile în JavaScript: care dintre ele să aleagă, caracteristici ...
  • Măsurarea temperaturii și umidității pe Arduino - o selecție de moduri

  •