Kategorie: Obwody mikrokontrolera
Liczba wyświetleń: 3195
Komentarze do artykułu: 0

Układy zegara czasu rzeczywistego RTC - Cel, rodzaje i przykłady użycia

 

Aby wykonać dowolne zadania związane z automatyzacją, często trzeba liczyć określone przedziały czasowe. Czasami odbywa się to poprzez zliczenie określonej liczby okresów zegara lub cykli maszyny.

Jednak, mimo że podążają z określoną częstotliwością i najczęściej zależą od rezonatora kwarcowego, podczas wykonywania operacji w czasie rzeczywistym, a zwłaszcza jeśli są powiązane z porą dnia, zmieniają się w czasie. Aby rozwiązać ten problem, użyj zegara czasu rzeczywistego lub układów RTC.


Co to jest

RTC (zegar czasu rzeczywistego, rosyjski zegar czasu rzeczywistego) jest rodzajem mikroukładu przeznaczonego do zliczania czasu w „rzeczywistych” jednostkach (sekundach, minutach, godzinach itp.).

Są zależne od źródła zasilania, które może być zewnętrzne, w postaci wymiennej baterii lub baterii litowej, lub wbudowane w obudowę mikroukładu (patrz zdjęcie poniżej). Sygnały zegara do raportowania czasu można uzyskać z zewnętrznego rezonator kwarcowyi rzadziej - z sieci zasilającej.

Dokładność odczytu zależy od jakości i dokładności strojenia wewnętrznego oscylatora lub zewnętrznego oscylatora kryształowego. Jednocześnie dokładność kwarcu i RTC, odpowiednio, jest wskazana nie w hercach i nie w procentach, ale w „ppm”, na przykład ± 12 ppm, ± 50 ppm. Oznacza to liczbę części na milion, czyli liczbę części na milion o średniej wartości.

Układ zegara czasu rzeczywistego RTC

Zegary czasu rzeczywistego można wdrażać na podstawie mikrokontrolerów, jednak użycie specjalnych układów scalonych może zmniejszyć zużycie energii, ponieważ większość mikrokontrolerów nawet w trybie uśpienia (lub trybie niskiego poboru mocy) zużywa więcej energii niż specjalne układy scalone. RTC można również zintegrować z samym mikrokontrolerem (jak w STM32).

To dzięki zegarowi czasu rzeczywistego na komputerze, że godzina i data po odłączeniu od sieci nie odejdą, w tym przypadku działają one z baterii CR2032 zainstalowanej w złączu na płycie głównej, zasilają również układ BIOS, dzięki czemu ustawienia w nim nie gubią się.

Układ RTC z wbudowaną baterią

Klasyfikacja

Klasyfikacja układów RTC może się różnić w zależności od producenta. Najczęstsze zegary czasu rzeczywistego takich producentów jak: Maxim Integrated i STMicroelectronics. Na rynku dostępne są mikroprocesory innych firm:

  • Intersil Corporation (DC Renesas Electronics);

  • Cymbet (linia EnerChip ™ RTC, charakterystyczna cecha - wbudowana bateria półprzewodnikowa);

  • NXP (RTC z kalendarzem, obsługa protokołów I2C lub SPI)

  • Zilog;

  • Epson

  • NA półprzewodniku.

Moduł zegara czasu rzeczywistego z układem DS1307

Maxim Integrated wykorzystuje typ interfejsu sterowania jako główne kryterium klasyfikacji układów RTC, a mianowicie:

1. Układy RTC z szeregowym interfejsem sterowania: I2C, 3-żyłowy, SPI.

2. Z równoległym interfejsem sterowania:

  • z multipleksowaną magistralą adresową / danych;

  • ze wspólnym adresem i magistralami danych;

  • z 1-przewodowym interfejsem jednoprzewodowym.

Moduł zegara czasu rzeczywistego

Możesz także sklasyfikować według formatu prezentacji danych:

  • Kalendarz W formie szablonu RRRM-DD dla daty i GG-MM-SS dla czasu, godziny i innych formatów;

  • Binarny W postaci ciągłego binarnego licznika jednostek czasu (sekund lub ich ułamków).

W zależności od celu mikroukładu w obwodzie urządzenia i jego rodzaju zostanie wybrany, jeśli układ scalony z reprezentacją kalendarza będzie działał jako normalny zegar, a w przypadku binarnego - dla aplikacji takich jak raporty okresów, na przykład okres ważności licencji, okres gwarancji lub urządzenia do nagrywania czegoś (na przykład liczniki elektryczne), na przykład w katalogu Maxim Integrated nazywane są „Elapsed Time Counter” - licznik upływu czasu, przykładem takiego układu scalonego jest DS1683.

W innych przypadkach mikroukłady zegara czasu rzeczywistego można sklasyfikować według funkcjonalności lub innych cech:

  • Obecność wbudowanego generatora lub konieczne jest użycie zewnętrznego generatora (kwarcu).

  • Obecność wbudowanego źródła zasilania lub możliwość korzystania z zewnętrznej baterii.

  • Według rodzaju i wielkości pamięci wewnętrznej i protokołów komunikacyjnych ze światem „zewnętrznym” (opisanych powyżej).

  • Obecność interfejsu fantomowego (fantomowego) umożliwiającego dostęp do wewnętrznych rejestrów mikroukładu (do ustawiania, ustawiania trybów lub odczytywania wartości).

  • Inne funkcje: watchdog, alarm, drugie wyjście, kontrola mocy, możliwość ładowania zewnętrznej baterii itp.

I wreszcie, wielu producentów klasyfikuje swoje urządzenia według poziomu zużycia energii, średnio pobór prądu wynosi od 200 do 1500 nA, ale może również wyjść poza ten zakres w zależności od konkretnego układu scalonego i producenta.


Amatorska praktyka radiowa

Zegary czasu rzeczywistego są często używane w połączeniu z tak popularnymi platformami programistycznymi i prototypowymi, jak rodzina Arduino, oraz przy projektowaniu urządzeń na innych mikrokontrolerach, a także Mikrokomputery z rodziny Raspberry Pi i tym podobne.

Zastosowanie układów RTC w amatorskiej praktyce radiowej

Dzisiaj przemysł produkuje moduły z RTC, w postaci osobnej płytki drukowanej lub ekranu. Zaletą tego typu modułów jest to, że nie ma potrzeby rozkładania płytki i odlutowywania mikroukładu, wiązki przewodów, uchwytu baterii i tak dalej.

Są wygodne w użyciu zarówno do gotowych urządzeń, jak i do makiet - możesz użyć zworek z wtyczkami i złączami typu Dupont, jeśli zainstalujesz grzebień na module, aby je połączyć, lub lutujesz przewody bezpośrednio do nicków na płycie (patrz - Wskazówki dotyczące szybkiego montażu płytek drukowanych na płytkach drukowanych).

Moduły z RTC

Wśród arduino i współczesnych producentów domowych najczęściej stosowane są mikroukłady zegara czasu rzeczywistego Maxim Integrated i moduły na nich oparte, a mianowicie:

  • DS1302;

  • DS1307;

  • DS3231.

Ich różnice pokazano w poniższej tabeli.

Funkcje układów DS1302, DS1307 i DS3231 Chips

Jak widać, wszystkie z nich komunikują się z mikrokontrolerem za pośrednictwem magistrali I2C, a DS1302 za pośrednictwem SPI, chociaż arkusz danych mówi „prosty 3-żyłowy interfejs szeregowy odpowiedni dla większości mikrokontrolerów”. I może łączyć się nie tylko do 10-13 pinów Arduinona których przypisane są piny to SPI, ale dla pozostałych zainstalowanych w szkicu obwody będą niższe. Zestawy danych dla tych układów scalonych ze wszystkimi danymi technicznymi są dołączone do artykułu.

Arkusze danych dla układów scalonych w czasie rzeczywistym:

Arduino UNO obsługuje oba te protokoły, które można zobaczyć na poniższym schemacie (zaznaczone na fioletowo i szaro odpowiednio dla SPI i I2C).

Arduino uno

Jak Raspberry pi.

Raspberry pi

Oznacza to, że możesz używać dowolnego z tych modułów z każdej platformy. Możesz zobaczyć zewnętrzne różnice modułów na poniższej ilustracji, ale układ płyty może się różnić, spójrz na oznaczenie IC.

Aby Arduino mogło współpracować z RTC, potrzebujesz biblioteki, ale ponieważ nie ma jej w standardowym pakiecie Arduino IDE, musisz ją pobrać. W sieci znajdują się biblioteki dla każdego z rozważanych układów scalonych, i istnieją biblioteki uniwersalne, które możesz wybrać i która z nich będzie dla ciebie wygodniejsza.

Dołączona biblioteka uniwersalna - iarduino_rtc.zip. Zauważ, że typ układu scalonego jest w nim ustawiany ręcznie, a dla DS1302 wnioski, z którymi jest on połączony:

include // Połącz bibliotekę
czas iarduino_RTC (RTC_DS3231); // Utwórz obiekt czasowy dla DS3231 IC
czas iarduino_RTC (RTC_DS1307); // DLA DS1307
czas iarduino_RTC (RTC_DS1302, RST, CLK, DAT); // dla DS1302.
// Zamiast RST, CLK i DAT, numery pinów arduino,
// do którego podłączone są odpowiednie piny modułu zegara

Schemat dla DS1302 jeszcze raz przypomina, że ​​wnioski mogą być inne:

Schemat połączeń DS1302 z Arduino

Ale linia danych DS1307 i DS3231 łączy się tylko ze stykami A5 i A4 w Arduino UNO (inne wersje i wersje płyty, patrz pinout).

Schemat połączeń RTC z Arduino
Schemat połączeń RTC z Arduino

Wniosek

Zegary czasu rzeczywistego umożliwiają tworzenie projektów, w których wszelkie procesy muszą rozpoczynać się zgodnie z harmonogramem. W prawie każdym stosunkowo złożonym projekcie do praktycznego zastosowania istnieje taka potrzeba; nie ma znaczenia, czy jest to automatyczny system nawadniający dla roślin, czy system kontroli procesu w produkcji.

Ze względu na niski koszt części oraz prostotę podłączenia i programowania, każdy może teraz wdrożyć takie systemy, nawet bez dogłębnej znajomości elektroniki i mikrokontrolerów. Ale to nie znaczy, że skoro istnieje arduino z jego naturalną prostotą, nie ma potrzeby badania oprogramowania i sprzętu. Przeciwnie, znajomość żelaza i struktury kodu pozwoli ci tworzyć szybsze i bardziej złożone programy, które jednocześnie zajmują mniej miejsca.

Zobacz także na bgv.electricianexp.com:

  • Co to są wyświetlacze Nextion i jak z nimi pracować?
  • Mikrokontrolery PIC dla początkujących
  • Rodzaje i rozmieszczenie mikrokontrolerów AVR
  • Programowalne mikrokontrolery w JavaScript: który wybrać, cechy ...
  • Pomiar temperatury i wilgotności w Arduino - wybór sposobów

  •