Форум программистов, компьютерный форум, киберфорум
Наши страницы
Метрология
Войти
Регистрация
Восстановить пароль
 
Etien
47 / 46 / 2
Регистрация: 26.01.2014
Сообщений: 330
1

Точность компьютерного времени и ее поддержание

19.06.2019, 18:10. Просмотров 320. Ответов 7
Метки нет (Все метки)

Джентльмены!
Относительно недавно выплыл вопрос, на который я не могу ответить без специальных исследований. Возможно с похожей проблемой сталкивались коллеги.
В компьютере произошло некоторое событие, ну скажем прерывание, или аппаратное изменение какой-то переменной. Или внешний импульс имеется. Мне нужно постараться с максимально возможной точностью привязать это событие к астрономическому времени.
Проблемы здесь понятны. Насколько стабильны часы компьютера, как часто их желательно подводить и как это сделать аппаратно? Допустимо-ли хранить время между коррекциями часов генератором компьютера, или же придется городить внешний стабильный генератор и синхронизовать уже его с астрономическим временим? Имеется ли какой-то доступный сигнал точного времени по которому можно синхронизоваться? Ну и все прочее относительно измерения времени компьютером.
Точность - совсем хорошо, если бы можно было реализовать микросекунды. Если нельзя - то сколько можно?
Буду благодарен за идеи. Не скрывайте какой личный опыт - тоже будет полезно.
Всегда Ваш - Etien
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2019, 18:10
Ответы с готовыми решениями:

Разработка часов реального времени на МС68НС11 (точность до 1 мин)
Всем привет. Необходимо разработать часы на МС68НС11, время отображаться будет на жк индикаторе....

Sleep() имеет плохую точность задержки времени, есть альтернативы?
Столкнулся с проблемой в коде с++ установка Sleep(1);//Задержка кода на 1 миллисек. Однако это...

Вычислить сумму с точность до e. Точность достигается, когда очередное слагаемое получается <= e
Вычислить сумму с точность до e. Точность достигается, когда очередное слагаемое получается &lt;= e. ...

Вычислить сумму с точность до e. Точность достигается, когда очередное слагаемое получается <= e
Вычислить сумму с точность до e. Точность достигается, когда очередное слагаемое получается &lt;= e.

Оператор Until. Вычислить сумму с точность до e. Точность достигается, когда очередное слагаемое получается <= e
Оператор Until. Вычислить сумму с точность до e. Точность достигается, когда очередное слагаемое...

7
i8085
2136 / 1503 / 296
Регистрация: 11.09.2009
Сообщений: 5,447
21.06.2019, 02:27 2
Цитата Сообщение от Etien Посмотреть сообщение
вопрос, на который я не могу ответить без специальных исследований
Похоже, вы даже не пытались начать эти "исследования". Если бы вы прочитали хоть первые две-три ссылки из этого, вы бы задавали совсем другие вопросы.

Цитата Сообщение от Etien Посмотреть сообщение
Насколько стабильны часы компьютера
Ровно настолько, насколько стабилен кварц, установленный на материнке. Где почитать о стабильности кварцевых резонаторов - легко найдёте сами.

Цитата Сообщение от Etien Посмотреть сообщение
часы компьютера, как часто их желательно подводить
Посчитаете, за сколько времени набежит допустимый уход часов в зависимости от стабильности кварца, - через такие интервалы и корректировать.

Цитата Сообщение от Etien Посмотреть сообщение
как это сделать аппаратно?
См. ответ на первый вопрос. Например, так.

Цитата Сообщение от Etien Посмотреть сообщение
Ну и все прочее относительно измерения времени компьютером.
Точность - совсем хорошо, если бы можно было реализовать микросекунды. Если нельзя - то сколько можно?
Время из RTC - с точностью до миллисекунд, но точность его установки - см. выше. Есть ещё системный таймер, дискрет миллисекунда. Есть более точный системный, дискрет микросекунда, но он, как и миллисекундный, ни к чему не привязан (запускается при включении компьютера) и, главное, практически бесполезен в системах, у которых многозадачность реализована распределением временных интервалов между потоками. Кроме того, от события, которое вы хотите отловить, до момента, когда вы его программно фиксируете, может пройти произвольный интервал времени, до 20 миллисекунд. Компьютерная ОС - не жёсткая RTOS.

