категории: Микроконтролер вериги
Брой преглеждания: 3195
Коментари към статията: 0
RTC часовникови чипове в реално време - цел, видове и примери за употреба
За да изпълнявате всякакви задачи, свързани с автоматизацията, често е необходимо да броите определени интервали от време. Понякога това става чрез преброяване на определен брой периоди от цикъла на часовника или машината.
Въпреки че те следват с дадена честота и най-често зависят от кварцовия резонатор, при извършване на операции в реално време и особено ако са обвързани с времето на деня, те се изместват във времето. За да разрешите този проблем, използвайте часовник в реално време или RTC чипове.
Какво е това?
RTC (часовник в реално време, руски часовник в реално време) е вид микросхема, предназначена за броене на времето в „реални“ единици (секунди, минути, часове и т.н.).
Те зависят от източника на захранване, който може да бъде или външен, под формата на сменяема батерия или литиева батерия, или вграден в корпуса на микросхемата (виж снимката по-долу). Сигналите на часовника за отчитане на времето могат да бъдат получени от външен кварцов резонатор, и по-рядко - от захранващата мрежа.
Точността на четене зависи от качеството и точността на настройка на вътрешния осцилатор или външния кристален осцилатор. В същото време точността на кварца и RTC, съответно, е посочена не в херц и не в процент, а в "ppm", например ± 12 ppm, ± 50 ppm. Това означава части на милион, т.е. брой на милион части от някаква средна стойност.
![RTC в реално време чип RTC в реално време чип](https://e.imadeself.com/uploads/posts/2019-08/1566473446_11.jpg)
Часовниците в реално време могат да бъдат реализирани на базата на микроконтролери, но използването на специални чипове може да намали консумацията на енергия, тъй като повечето микроконтролери дори в режим на заспиване (или режим с ниска мощност) консумират повече енергия от специалните интегрални схеми (ИС). RTC могат да бъдат интегрирани и в самия микроконтролер (както в STM32).
Благодарение на часовника в реално време на компютъра ви времето и датата, след като е изключен от мрежата, не се измъкват, в този случай те работят от батерията CR2032, инсталирана в конектора на дънната платка, тя също захранва чипа на BIOS, така че настройките, зададени в него, да не се загубят.
![RTC чип с вградена батерия RTC чип с вградена батерия](https://e.imadeself.com/uploads/posts/2019-08/1566473414_1.jpg)
класификация
Класификацията на RTC чиповете може да варира от производител до производител. Най-често срещаните часовници в реално време на такива производители като: Maxim Integrated и STMicroelectronics. На пазара има микрочипове от други компании:
-
Intersil Corporation (DC Renesas Electronics);
-
Cymbet (линия на EnerChip ™ RTC, отличителна черта - вградена твърда батерия);
-
NXP (RTC с календар, поддържащ I2C или SPI протоколи)
-
Zilog;
-
Epson;
-
ON полупроводник.
![Часовник в реално време с чип DS1307 Часовник в реално време с чип DS1307](https://e.imadeself.com/uploads/posts/2019-08/1566473416_13.jpg)
Maxim Integrated използва типа контролен интерфейс като основен критерий за класификацията на RTC чипове, а именно:
1. RTC чипове с интерфейс за сериен контрол: I2C, 3-проводник, SPI.
2. С паралелен контролен интерфейс:
-
с мултиплексиран адрес / шина за данни;
-
със споделен адрес и шини за данни;
-
с едножилен интерфейс с една жица.
![Модул на часовника в реално време Модул на часовника в реално време](https://e.imadeself.com/uploads/posts/2019-08/1566473703_111.jpg)
Можете също да класифицирате по формат за представяне на данни:
-
Календар. Под формата на шаблон YY-MM-DD за дата и HH-MM-SS за време, време и техните други формати;
-
Binary. Под формата на непрекъснат двоичен брояч на времеви единици (секунди или техните фракции).
В зависимост от целта на микросхемата във веригата на устройството и неговия тип е избран, ако ИС с календарно представяне, той ще функционира като нормален часовник, а в случай на двоичен - за приложения като отчети за времеви периоди, например срок на валидност на лиценза, гаранционен период или устройства за записване на нещо (например електрически измервателни уреди), например в Maxim Integrated каталога те се наричат „Изтекъл брояч на време“ - броячът на изминалото време, пример за такъв интегрален интегрален модул е DS1683.
В други случаи часовниковите микросхеми в реално време могат да бъдат класифицирани по функционалност или други характеристики:
-
Наличието на вграден генератор или е необходимо да се използва външен генератор (кварц).
-
Чрез наличието на вграден източник на захранване или възможността за използване на външна батерия.
-
Според вида и размера на вътрешната памет и протоколите за комуникация с „външния“ свят (описани по-горе).
-
Чрез наличието на фантом (фантом) интерфейс за достъп до вътрешните регистри на микросхемата (за настройка, настройка на режими или четене на стойности).
-
Други функции: пазач, аларма, втори изход, контрол на мощността, възможност за зареждане на външна батерия и т.н.
И накрая, много производители класифицират своите устройства според нивото на консумация на енергия, като средното потребление на ток варира от 200 до 1500 nA, но може също да излезе от този диапазон в зависимост от конкретния интегрален интегрален и производител.
Аматьорска радио практика
Часовете в реално време често се използват заедно с такива популярни платформи за разработка и създаване на прототипи като семейство Arduino и при разработване на устройства на всякакви други микроконтролери, както и Raspberry Pi семейство микрокомпютри и други подобни.
![Използването на RTC чипове в любителската радио практика Използването на RTC чипове в любителската радио практика](https://e.imadeself.com/uploads/posts/2019-08/1566473365_2.jpg)
Днес индустрията произвежда модули с RTC под формата на отделна платка или щит. Предимството на този тип модули е, че няма нужда да разпръсквате платката и да разварявате микросхемата, сбруята, държача на батерията и т.н.
Те са удобни за използване както за готови устройства, така и за макети - можете да използвате джъмпери с щепсели и конектори като Dupont, ако инсталирате гребен на модула, за да ги свържете, или да спойкате проводниците директно към никелите на платката (вижте - Съвети за бързо сглобяване на платки на дъски).
![Модули с RTC Модули с RTC](https://e.imadeself.com/uploads/posts/2019-08/1566473379_3.jpg)
Сред производителите на ардуино и съвременни домашно производство най-широко използвани са интегрираните часовникови микросхеми в реално време Maxim и модули, базирани на тях, а именно:
-
DS1302;
-
DS1307;
-
DS3231.
Техните разлики са показани в таблицата по-долу.
![Характеристики на чипове DS1302, DS1307 и DS3231 Характеристики на чипове DS1302, DS1307 и DS3231](https://e.imadeself.com/uploads/posts/2019-08/1566473425_4.jpg)
Както можете да видите, всички те комуникират с микроконтролера през I2C шината, а DS1302 - чрез SPI, въпреки че в листата с данни се казва „обикновен 3-жичен сериен интерфейс, подходящ за повечето микроконтролери“. И може да свърже не само до 10-13 пина на Arduinoвърху които са зададени щифтовете са SPI, но към останалите, инсталирани в скицата, веригите ще са по-ниски. Към статията са приложени данните за тези ИС с всички технически данни.
Информационни листове за чипове в реално време:
Arduino UNO поддържа и двата протокола, които можете да видите на диаграмата по-долу (отбелязани в лилаво и сиво за SPI и I2C, съответно).
![Arduino uno Arduino uno](https://e.imadeself.com/uploads/posts/2019-08/1566473368_5.jpg)
Като Raspberry pi.
![Малина пи Малина пи](https://e.imadeself.com/uploads/posts/2019-08/1566473460_6.jpg)
Това означава, че можете да използвате всеки от тези модули от всяка платформа. Можете да видите външните разлики на модулите на илюстрацията по-долу, но оформлението на таблото може да се различава, вижте IC маркировката.
За да работи Arduino с RTC, се нуждаете от библиотека, но тъй като тя не е в стандартния пакет за ID на Arduino, трябва да я изтеглите. В мрежата има библиотеки за всеки от разглежданите ИС и има универсални библиотеки, които можете да изберете и коя ще бъде по-удобна за вас да решите.
Универсална библиотека - iarduino_rtc.zip, Обърнете внимание, че типът IC е ръчно зададен в него, а за DS1302 заключенията, към които е свързан:
включват // Свържете библиотеката
iarduino_RTC време (RTC_DS3231); // Създаване на времеви обект за DS3231 IC
iarduino_RTC време (RTC_DS1307); // ЗА DS1307
iarduino_RTC време (RTC_DS1302, RST, CLK, DAT); // за DS1302.
// Вместо RST, CLK и DAT, номерата на ардуиновите щифтове,
// към която са свързани съответните щифтове на модула на часовника
Диаграма за DS1302, отново припомнете, че изводите могат да бъдат различни:
![Схема на свързване DS1302 към Arduino Схема на свързване DS1302 към Arduino](https://e.imadeself.com/uploads/posts/2019-08/1566473417_7.png)
Но линията за данни DS1307 и DS3231 се свързва само с пинове A5 и A4 Arduino UNO (за други ревизии и версии на платката, вижте изход).
![RTC към диаграма за свързване на Arduino RTC към диаграма за свързване на Arduino](https://e.imadeself.com/uploads/posts/2019-08/1566473365_8.jpg)
![RTC към диаграма за свързване на Arduino RTC към диаграма за свързване на Arduino](https://e.imadeself.com/uploads/posts/2019-08/1566473415_9.jpg)
заключение
Часовете в реално време ви позволяват да правите проекти, в които всички процеси трябва да стартират по график. В почти всеки сравнително сложен проект за практическо използване има такава необходимост, няма значение дали това е автоматична система за поливане на растения или система за контрол на процеса в производството.
Поради ниската цена на частите и простотата на свързване и програмиране, всеки вече може да внедри такива системи, дори и без задълбочени познания по електроника и микроконтролери. Но това не означава, че тъй като има ардуино с присъщата му простота, тогава няма нужда да се изучава софтуерът и хардуера. Напротив, познаването на желязото и структурата на кода ще ви позволи да правите по-бързи и сложни програми, които в същото време заемат по-малко място.
Вижте също на e.imadeself.com
: