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

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

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

В качестве системного таймера компьютера используется микросхема трехканального 16-разрядного таймера i8254 или ее аналог. Таймер предназначен для получения программно управляемых временных задержек и генерации сигналов заданной частоты. Таймер позволяет повысить эффективность программирования процессов управления и синхронизации внешних устройств, особенно в реальном времени.

Таймер содержит три независимых канала (0, 1 и 2), каждый из которых может быть, в принципе, запрограммирован на работу в одном из шести режимов счета:

  • прерывание терминального счета;
  • программируемый генератор одиночного импульса;
  • генератор импульсов заданной частоты;
  • генератор прямоугольных импульсов типа «меандр»;
  • программно формируемый строб;
  • аппаратно формируемый строб.

На каждый канал могут подаваться входные синхросигналы. Из каждого канала можно получать сигнал с частотой, равной входной частоте, деленной на произвольное 16-разрядное число. В компьютере на все входы поступают синхросигналы частотой 1,19 МГц. Все каналы таймера в компьютере имеют специальное назначение, поэтому особой свободы в выборе режима работы или переназначении функций у пользователя нет.

  • Выход канала 0 связан с сигналом запроса прерывания IRQ0 и обеспечивает прерывание для счетчика реального времени (используется режим работы 3). Пользователю не рекомендуется перепрограммировать этот канал. При старте компьютера канал программируется так, чтобы выдавать импульсы примерно 18,2 раза в секунду. По этому прерыванию программно увеличивается состояние счетчика реального времени. Пользователь может читать состояние данного счетчика из специально выделенной ячейки памяти и применять его для задержек в своих программах.
  • Выход канала 1 генерирует сигнал запроса регенерации динамической памяти (режим работы 2). Использование этого канала не по назначению может привести к потере содержимого оперативной памяти.
  • Выход канала 2 генерирует тональный сигнал для встроенного динамика компьютера (режим работы 3). Однако разрешение этого тонального сигнала производится установкой выделенных разрядов (0 и 1) программно доступного параллельного порта контроллера периферийных устройств. Один разряд (0) разрешает работу канала, другой разряд (1) пропускает выходной сигнал на динамик.

Таким образом, пользователь компьютера может задействовать только канал 2. Чаще всего его применяют для генерации звуков заданной частоты и длительности. Кроме того, выходной сигнал данного канала программно доступен по чтению из одного из разрядов параллельного порта. Это позволяет, запрограммировав таймер соответствующим образом, выдерживать нужные временные интервалы. Для этого следует программно разрешить генерацию (при отключенном динамике), а затем программно опрашивать выходной сигнал таймера и принимать решения по изменению его уровня.

Подсистема часов реального времени в первых компьютерах выполнялась на микросхеме контроллера MC146818 фирмы Motorola. Этот контроллер содержит 64 байта СMOS-памяти, из которых первые 14 байт используются для часов реального времени, а остальные 50 байт хранят информацию о конфигурации системы.

Читайте так же:
Отрегулировать тормоз передний велосипед

Для входного тактового сигнала контроллера применяется специальный «часовой» кварцевый генератор с частотой 32 768 кГц, что позволяет с помощью деления частоты получить импульсы с частотой 1 Гц. Контроллер считает секунды, минуты, часы, дни недели, месяцы и годы. Причем работает он даже при отключении питания компьютера, подпитываясь от батареи или аккумулятора. Это позволяет сохранять информацию о текущем времени постоянно.

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

RDC2-0042, Годовой таймер. Планировщик событий по календарю

RDC2-0042, Годовой таймер. Планировщик событий по календарю

Таймер позволяет управлять реле по расписанию в любой день на протяжении года. Расписание составляется в удобной форме в программе на ПК, и записывается в память таймера через порт USB. Реальное время таймера синхронизируется в системным временем персонального компьютера. В устройство встроена резервная батарея бесперебойного хода часов в течение года.

Примеры использования:

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

Автополив растений. Для регулярного увлажнения грунта на участке во время отпуска или командировки.

Аквариум: управление светом и подачей воздуха в аквариумах

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

Утреннее включение бытовых приборов: чайники, кофеварки, увлажнители воздуха. Можно использовать прибор в качестве будильника (подключив к таймеру любое электрооборудование: ТВ, магнитолу, радиоприемник, свет).

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

Освещением рекламных баннеров, щитов, фасадов зданий, уличных витрин магазинов.

Технические характеристики

Цикл работы — годовой (366 дней)
Шаг установки — 1 мин.
Количество событий (on/off) — 1524
Время автономной работы часов — 1 год.
Потребляемая мощность — не более 1 Вт
Напряжение питания DC – 5В
Настройка – USB ПК
Синхронизация часов – системное время ПК
Формат файла расписания — .txt
Размер платы мм – 50,8 x 50,8 x 10,0

Читайте так же:
Дэу тико регулировка карбюратора

Схема

Схема

Таймер собран на микроконтроллере STM32F042K6T6 с аппаратным USB. В качестве часов реального времени используется микросхема DS3231SN+. Это сверхточные RTC с интерфейсом I2C, ТСХО и внутренним резонатором. Расписание работы таймера записывается и хранится в энергонезависимой памяти емкостью 64Кбит M95640-WMN6P. Порт USB защищён USBLC6. Индикация времени и режимов работы выведена на четыре семисегментных светодиодных индикатора в SMD корпусах и светодиод.

Подключение

Управляющий выход таймера можно подключить двумя способами. Через оптопару обеспечивающую гальваническую развязку. Непосредственно с уровнями управляющего сигнала 3,3В или TTL 5В.

Схема включения с опторазвязкой. На примере одноканального релейного модуля RDC1-1RT.

Схема OP

Схема включения без опторазвязки.

Схема NOOP

Работа с программным обеспечением.

Все настройки таймера производятся с помощью специального ПО. Для корректной работы программы необходимо сначала подключить таймер к порту USB, а затем запустить оболочку RDC2-0041.
Если вы собираете таймер самостоятельно, то прошивать его нужно с помощью бесплатной утилиты DfuSeDemo. Инструкцию по прошивке найдете на github или нашем сайте в разделе документация.

Установка внутренних часов.

Установите в батарейный отсек элемент питания CR1220. Подключите устройство к порту USB и затем откройте программу настройки. В пункте меню «Сервис» наступите на строчку «Настройка времени».

Часы

Откроется окно синхронизации времени. В нём выберите часовой пояс, свой или тот в который вы захотите отправить устройство для установки. Установите галочку в чекбокс «Синхронизировать время с ПК» и нажмите кнопку «Применить». Микросхема RTC настроится на время ПК и на индикаторах таймера отобразится текущее время.

Расписание событий.

На главном поле программы выберите месяц и дату. Затем переходите в пункт меню «Событие». Выберите «Создать». Откроется окно «Событие». Установите время события и выберите действие реле – «Отключено», «Включено». После нажатия кнопки «Применить» событие отобразится в выбранном дне недели. И включится индикатор с количеством событий в эту дату.

Событие

Событие

Минимальное время между событиями – 1 минута.
Затем переключайтесь на следующую дату и заполняйте её событиями.
Всего возможных событий (вкл/выкл) – 1524. Их можно распределить в любой комбинации по всем датам.

Событие

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

Читайте так же:
Порядок регулировки клапанов дэу сенс

Сохранение расписания в файл.

При необходимости можно сохранить расписание в формате .txt или загрузить сохранённое. Пункт меню «Файл». При необходимости можно внести изменения непосредственно в сохранённый файл и снова загрузить расписание в устройство.

Событие

После заполнения расписания событиями откройте пункт меню «Сервис» и «Загрузите все события в устройство». Отключайте устройство от USB. Таймер готов к работе!

Загрузка и чтение конфигурации. Стирание.

Когда расписание создано в ПО, его необходимо загрузить в устройство. В пункте меню «Сервис» выберите «Загрузить конфигурацию в устройство»

Загрузка конфигурации

Загрузка конфигурации

Для того чтобы прочитать всю конфигурацию записанную ранее в устройство в пункте меню «Сервис» выберите «Прочитать конфигурацию устройства».
При необходимости можно «Очистить конфигурацию устройства». В этом случае сотрется вся память модуля RDC2-0042.

Список горячих клавиш.

Ctrl+O открыть текстовый файл с расписанием

Ctrl+S сохранить расписание в текстовый файл

Ctrl+N создать новое событие

Ctrl+H редактировать событие

Индикация

Кнопка с правой стороны от дисплея переключает индикатор в один из четырёх режимов отображения.

1. Показывает текущее время. Разделительная точка включается раз в секунду.

2. Показывает отсчет времени до начала следующего события. Разделительная точка быстро моргает. Если до начала события больше чем 24 часа на дисплее отображаются только дни с символом — d

3. Если расписание не заполнено на дисплее отображаются четыре прочерка.

4. Дисплей выключен.

Это открытый проект! Лицензия, под которой он распространяется – Creative Commons — Attribution — Share Alike license.

Управление временем в linux

Управление временем в linux это комплекс мероприятий по настройке серверов и рабочих станций локальной сети для установки и поддержания точного времени.

Полный план мероприятий по управлению временем включает в себя

  • развёртывание сервера времени в локальной сети
  • установка часового пояса на рабочих станциях локальной сети
  • синхронизация времени между рабочей станции и сервером
  • синхронизация аппаратных часов на рабочей станции

Описание управления временем в linux приведено на примере операционной системы Debian GNU/Linux.

Системное время

Системным временем называется дата и время используемые Операционной средой.

Системное время первоначально устанавливается на основании значений аппаратных часов и часового пояса и действует до первой синхронизации с сервером точного времени. Установка системного времени операционной среды запускает процесс синхронизации часов в локальной сети.

Читайте так же:
Регулировка рулевой колонки авто

Аппаратные часы

Аппаратным временем называется дата и время используемое компьютером, когда он выключен.

Аппаратные часы устанавливаются и хранятся в БИОС компьютера.

В некоторых случаях хранение времени в аппаратных часах в формате UTC может предоставлять определённые неудобства. Например при установке времени BIOS/CMOS вручную (в соответствии с наручными часами) придётся самостоятельно учитывать разницу в часовых поясах. Или например при совместном использовании на одном компьютере операционных систем Windows и linux.

Для изменения в Linux стандарта хранения времени в аппаратных часах

  • отказ от хранения времени в аппаратных часах в формате UTC
  • применение нового стандарта хранения аппаратного времени

Развёртывание сервера точного времени

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

В качестве Сервера точного времени может быть использована например программа Chrony.

Настройка часовых поясов и «летнего времени»

Часовой пояс это геофизическое деление земного шара на части по 15 градусов каждая, начиная с Гринвича, в Англии.

Настройка часового пояса необходима, если аппаратные часы хранят время в формате UTC, как это принято по умолчанию в linux и в месте установки рабочей станции осуществляется переход на «летнее/зимнее время».

Для установки часового пояса могут быть использованы команды

  • Изменение часового пояса на сервере

Синхронизация времени в локальной сети

Синхронизация времени в локальной сети это процесс связи рабочей станции с помощью NTP-клиента с сервером точного времени в локальной сети для синхронизация с ним своего системного времени.

Для синхронизации времени могут быть использованы например утилита ntpdate или сервер времени ntp, работающий в режиме клиента.

Для синхронизации системного времени с помощью ntpdate

  • для «непрерывной» синхронизации с помощью cron, в например /etc/crontab добавляется строка
  • для разовой синхронизации

Синхронизация системного времени и аппаратных часов

Синхронизация системного времени и аппаратных часов это процесс установки аппаратных часов рабочей станции в соответствии с системным временем.

Такая синхронизация требуется например при настройке автовключения рабочих станций по времени, например при использовании компьютера в качестве будильника или при одновременном (поочерёдном) использовании на рабочей станции операционных сред Linux и windows.

Дата и время

Раздел Дата и время предназначен для установки текущего времени на узле НЕЙРОСС.

Переход к функционалу: Рабочий стол НЕЙРОСС > Конфигурация узлов > Дата и время.

Читайте так же:
Регулировка карбюратора бензокосы чемпион т436

Общие сведения

Настройки даты и времени необходимы для фиксации точного времени и хронологии событий в Журнале событий, а также для синхронизации событий и данных между несколькими узлами НЕЙРОСС. Текущее состояние синхронизации времени можно просмотреть на странице раздела Сеть.

Установка даты и времени вручную

Если установка даты/времени проводится не под учётной записью root, а под «облачной» учётной записью, необходимо, чтобы данная учётная запись была загружена в текущий узел. Если вы перешли к настройкам этого узла с IP-адреса другого узла, необходимо синхронизировать узлы по параметру «Общий ресурс» (см. раздел Сеть).

  1. Выполните подключение к веб-интерфейсу узла (см. раздел Вход в интерфейс НЕЙРОСС);
  2. В разделе Конфигурация узлов — Дата и время:
    1. В поле Временная зона из раскрывающегося списка выберите требуемую временную зону;
    2. Если узел один и NTP-сервера в сети нет, выберите Ручной режим задания временных параметров, введите дату и время вручную или нажмите на кнопку Выставить локальное для синхронизация с локальным временем на компьютере;

    При наличии NTP-сервера (любой узел Платформа НЕЙРОСС или ITRIUM можно использовать в качестве NTP-сервера) выберите Автоматический режим, введите адрес NTP-сервера (IP-адрес узла Платформа НЕЙРОСС или ITRIUM) и нажмите Синхронизировать;

    Синхронизация всех узлов по одному NTP-серверу

    Для обеспечения взаимодействия узлов НЕЙРОСС между собой абсолютно необходимо, чтобы все узлы сети были синхронизированы по времени. Для каждого узла рекомендуется использовать режим автоматической синхронизации по одному NTP-серверу. В качестве NTP-сервера может выступать сервер Платформа НЕЙРОСС или ITRIUM, общедоступный сервер времени или любой другой сервер. Синхронизация времени на узлах сети НЕЙРОСС может быть выполнена двумя способами:

    • Посредством узла ITRIUM: в программе «Администратор системы» в окне частных свойств элемента Служба НЕЙРОСС установите флаг в поле NTP сервер и сохраните изменения. Не позднее пяти минут на всех узлах домена будет выбран Автоматический режим, в качестве NTP-сервера будет указан ip-адрес узла ITRIUM. Дополнительную информацию см. разделе Настройка «Службы НЕЙРОСС»
    • Средствами раздела Сеть веб-интерфейса: выберите устройства, нажмите на кнопку Синхронизация времени и введите адрес NTP-сервера. При этом настройки в разделе Дата и время изменены не будут, будет выполнена разовая процедура синхронизации.

    ЗАМЕЧАНИЕ

    Для самих узлов ITRUIM синхронизация времени по NTP-серверу задаётся на сервере средствами операционной системы.

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