Так что только с ресурсами ПК и его ОС расчитывайте на точность "астрономического времени" плюс-минус 1 секунда. Если нужно точнее, - то возможно спасёт какая-то дополнительная аппаратура. Но как туда мгновенно передать информацию о "прерывании, или аппаратном изменении какой-то переменной" - это уж вы сами с нобелевским комитетом договаривайтесь.
0
Etien
47 / 46 / 2
Регистрация: 26.01.2014
Сообщений: 330
21.06.2019, 03:24  [ТС] 3
Mersi!
Да, на максимальную точность не проверял, не знаю. Поэтому и возник вопрос по форуму. Возможно кто-то уже делал то, что предстоит мне. А учиться хорошему не зазорно.
Понимаю, что зависит от генератора и его стабильности. Какова она максимально допустимая пока не знаю. Из Вашего сообщения тоже не узнал. Вообщем, как Вы верно когда-то заметили:

Ну и зачем было писать "ни о чём"... Не разбираетесь в вопросе сами, ну так и не вводите людей в заблуждение.
И на всякий случай, если будете выворачиваться, что "немного не то хотели сказать"...
Раньше доводилось контролировать десятки миллисекунд - там проблем не возникало.
Если доведется использовать внешнюю аппаратуру, то все вопросы стабильности и корректировки времени, как и временное фиксирование сигнала должно решаться там, аппаратно. И привязывать тогда придется внешний импульс. Когда и как считать эту внешнюю аппаратуру уже не принципиально. Если можно обойтись только компом, то нет проблем обойтись только голым компом с только с единственной программой регистрации. Хотя там своих хлопот будет.
И наконец из тезиса, что хорошему учить не зазорно. Попробуйте потренироваться чуть-чуть уважать своего собеседника. Даже за глаза, в Инете. Вы не поверите - окупиться в жизни. Etien.
0
i8085
2136 / 1503 / 296
Регистрация: 11.09.2009
Сообщений: 5,447
21.06.2019, 14:28 4
Цитата Сообщение от Etien Посмотреть сообщение
Попробуйте потренироваться чуть-чуть уважать своего собеседника.
Обычно если вопрос не вызывает ни малейшего уважения, я просто не отвечаю.

Цитата Сообщение от Etien Посмотреть сообщение
...зависит от генератора и его стабильности. Какова она максимально допустимая пока не знаю. Из Вашего сообщения тоже не узнал.
Если не читать, что рекомендуют, то узнать можно мало что.
Стабильность обычного, не прецизионного, кварцевого резонатора, которые ставят на материнские платы, примерно 30 - 100 ppm, т.е. для кварца на 32768 кГц, который в RTC, частота при комнатной температуре может болтаться от ±1 до ±3 Гц. Если стоит хороший кварц с долговременной стабильностью 10 ppm, то может быть и ±0,3Гц. Чтобы пересчитать в стабильность интервала 1 с, надо погрешность разделить на 32768, итого получится 1 с ±9 мкс. Если поставить прецизионный кварц с 3 ppm и добавить цепь точной начальной подстройки частоты, то можно получить стабильность 32768±0,1 Гц. Если нужно точнее - кварц можно термостатировать.

А прежде, чем "считать эту внешнюю аппаратуру", проработайте вопрос стабильности (повторяемости) задержки от момента интересующего вас события до момента регистрации его вашей мониторящей программой, которая будет формировать этот "внешний импульс". В системах типа Windows это проблема, а в вашей задаче - основной момент, способный угробить всю точность.
0
21.06.2019, 14:28
Etien
47 / 46 / 2
Регистрация: 26.01.2014
Сообщений: 330
22.06.2019, 17:45  [ТС] 5
Да, спасибо. Компьютер будет не мой, но можно наложить требования на него. Оценка стабильности таймера компьютера Вашими подсказками имеется. И она вполне удобоварима. Теперь остается вопрос привязки таймера компьютера к астрономическому времени. Как Вы видимо понимаете никакие Инетные серверы времени здесь помочь не могут. Пока сигнал истинного времени дойдет через сеть до поправляемого компьютера пройдет любое время. Думается придется смотреть на навигационные радио сигналы точного времени. Но тогда нужно тратиться на специальный приемник (какой ? где приобрести и сколько может стоить ? ).
Если задачу решать внешней электроникой - есть внешний стабильный генератор сохраняющий время, внешний приемник сигналов точного времени и аппаратура поправки, внешний механизм временной фиксации регистрируемого импульса. Тогда каким компьютером и когда я прочитаю зафиксированное уже время роли не играет.
Если завести нужный мне временной сигнал куда-нить в регистр компа, то время проверки программой состояния этого регистра в многопользовательской многозадачной системе конечно тоже будет абсолютно произвольно. Как вариант возможно на задачу поставить "голый" комп, в котором крутится единственная программа. Я знаю, что это большой гимор. Приходилось не полностью отключать операционку, а лишь ее какие-то части, и в этом случае работа довольно противна. Вот и взвешиваю за что удобнее ухватиться, и что будет дешевле и в деньгах и в личных усилиях.
Всегда Ваш - Etien
0
i8085
2136 / 1503 / 296
Регистрация: 11.09.2009
Сообщений: 5,447
22.06.2019, 23:24 6
Цитата Сообщение от Etien Посмотреть сообщение
Но тогда нужно тратиться на специальный приемник (какой ? где приобрести и сколько может стоить ? ).
Если задачу решать внешней электроникой - есть внешний стабильный генератор сохраняющий время, внешний приемник сигналов точного времени
Процитировано даже не из разных мест, а прямо подряд, как у вас написано.
То вы даже не представляете, какой нужен приёмник, то он у вас есть... Вы уж определитесь, а то создаётся впечатление, что вы просто мозги морочаете. Потому что любой другой уже давно набрал бы в поисковике "приёмник сигналов точного времени" и говорил бы уже о приёмниках ГЛОНАСС/GPS/SBAS или о приёмниках сигналов точного времени наземных радиостанций (ссылка первая попавшаяся) и их точностных характеристиках.
Особенно напрягает тот факт, что вы упорно избегаете обсуждения основного момента этого "проекта", - как распознавать и отлавливать
Цитата Сообщение от Etien Посмотреть сообщение
В компьютере произошло некоторое событие, ну скажем прерывание, или аппаратное изменение какой-то переменной.
Получается, что или вы не видите сложности этого момента, потому что абсолютно не разбираетесь в устройстве компьютера (надеюсь, что причина эта), или опять же потому, что у вас другая задача, - морочить голову, просто пофлудить на форуме.
0
Etien
47 / 46 / 2
Регистрация: 26.01.2014
Сообщений: 330
23.06.2019, 00:01  [ТС] 7
Задача в начале пути. Таких задач с высокой точностью я не решал. Путей решения может быть много, какой конкретный еще не выбран. Тема вынесена на обсуждение - послушать людей решавших подобные задачи. И те трудности и радости которые за решениями стоят. Приемник навигационных сигналов точного времени естественно не выбран еще. Хотелось бы обойтись минимальными тратами.
Что Вы хотите распознавать и отлавливать? Сигнал, который нужно привязать ко времени может иметь разную форму. Для привязки внешней аппаратурой удобно иметь как импульс. Если измерителем может быть сам компьютер, то он, сигнал, может быть заведен на какой регистр компьютера, или линию прерывания, или проявиться в процессе работы программы. Тогда это изменение состояния компьютера.
У меня тоже складывается не самое лучшее мнение о вашем опыте. Подобных задач Вы явно не решали. А апломба много. Думается Вам стоит угомониться и не морочить себе мозги. Ну не про вас задача. Возможно все-же найдутся люди, хотя бы с минимальным опытом в интересующих меня вопросах. Ну а нет - так буду приобретать опыт самостоятельно. Дольше, но вероятно, полезнее. Etien.
0
i8085
2136 / 1503 / 296
Регистрация: 11.09.2009
Сообщений: 5,447
23.06.2019, 09:15 8
Цитата Сообщение от Etien Посмотреть сообщение
Ну не про вас задача. Возможно все-же найдутся люди, хотя бы с минимальным опытом в интересующих меня вопросах.
Как скажете.
Успехов.
0
23.06.2019, 09:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2019, 09:15

Грамотное создание, поддержание и монетизация
Доброго времени суток! Прошу грамотного совета да напутствия на будущее тех, кто имел или имеет...

Разработать программу, моделирующую организацию и поддержание очереди
Помогите пожалуйста сделать курсовую работу. Я не знаю как ее делать ЗАДАЧА 1 В...

Классы аквариум и обогреватель. Класс обработчик реализует поддержание заданной температуры в аквариуме
Помогиет пожайлуста..расшифруйте что делать..или помогите сделать. В универе новый предмет Объектно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru