Buderus-trade.ru

Теплотехника Будерус
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

7 Порядок работы

7 Порядок работы

7.1 После того как Вы подготовили счетчик к работе, он готов вести учет электрической энергии.

Счетчик отображает информацию в 3-х режимах:

1 – основной режим;

2 – режим коррекции хода часов;

3 – режим просмотра 2-х годичной истории помесячного энергопотребления.

Переключение режимов осуществляется "длинным" нажатием кнопки "Выбор" (удержанием кнопки до перехода в следующий режим, около 1 с).

Через 2 мин после последнего нажатия кнопки "Выбор" в любом из режимов счетчик переходит в основной режим.

7.2 Информация, отображаемая на индикаторе счетчика.

Расшифровка условных обозначений:

7.2.1 Полную информацию об энергопотреблении можно получить только с помощью УСП6800 или ПЭВМ.

Форматы данных считываемых со счетчика приведены в приложении Г.

7.2.2 Информация об энергопотреблении необходимая пользователю, текущие время и дата отображается на индикаторе счетчика, каждые 10 с циклически сменяются 6 окон.

Ускоренный переход к следующему окну осуществляется "коротким" нажатием кнопки "Выбор".

Электрическая энергия нарастающим итогом потребленная по дневному тарифу при действующем "дневном" тарифе.

Электрическая энергия нарастающим итогом потребленная по "ночному" тарифу при действующем "дневном" тарифе.

Электрическая энергия, потребленная за прошедший месяц по дневному тарифу.

Электрическая энергия, потребленная за прошедший месяц по "ночному" тарифу.

Показания текущего времени при действующем "дневном" тарифе (часы – минуты — секунды).

Показания текущей даты при действующем "дневном" тарифе (день недели, число, месяц, год).

7.3 В режиме коррекции хода часов на индикатор выводятся текущие минуты, секунды и признак разрешения коррекции "Е".

"Короткое" нажатие кнопки "Выбор" приводит к коррекции хода часов на величину, не превышающую +/-9 с. При этом исчезает признак разрешения коррекции и появится с началом новых суток.

Если кнопка "Выбор" будет нажата до наступления 30 с, то коррекция будет производиться со знаком "минус", если после, то со знаком "плюс".

Если уход часов вперед составил не более 9 с, то по нажатию кнопки "Выбор" по 6-му сигналу точного времени часы будут установлены в 0 с.

Если часы отстали на время, не превышающее 9 с, то по нажатию кнопки "Выбор" по 5-му сигналу точного времени часы будут установлены в 59 с.

Если уход часов составил более 9 с, то коррекцию следует производить в течение нескольких дней.

7.4 В режиме просмотра истории на индикатор выводится информация раздельно по тарифам помесячного энергопотребления за 24 месяца в следующем формате (месяц, единицы года, показания электрической энергии).

7.5 Последовательный просмотр истории осуществляется "коротким" нажатием кнопки "Выбор".

7.6 Если на индикаторе появится указатель разряда литиевого элемента, это означает, что в случае отключения питания может произойти сбой в работе часов реального времени. При этом вся потребляемая энергия будет учитываться как потребленная по дневному тарифу. Необходимо своевременно заменить литиевый элемент, т.е. направить счетчик в ремонт.

7.7 В результате сбоев в работе счетчика появляется.

указатель "Ошибка", это означает, что возникла, по крайней мере, одна из ошибок, определенных в байте состояния:

7 — "Потеря информации";

6 — "Ошибка записи в EEPROM";

0 – "Разряд литиевого элемента".

При считывании данных через оптический порт, указатель "Ошибка" исчезает, а биты ошибок в байте состояния сбрасываются.

7.7.1 Бит "Потеря информации" появляется в результате сбоев в работе счетчика при сохранении информации. В случае появления данной ошибки проверьте корректность информации о потреблении электроэнергии.

Если информация недостоверна, не исключена возможность, что счетчик неработоспособен, и желательно передать счетчик организации, занимающейся ремонтом счетчиков.

7.7.2 Бит "Ошибка записи в EEPROM" может означать выход из строя микросхемы EEPROM, при появлении данной ошибки направьте счетчик в ремонт.

7.7.3 Бит "Сбой часов" может означать, что информация в часах недостоверна, при этом необходимо перепрограммировать часы. После перепрограммирования часов убедиться в работоспособности часов (правильность отсчета времени и ведения календаря).

7.7.4 Бит "Разряд литиевого элемента" указывает на необходимость замены резервного источника и дублирует указатель на ЖКИ "Смените литиевый элемент".

7.8 Во время работы, счетчик выводит на ЖКИ сообщения об ошибках 7.8.1 "Error 01" ("Авария питания") означает снижение напряжения питания модуля тарификации ниже допустимого уровня, что может быть следствием снижения уровня напряжения на входах счетчика или неисправности узлов счетчика.

Это сообщение кратковременно появляется при выключении и включении напряжения на входах счетчика. Если сообщение выводится постоянно, то направьте счетчик в ремонт.

7.8.2 Следующие сообщения выводятся при обмене по оптическому интерфейсу:

"Error 02" ("Адресный запрос") означает, что в сообщении запроса присутствует адрес устройства.

Читайте так же:
Общая долевая собственность как платить по счетчику

"Error 03" ("Неверный пароль") означает, что при программировании был введен пароль несовпадающий с внутренним паролем счетчика. Введите верный пароль, либо направьте счетчик в ремонт.

"Error 04" ("Ошибка обмена по интерфейсу") означает, что в результате обмена по интерфейсу произошел сбой, либо неисправна интерфейсная часть счетчика или подключенного к нему устройства, либо нарушен протокол обмена. Если при повторной попытке сообщение повторяется, необходимо убедиться в работоспособности счетчика и подключаемого к нему устройства, правильность соединения этих устройств и правильности протокола обмена.

Следующие сообщения поступают в качестве сообщения об ошибке и по оптическому интерфейсу:

"Error 10" ("Недопустимое число параметров в массиве") означает, что число параметров превышает допустимое значение и параметр, в ответ которого послано это сообщение, игнорируется.

"Error 11" ("Команда не поддерживается устройством") означает, что принятая команда не поддерживается и была проигнорирована.

"Error 12" ("Адрес неизвестен") означает, что название программируемого параметра неизвестно. В этом случае команда не может быть выполнена.

"Error 13" ("Структура набора данных или его содержимое неправильны"). В этом случае команда не может быть выполнена.

"Error 14" ("Не нажата кнопка "Доступ"") означает, что отсутствует аппаратный доступ в память счетчика. Необходимо снять пломбу с кнопки "Доступ" и перевести счетчик в режим программирования.

"Error 15" ("Попытка непарольного программирования") означает, что программирование параметра было начато без предварительного выполнения команды "Р1".

"Error 16" ("Недопустимая длина данных") означает, что принятое число символов в наборе данных превышает максимальное.

Для устранения ошибок необходимо использование приложения В.

7.9 При обмене через оптический интерфейс счетчик выдает на ЖКИ следующие сервисные символы:

"o" — передача данных по интерфейсу;

"i" — прием данных по интерфейсу.

Если не заданы начала действия тарифов или они совпадают, учет количества потребленной энергии ведется по ночному тарифу.

Часы реального времени

Для работы с временем используют специальный таймер — часы реального времени (англ. real time clock). Очень часто это отдельная микросхема с резервным источником питания, однако в stm32 данный таймер уже встроен. Детальное описание блока, а так же пример работы с ним можно найти в документе AN2811. 1

Блок RTC работает от Vdd, если достаточное напряжение на нём присутствует. В противном случае блок переключается на ножку Vbat, к которой в нашем случае подключена батарейка CR2032. Регистр настроек RTC находится в back-up области, которая так же подключена к резервному источнику питания. По этой причине когда основное питание пропадает, таймер не сбрасывается и продолжает работать.

Тактирование может поступать от одного из трёх источников: внутреннего низкоскоростного RC-резонатора (LSI); внешнего низкоскоростного кварцевого резонатора (LSE); или внешнего высокоскоростного резонатора с делителем (HSE/128).

Внешний низкоскоростной резонатор, с частотой 32768 Гц, предпочтительнее, так как обеспечивает большую точность хода часов. В нашей плате стоит именно такой.

Почему именно 32768 Гц?

В момент, когда цифровая электроника только зарождалась в том виде, в котором мы привыкли видеть её сейчас, не было таких микроконтроллеров, как stm32f103c8, но были двоичные счетчики. 32768 = 2 15 , легко делится на 2, что в свою очередь делало удобным получать дробные значения секунды. Так и появился кварц с частотой колебаний 32768 Гц.

Кстати говоря, встречаются случаи, когда часы тактируют с частотой 50-60Гц от электросети.

Диаграмма блока приведена ниже.

Структура часов реального времени, изображение из Reference Manual

Блок RTC работает независимо от шины APB1, и использует специальный интерфейс для общения с остальной частью микроконтроллера.

Так как тактовый сигнал у шины APB1 и блока RTC разный, то доступ к регистрам возможен только по возрастающему фронту тактового сигнала часов реального времени. По-этому при работе с регистрами нужно "синхронизировать" действия с блоком RTC.

Перед любой записью в регистры нужно войти в режим настройки, записав единицу в бит CNF нижнего регистра настроек. При этом любая запись в регистры RTC возможна только, если предыдущая операция была завершена, о чём сигнализирует флаг RTOFF (там должна быть записана 1 ).

Алгоритм настройки часов в общем виде:

  1. опрос бита RTOFF до тех пор пока там не появится 1 ;
  2. установка бита CNF ;
  3. Запись значений в регистры;
  4. сброс бита CNF ;
  5. опрос бита RTOFF , чтобы удостовериться, что данные успешно записаны.

Запись в регистры производится только после сброса флага CNF , и занимает минимум 3 такта RTC.

Тактовый сигнал пропускается через предделитель, для того чтобы задать временное разрешение таймера. Например чтобы получить разрешение в 1 секунду с LSE, в регистр PRLL нужно записать 32768 — 1 .

Читайте так же:
Epson 7620 сброс счетчика

Часы могут генерировать три прерывания: по истечению секунды ( SECIE ); по достижению определённого времени (будильник, ALRIE ); и по переполнению счётчика ( OWIE ). Запретить ( 0 ) или разрешить ( 1 ) их можно через верхний регистр настроек CRH .

Русские Блоги

[STM32] Обзор часов реального времени RTC, регистры, библиотечные функции (общие шаги RTC)

"STM32 Chinese Reference Manual V10" — Глава 16 Часы реального времени (RTC)

Часы реального времени RTC

Введение в часы реального времени RTC

Часы реального времени — это независимый таймер. В модуле RTC есть набор счетчиков, которые ведут непрерывный подсчет. При соответствующей конфигурации программного обеспечения он может выполнять функцию календаря часов. Изменение значения счетчика может сбросить текущее время и дату системы. Модуль RTC и система конфигурации часов (регистр RCC_BDCR) находятся в резервной области, то есть после того, как система перезагружается или выходит из режима ожидания, настройки RTC и время остаются неизменными. Чтобы

Введение в реестр резервного копирования BKP

Резервный реестр42 16-битных регистра могут использоваться для хранения 84 байтов данных пользовательского приложения. Они находятся в резервном домене.При отключении питания Vdd они по-прежнему питаются от Vbat. Они не будут сброшены, когда система будет выведена из спящего режима в режиме ожидания, или когда система будет перезагружена или сбросится питание.

Кроме того, регистр управления BKP используется для управления функциями обнаружения вторжений и калибровки RTC.В этой статье используйте резервный регистр для хранения информации, относящейся к RTC (отметьте, были ли настроены часы).

После сбросаДоступ к реестру резервных копий и RTC запрещен, а домен резервного копирования защищен от возможных случайных операций записи. Выполните следующие операции, чтобы разрешить доступ к резервному регистру и часам реального времени.

  • Включите питание и синхронизацию резервного интерфейса, установив биты PWREN и BKPEN регистра RCC_APB1ENR;
  • Бит DBP регистра управления мощностью (PWR_CR) разрешает доступ к резервному регистру и RTC.
Основные особенности часов реального времени RTC
  • Программируемый коэффициент предделителя: максимальный делитель частоты 220;
  • 32-битный программируемый счетчик, который можно использовать для измерения длительного периода времени;
  • 2 отдельных тактовых генератора: тактовые импульсы PCLK1 и RTC, используемые для интерфейса APB1 (частота тактовых импульсов RTC должна быть менее четверти тактовой частоты PCLK1);
  • Вы можете выбрать следующие три источника тактовой частоты RTC:
  1. Часы HSE делятся на 128;
  2. Часы генератора LSE;
  3. Часы генератора LSI;
  • 2 независимых типа сброса:
  1. Интерфейс APB1 сбрасывается системой;
  2. Ядро RTC (предварительный делитель, будильник, счетчик и делитель) может быть сброшено только резервным доменом;
  • 3 специальных маскируемых прерывания:
  1. Аварийное прерывание, используемое для создания программно-программируемого аварийного прерывания;
  2. Второе прерывание, используется для генерации программируемого периодического сигнала прерывания (до 1 секунды);
  3. Прерывание переполнения, указывающее на переполнение внутреннего программируемого счетчика и его изменение на 0.

Принцип работы RTC

Блок-схема принципа работы RTC

Из рабочей блок-схемы видно, что RTC состоит из двух частей:

  • Интерфейс APB1:Используется для подключения к шине APB1. Через интерфейс APB1 вы можете получить доступ к соответствующим регистрам RTC (значение предварительного делителя, значение счетчика, значение аварийного сигнала)
  • Ядро RTC: состоит из набора программируемых счетчиков, разделенных на два основных модуля:
  1. Модуль предварительного делителя RTC, он может быть запрограммирован на создание временной базы TR_CLK RTC до 1 секунды. Если установлен второй бит разрешения прерывания, может быть сгенерировано второе прерывание;
  2. 32-битный программируемый счетчик может быть инициализирован на текущее время. Системное время накапливается в соответствии с циклом TR_CLK и сравнивается с программируемым временем, хранящимся в регистре RTC_ALR.При совпадении, если установлен бит разрешения прерывания по тревоге, может быть сгенерировано прерывание по тревоге; при переполнении может быть сгенерировано прерывание по переполнению.
Сбросить процесс
  • За исключением регистров RTC_PRL, RTC_ALR, RTC_CNT и RTC_DIV, все системные регистры сбрасываются асинхронно путем сброса системы или сброса питания.
  • Регистры RTC_PRL, RTC_ALR, RTC_CNT и RTC_DIV могут быть сброшены только сигналом сброса резервного домена.
Читать регистр RTC

Ядро RTC полностью не зависит от интерфейса APB1,Программное обеспечение получает доступ к регистрам, связанным с RTC, через интерфейс APB1.ноСоответствующие регистры обновляются только по нарастающему фронту часов RTC, повторно синхронизированных с часами RTC APB1. Таким образом, программное обеспечение должно дождаться установки бита флага синхронизации регистра (бит RSF RTC_CRL) перед чтением.

Читайте так же:
Сбросить счетчик вито 639

Это означает, что если интерфейс APB1 был закрыт, а операция чтения выполняется сразу после повторного открытия APB1, перед первым обновлением внутреннего регистра, значение регистра RTC, считанное из APB1, может быть уничтожено (обычно считывается К 0). Проще говоря, когда интерфейс APB1 отключен (сброс, отсутствие тактовой частоты или сбой питания), ядро ​​RTC продолжает работать. Затем снова откройте интерфейс APB1. В это время вы должны дождаться, пока бит RSF (флаг синхронизации регистров) в регистре RTC_CRL будет установлен оборудованием. После синхронизации значение регистра RTC может быть прочитано без ошибок.

Следовательно, если интерфейс APB1 RTC один раз находился в отключенном состоянии при чтении регистра RTC, программное обеспечение должно сначала дождаться, пока бит RSF регистра RTC_CRL будет установлен аппаратно.

Записать регистр RTC

Бит CNF в регистре RTC_CRL должен быть установлен для включения RTC.После входа в режим конфигурации можно записывать регистры RTC_PRL, RTC_CNT и RTC_ALR.

К тому же,Операция записи в любой регистр RTC должна выполняться после предыдущей операции записи.Вы можете проверить бит состояния RTOFF в регистре RTC_CR, чтобы определить, обновляется ли регистр RTC. Только когда бит состояния RTOFF равен 1, можно записывать регистр RTC.

Регистры конфигурации, относящиеся к RTC

Регистр управления RTC высокий (RTC_CRH)

Функция: настроить 3 специальных маскируемых прерывания (прерывание переполнения, прерывание тревоги, второе прерывание) для включения.

Низкий уровень регистра управления RTC (RTC_CRL)

Функция: завершена операция RTC или нет, оценка режима конфигурации, оценка синхронизации регистров, 3 бита флага прерывания.

Этот регистр особенно важен (особенно бит 5, бит 4, бит 3):

  • Перед записью любого регистра необходимо оценить, что последняя операция записи закончилась, то есть установлен ли бит RTOFF в 1;
  • Чтобы записать регистры CNT, ALR и PRL, вы должны сначала настроить бит CNF для входа в режим конфигурации.После изменения установите бит CNF в 0, чтобы выйти из режима конфигурации;
  • Чтобы прочитать любой регистр, вы должны сначала определить бит RSF, чтобы убедиться, что он синхронизирован.
Регистр загрузки предделителя RTC (RTC_PRLH, RTC_PRLL)

Функция: Настроить значение загрузки предварительного делителя RTC, это значение имеет длину 20 бит.

По значению этого регистра можно определить формулу отношения между TR_CLK и RTCCLK:

fTR_CLK=fRTCCLK/(PRL+1)

Если входная тактовая частота составляет 32,768 кГц (fRTCCLK, который использует LSE в качестве источника тактовой частоты), запишите 7FFFh (32767) в этот регистр, чтобы получить сигнал с периодом в 1 секунду.

Регистр остатка предварительного делителя RTC (RTC_DIVH, RTC_DIVL)

Функция: получить текущее значение счетчика предварительного делителя, то есть значение между обратным отсчетом от регистра загрузки предварительного делителя RTC до 0 (используя RTCCLK в качестве часов).

Регистр счетчика RTC (RTC_CNTH, RTC_CNTL)

Функция: сохранить значение счетчика в счетчике (принять TR_CLK как часы).

Примечание: Поскольку регистр остатка предварительного делителя RTC использует RTCCLK в качестве часов, а регистр счетчика RTC использует TR_CLK в качестве часов, а часы RTCCLK обычно намного больше, чем TR_CLK, более точное управление может быть получено с помощью регистра остатка предварительного делителя RTC. Например, регистр счетчика RTC хранит текущее время с точностью до секунды; но, используя регистр остатка предварительного делителя RTC, вы можете остановиться на среднем числе обратного отсчета регистра загрузки предварительного делителя RTC до 0, чтобы достичь более точного времени 0,5 секунды. .

Регистр аварийных сигналов RTC (RTC_ALRH, RTC_ALRL)

Функция: Когда значение регистра счетчика RTC равно значению регистра аварийного сигнала RTC, инициируется аварийное событие и генерируется аварийное прерывание.

Шаги по чтению и записи регистров RTC

Читать регистр RTC
  • Запрашивать бит RSF (бит флага синхронизации регистра), пока значение RSF не станет равным 1;
  • Прочтите один или несколько регистров RTC.
Записать регистр RTC
  • Запрашивайте бит RTOFF (бит отключения операции RTC), пока значение RTOFF не станет 1;
  • Установите бит CNF (бит флага конфигурации) в 1, войдите в режим конфигурации (только регистры PRL, CNT, ALR);
  • Записать регистр RTC;
  • Сбросьте флаг CNF и выйдите из режима конфигурации (только регистры PRL, CNT, ALR);
  • Проверяйте RTOFF до тех пор, пока бит RTOFF не станет равным 1, чтобы подтвердить, что операция записи завершена.

Другими словами:Для операций записи в регистр, независимо от того, устанавливается ли разрешение прерывания и т. Д., Вам необходимо запросить бит RTOFF один раз для каждой операции. Для регистров PRL, CNT и ALR также необходимо войти в режим настройки. Нет необходимости выходить из режима настройки после каждой операции. Вы можете дождаться завершения настройки перед выходом.

Читайте так же:
Монтаж счетчиков по воде

Функции библиотеки конфигурации, связанные с RTC

  • 2 функции работы с источником тактового сигнала

Функция: определение источника часов RTC, включение часов RTC (обычно выбирается источник часов LSE).

  • 3 функции конфигурации параметров

Функция: настроить значение регистра загрузки предварительного делителя, значение счетчика и конфигурацию сигнализации.

  • 1 функция конфигурации прерывания

Роль: настроить выбор и разрешение прерываний RTC.

  • 2 функции режима конфигурации

Функция: первый позволяет конфигурировать RTC, а второй выходит из режима конфигурирования.

  • 2 функции синхронизации

эффект:Первый ожидает завершения последней операции (бит RTOFF в регистре CRL), а второй ожидает тактовой синхронизации (бит RSF в регистре CRL).

  • 4 функции бита состояния

Функция: первые два получают (или сбрасывают) бит флага состояния, а последние два получают (или сбрасывают) бит флага состояния прерывания.

  • Другие связанные функции

эффект:Первая функция включает доступ к резервной области BKP, вторая функция включает часы PWR и BKP, а третья функция включает часы LSE.(Почему здесь используются эти функции? Это упомянуто выше: Введение в регистр резервного копирования BKP).

Функция: после того, как функция PWR_BackupAccessCmd (), указанная выше, включает область резервного копирования BKP, вы можете читать регистр BKP и записывать регистр BKP с помощью этих двух функций.

Общие шаги RTC

  • Включите часы PWR и BKP. Вызов функции: RCC_APB1PeriphClockCmd ();
  • Включите доступ к резервному реестру. Вызов функции: PWR_BackupAccessCmd ();
  • Настройте источник часов RTC и включите часы RTC. Вызывающая функция: RCC_RTCCLKConfig (); RCC_RTCCLKCmd ();
  • При использовании LSE откройте LSE: RCC_LSEConfig (RCC_LSE_ON);
  • Установите коэффициент предварительного делителя RTC. Вызывающая функция: RTC_SetPrescaler ();
  • Установить время. Вызов функции: RTC_SetCounter ();
  • Включите соответствующее прерывание (при необходимости). Вызывающая функция: RTC_ITConfig ();
  • Функция обслуживания прерывания записи. Вызов функции: RTC_IRQHandler ();
  • Некоторые операции должны ждать завершения операции записи и синхронизации. Вызов функций: RTC_WaitForLastTask (); RTC_WaitForSynchro ().

Выполните следующие общие шаги, чтобы выполнить простую программу RTC:

Анализ управляющей программы STM32

Функция RTC_Init (): функция инициализации RTC.

Инициализируйте функцию RTC в соответствии с предыдущими общими шагами RTC.Здесь следует отметить, что для того, чтобы отличить, выполняется ли функция RTC_Init () впервые, здесь используется флаг (записать 0x5050 в регистр BKP_DR1, конечно, записать также другие числа. разрешено).

Зачем различать, выполнять ли RTC_Init в первый раз? Потому что, если программа прерывается из-за сбоя питания и других факторов, но часы RTC все еще работают; при восстановлении питания и перезапуске программы нет необходимости инициализировать часы RTC в это время.

Одновременно,Установите внешний низкоскоростной кварцевый генератор (LSE) и используйте периферийный низкоскоростной кварцевый генератор. Необходимо проверить, установлен ли указанный флаг RCC или нет, и дождаться готовности низкоскоростного кварцевого генератора.

Установка времени здесь: расстояние по времени от 0:00:00 1 января 1970 года. Среди них содержимое таких функций, как RTC_Get () и RTC_Set () включает в себя различные алгоритмы преобразования времени и расстояния, которые выходят за рамки данной статьи.

Счетчик часов реального времени

RTC (часы реального времени) используются для отображения реального времени и периодического пробуждения. RTC может отображать год, месяц, день, неделю, час, минуту, секунду в реальном времени. RTC имеет независимое питание для продолжения работы при отключенной системе.

RTC имеет следующие особенности:

Диаграмма дерева часов Древовидная схема часов реального времени показана на Рисунке 3-35.

3.13.3. Операции и функциональные описания

Внешние сигналы

Таблица 3-10. Внешние сигналы RTC

Часы и сброс
Типичное применение

Рисунок 3-36. Схема применения RTC

Система обращается к регистру RTC через APBS1 для генерации реального времени.

Если внешнему устройству нужен низкочастотный генератор, который может быть предоставлен X32KFOUT.

Реализация функции

1. Источники синхронизации

RTC имеет 1 источник синхронизации: внутренний RC.

При использовании внутреннего RC, часы RTC могут быть изменены путем изменения коэффициента деления, или точные часы 32K могут быть выведены путем включения схемы калибровки.

2. Часы реального времени

Рисунок 3-37. Счетчик RTC

Счетчик 1K добавляет 1 по каждому переднему фронту тактового сигнала. Когда число часов достигает 0x3FF, счетчик 1K снова начинает отсчет с 0, а второй счетчик добавляет 1.

Структура шагов счетчика 1KHz следующая.

Рисунок 3-38. Структура шага счетчика RTC 1 кГц В соответствии с приведенной выше реализацией диапазон изменения каждого счетчика следующий.

Читайте так же:
Счетчик монет billcon chs 10

Таблица 3-11. Диапазон изменения счетчиков RTC

65535 (год, месяц, день должны быть преобразованы программным обеспечением в соответствии с дневным счетчиком)

Поскольку в оборудовании нет механизма исправления ошибок, обратите внимание, что каждая конфигурация счетчика не должна выходить за пределы разумного диапазона счета

Принцип alarm0 — это компаратор. Когда таймер RTC достигает запланированного времени, RTC генерирует прерывание. RTC генерирует только одно прерывание, когда таймер RTC достигает запланированного счетчика дня, часа, минут и секунд, затем RTC необходимо установить новое запланированное время, может быть сгенерировано следующее прерывание.

4. Хранение при выключенном питании

RTC предоставляет шестнадцать 32-битных регистров общего назначения для хранения информации при отключении питания.

Когда система находится в режиме выключения или ожидания, ЦП может судить о программном процессе по сохраненной информации.

Модуль RTC имеет LDO, входной источник LDO — VCC_RTC, выход LDO — RTC_VIO. Но VCC_RTC пакета H616 внутренне подключен к VCC_PLL, а RTC_VIO недоступен в пакете H616.

6. Калибровка RC

Базовая схема калибровки RC показана на рисунке 3-39. Выводить ли откалиброванные часы RC можно выбрать с помощью бита управления RC_Cali_SEL, принцип калибровки следующий.

Рисунок 3-39. Базовая схема калибровки RC

Как показано на рис. 3-40, используя HOSC (24M) в качестве эталонных часов, вычислите номер счетчика M тактовых импульсов RC в пределах 1 мс / 16 мс / 128 мс для получения точной частоты внутреннего RC.

Разделив точную частоту на 32,768 кГц, получается делитель частоты (K) от тактовой частоты RC до 32,768 кГц. Наконец, RC16M делится на частоту 32,768 кГц делителем частоты (K).

Рисунок 3-40. Форма волны RC и HOSC

Принцип калибровки — выход 32,768 кГц, нет входа 16 МГц.

7. Пробуждение по времени DCXO

Логика схемы синхронизированного пробуждения DCXO относительно проста, включая два элемента управления: автоматическое включение аппаратного пробуждения по времени и продолжительность пробуждения по времени (конфигурация программного обеспечения).

Активизация по времени означает, что схема DCXO должна активировать выходные часы каждую секунду (от 1 до 60 с, обычно температура окружающей среды меняется незначительно за несколько секунд) для калибровки 32K в сценарии супер-ожидания или выключения, после калибровки цепь DCXO работает закрыто, закрытое время — это синхронизированное время пробуждения (конфигурация программного обеспечения).

Время цепи DCXO от начала пробуждения до стабильного выхода составляет 3

4 мс. Хотя функция пробуждения по времени закрыта, цепь DCXO всегда работала. Процесс включения по времени показан на рисунке 3-41.

Рисунок 3-41. Форма сигнала синхронизированного пробуждения DCXO

Время калибровки в выключенном состоянии или в супер-режиме ожидания: синхронизированное время пробуждения, настроенное программным обеспечением + время DCXO от пробуждения до стабильного выхода + время калибровки. Время пробуждения по времени, настроенное программным обеспечением на рисунке, составляет 1 с, и его можно настроить с помощью программного обеспечения в приложении. Это теоретическое максимальное значение для DCXO от пробуждения до стабильной выходной тактовой частоты за 4 мс, конкретное значение зависит от результатов измерений IC. В любой момент из этих трех периодов запуск или выход из супер-режима ожидания не вызовет сбоев DCXO.

Разрешающий сигнал DCXO и разрешающий сигнал синхронизированного пробуждения DCXO представляют собой логику «ИЛИ», и они не противоречат друг другу.

Интервал между непрерывной операцией включения DCXO и операцией отключения не менее 4 мкс.

Рабочий режим

1. Календарь RTC

RTC может обеспечивать только счетчик дней, поэтому счетчик текущего дня необходимо преобразовать в год, месяц, день и неделю с помощью программного обеспечения.

По истечении заданного времени каждый раз перед выполнением следующей настройки необходимо убедиться, что бит [8: 7] LOSC_CTRL_REG равен 0.

Установите бит 0 для 32K_FANOUT_GATING_REG в 1 и убедитесь, что внешний подтягивающий резистор и напряжение в норме, тогда можно будет выводить прямоугольный сигнал разветвления 32,768 кГц.

4. Шифрование данных DRAM

Обратите внимание, что этот шаг необходимо выполнять перед каждой операцией чтения и записи, иначе операция регистрации не будет успешной.

5. Сценарий использования калибровки RC

3.13.4. Рекомендации по программированию

Часы реального времени

Например: установить время — 21 минута, 07:08:09

RTC_DAY_REG = 0x00000015; RTC_HH_MM_SS_REG = 0x00070809; // 0000 0000 000 | 0 0000 (час) 00 | 00 0000 (минута) 00 | 00 0000 (секунда) Read (RTC_DAY_REG); Read (RTC_HH_MM_SS_REG);

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector