Телескопы покупают здесь


A A A A Автор Тема: Беларусь (Любители астрономии из Беларуси, давайте объединяться!)  (Прочитано 189607 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lavon

  • ****
  • Сообщений: 451
  • Благодарностей: 2
    • Сообщения от lavon
    • Pawet
Ой, это ещё цветочки.

" ... из какого сора, растут стихи ... :)

Но двойственность мышления осталась (прошу не путать с раздвоением личности! ;)).

Аналогично,  понимаю ;)
SW 100 ed,
WO Zenisthar 66 SD APO
Sky Master 15x70

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
to Pova:
Возвращаясь к нашей беседе о синхронизации секундомеров путём посылания на LPT-порт сигнала системного таймера. Для тех, кто не знает или забыл о чём речь: Вова предложил написать прогу, которая работала бы так: в любой момент времени нажимаем кнопочку "Синхронизовать" в окне программы, и когда системные часы начнут отсчёт следующей минуты, на LPT-порт посылается сигнал, скажем длительности 0,5 с. От себя добавлю, что важна только крутизна переднего фронта импульса -- т.к. именно по нему будет происходить запуск секундомера. Этот сигнал посылаем на ключ запуска секундомера, и секундомер запускается. Т.е. получаем синхронизации без всяких "человеческих" задержек реакции... Всё просто и классно. Но это казалось на первый взгляд. Действительность M$ Windows оказалась не столь радужной. Привожу цитату из одной книги по программированию на С++ в среде Windows:
Цитата
"Учтите, что физический таймер тикает приблизительно 18,21 раза в секунду (точное значение составляет 1000/54,925). Поэтому, даже если вы укажете, что таймер должен тикать каждую миллисекунду, сообщения будут приходить с интервалом не менее 55 миллисекунд... Нерегулярность прихода сообщений таймера не вызывает особых проблем, если речь не идет о работе в режиме реального времени. Системы реального времени, основанные на Windows, должны использовать для устройств ввода/вывода, критичных к скорости реакции системы, специальные драйверы. Строго говоря, операционная система Windows не предназначена для работы в режиме реального времени. Windows ориентирована на работу с человеком, когда небольшие задержки событий во времени не имеют никакого значения. "
Конечно, неопределённость в 55 мс (=0,055 с) -- это много меньше, чем задержка реакции человека (у меня, например, она составляет 0,25 - 0,35 с. Многократно проверено и на секундомере, и на программе тренировки реакции для наблюдения покрытий, написанная Иваном Мхитаровым). В среднем, машинная задержка получается в 4-6 раз меньше, чем "человеческая"... Отсюдова вопрос: стоит ли мне дальше заморачиваться написанием этой проги, или такая задержка -- плохая, и будем просто использовать ручную синхронизацию?

To Deimos (чуть не написал "Te Deum"  ;D): Лёха! Было бы классно, если бы ты подсобил немного с прогой -- я ж в вижуале почти нуль!  :-[ Надо заюзать процедуру SetTimer. Как должна работать сама прога -- описанно выше. У меня есть часть кода и необходимая библиотека для работы с LPT-портом. Сегодня, например, посылал на порт меандр с возможно меньшим периодом. Подрубив к порту осциллограф, определил, что минимальный период -- примерно 12 мс. Мне нужне часть кода, которая перехватывала бы сообщения системного таймера, определённой переменной-счётчику времени передавала бы значение времени, и при наступлении следующей минуты -- хоть через условный оператор if -- я бы вставил свою часть кода. И всё бы заработало. :) Это только набросок идеи, можем её изменить... На первых параАх можно написать и консольный вариант проги.
P.S. Интересно, а в Linux также дела обстоят с "задержками"? Тогда может попытаться заюзать QNX OS -- есть такие, которые на дискетку помещаются.  :D А с портами она должна по определению работать -- это же "промышленная" OS  реального времени...
P.P.S. Вииндовз маст дай!!!  >:(
« Последнее редактирование: 25 Фев 2007 [00:26:40] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
Интересно, а в Linux также дела обстоят с "задержками"? Тогда может попытаться заюзать QNX OS -- есть такие, которые на дискетку помещаются.  :D А с портами она должна по определению работать -- это же "промышленная" OS  реального времени...
P.P.S. Вииндовз маст дай!!!  >:(
Так же обстоять дела и у пингвинов. Прадва время не скажу не программист  ;)
С версией для дискетки (а именно подобные мы ставим на платы ) дела также (если не ошибаюсь для них тик составляет несколько десятков мс -- но могу ошибатся). К таму же линукс не только может работать с этими "задержами" а и вообще влететь фик знает куда и занятся на некоторое время своими делами.
В общем хочешь стабильной задержки -- пиши на асме  без ОСей;)

Для оценки времени грубо для винды можно поступить следующим образом.
1. На пин LPT подавать сигнал сброса внешний
2. Программой обрабатывать и выдавать на другой пин сигнал
3. Осцилом (а я он оказывается есть у Виталика  :D -- круто) мерять задержку, а также ее разброс.
« Последнее редактирование: 25 Фев 2007 [01:06:48] от Kostyan »
Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн Droog_Andrey

  • *****
  • Сообщений: 1 961
  • Благодарностей: 18
  • фанат простых чисел
    • Сообщения от Droog_Andrey
    • XYYXF проект
По ходу не забывайте про RDTSC.

А точное значение там, кажись, 3600/65536 = 0.0549316...
2^57885161-1 is prime!

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Цитата
Так же обстоять дела и у пингвинов. Прадва время не скажу не программист  ;)
С версией для дискетки (а именно подобные мы ставим на платы ) дела также (если не ошибаюсь для них тик составляет несколько десятков мс -- но могу ошибатся). К таму же линукс не только может работать с этими "задержами" а и вообще влететь фик знает куда и занятся на некоторое время своими делами.
В общем хочешь стабильной задержки -- пиши на асме  без ОСей;)
Да, с линухом та же проблема. НО! Есть патчи для ядра (KURT, RTLinux), которые позволяют после перекомпиляции ядра останавливать текущие процессы и входить в режим реального времени. Отклик системы -- на уровне микросекунд! Аналоги Dimension 4 (для тех, кто не знает -- программа для винды, которая позволяет синхронизировать системные часы по серверам точного времени в интернете) для Linux есть. Писать софт под линухом Лёха умеет (я с ним говорил сегодня по этому поводу). Так что запасной вариант -- использовапие ОС реальног времени имеется. Но гораздо проще заюзать приложение под винду. Главное, чтобы не произошла перегрузка системы при частом обращении к системному таймеру -- иначе потеряется синхронизация. Так что этот путь -- метод научного тыка.  :)
А так -- 55 мс, я думаю, вполне нормальное разрешение...
Цитата
Для оценки времени грубо для винды можно поступить следующим образом.
1. На пин LPT подавать сигнал сброса внешний
2. Программой обрабатывать и выдавать на другой пин сигнал
3. Осцилом (а я он оказывается есть у Виталика   :D -- круто) мерять задержку, а также ее разброс.
Ну, у меня осцилл для радиолюбителей -- с махоньким ЭЛТ. Но до 0,1 мкс -- возмёт!  ;)
Насчёт алгоритма оценки -- Костя, ты читаешь мои мысли.  :D
Только для этого нужен двухканальный осцилл... Но это всё мелочи.
Написание этой проги -- это самое простое из самого необходимого в настоящее время! Так что прошу тех, кто разбирается в программировании, ещё раз подумать над проблемой: нужен алгоритм перехвата сообщений системных часов и посылки сигнала на LPT (или же COM -- как будет легче и быстрее) порт при "пересчёлкивании" часов на следующую минуту. Желательно, чтобы задержка не превышала 0,1 с -- иначе не стоит этим заморачиваться...
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн xd

  • *****
  • Сообщений: 17 981
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Так же обстоять дела и у пингвинов. Прадва время не скажу не программист  ;)
С версией для дискетки (а именно подобные мы ставим на платы ) дела также (если не ошибаюсь для них тик составляет несколько десятков мс -- но могу ошибатся). К таму же линукс не только может работать с этими "задержами" а и вообще влететь фик знает куда и занятся на некоторое время своими делами.
Ну, в пингвине несколько иная организация, но принципы те же: переключение задач в 2 раза чаще (100 вместо 50 в секунду в винде), но задачи имеют бОльшее количество состояний (замороженные там всякие, спящие и т.д.). Лучше организована модель памяти, быстрее работает своппинг.
Но всё равно она остаётся осью, заточенной под работу с пользовательскими приложениями и основной ресурс, за который идёт конкуренция - вычислительное время.

В общем хочешь стабильной задержки -- пиши на асме  без ОСей;)
Не согласен. Хочешь стабильной задержки - ставь выше разрешение таймера. Кстати, в винде каким-то образом в boot.ini это сделать можно, поэтому ограничения по поводу 55мс не столь жёсткие. Можно, конечно, влезть и выше, но лезть на Ring0 у меня на сегодняшний день нет ни малейшего желания.

По ходу не забывайте про RDTSC.
RDTSC возвращает в паре EDX:EAX количество машинных тактов, прошедших с момента последнего сброса процессора, НО:
- это время может течь очень и очень неравномерно
- есть ещё конвейер, а команда RDTSC не является синхронизирующей, то есть два последовательных её вызова закинут в регистры одинаковые значения. для устранения этого недостатка можно использовать синхронизирующие команды типа CPUID или ближний безусловный переход на следующую инструкцию. При этом процессор "штрафует" эту ветку кода (penalty), в следствие чего латентность кода возрастает
- скорость изменения значений в регистрах сильно зависит от частоты проца, а для ноутбуков или процев с аппаратной поддержкой снижения напряжения питания с целью энергосбережения это краеугольный камень

А точное значение там, кажись, 3600/65536 = 0.0549316...
А точное время там зависит от программирования делителя нулевого канала в контроллере таймера. Опорная частота 1192кГц. Делитель от 0 до 65535 (очень малые значения будут приводить к провалу прерывания). Раза в два-три поднять разрешение в принципе реально.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Pova

  • *****
  • Сообщений: 631
  • Благодарностей: 49
    • Сообщения от Pova
 :)
Разрешите и мне вставить 5 копеек на непонятную мне тему ;D
Собственно, http://www.insidepro.com/kk/030/030r.shtml
Это интересная инфа или там изложены прописные истины?
В общем, надеюсь поможет! ;)

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
To Deimos: Взял для тебя книгу "Драйверы режима ядра". 125 страниц А4, двухсторонний текст...
НО! Мужики! Я просил сначала написать прогу, которая бы просто работала без всяких наворотов -- просто потестить! Вы же программеры -- вам это дело на полчаса... Давайте пока не будем лезть сразу в дебри -- начнём с простого, а?
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
Не согласен. Хочешь стабильной задержки - ставь выше разрешение таймера.
Не совсем  , нестабильность будет во времени переключения между задачами.

Цитата
начнём с простого, а?
Считаю в данном случае это верно !!!
http://www.pcports.ru/Articles.php

Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Цитата
Считаю в данном случае это верно !!!
http://www.pcports.ru/Articles.php
Костя! Сайт этот -- классный, особенно для начинающего. Именно с него я использовал инфу, чтобы посылать меандр на LPT-порт (в качестве теста).
Проблема в том, что нужно продумать и реализовать алгоритм: необходимо перехватывать сообщение системных часов с определённой периодичностью (скажем, 10 Гц), и когда кнопка нажимается, то по "пересчёлкивании" на следующую минуту системного времени посылать на LPT-порт сигнал определённой длительности. Т.е. допустим, мы нажали кнопку в 10:05:23. Значит, когда на часах будет 10:06:00, на LPT-порт пойдёт сигнал -- логическая "1". Вся сложность в том, что я обсолютно незнаком с работой с "часами".   :(
« Последнее редактирование: 26 Фев 2007 [15:03:27] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
Понятно, не знаком с проблемой . Ша придут программеры , часы заведут..

p/s что касается астрфеста :
https://astronomy.ru/forum/index.php/topic,4807.0.html (пост №10). Вот так то.
« Последнее редактирование: 26 Фев 2007 [15:50:18] от Kostyan »
Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
В продолжении темы: надо будет замерять напругу, котрая есть на кнопке запуска секундомера. Если там не 5 В, то надо будет сделать делитель. Только придётся делать оптронную развязку -- диод оптрона будет идти на вход LPT, а на транзисторную часть повесим опорное напряжение. Таким образом, сигнал с LPT будет служить стробирующим импульсом, который включит цепь питания на время, равное длительности строба. Иначе спалим LPT -- у него же нет гальванической развязки...
Цитата
p/s что касается астрфеста :
Цитата
Группа еще не клуб
Хе. Ну и ладно -- всё равно на Астрофест мы бы все не поехали.
Хотя я так и не понял, как устроители будут отделять "чэсных" от "нячэсных" -- и регистрации клуба, вроде, ненадо, и группа -- это не клуб... В общем, как вседа тайны, покрытые мраком...
« Последнее редактирование: 26 Фев 2007 [16:15:24] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
Только придётся делать оптронную развязку -- диод оптрона будет идти на вход LPT, а на транзисторную часть повесим опорное напряжение.
Достаточно только зашитного буфера в данном случае.

Опторазявязка необходима когда два устройства питаются от 220 и от неизвестных фаз
Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Цитата
Достаточно только зашитного буфера в данном случае.
Что ты подразумеваешь под защитным буфером?
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн xd

  • *****
  • Сообщений: 17 981
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
К примеру эмиттерный повторитель.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
К примеру эмиттерный повторитель.
Угу  в интегральном исполнение только
Например микруха 74LVC244.
Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Цитата
Например микруха 74LVC244.
Пойдёт. Не больше бакса стоит.
« Последнее редактирование: 06 Мар 2018 [19:24:45] от 1212Lupus »
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
Опубликовано определение "клуба"
https://astronomy.ru/forum/index.php/topic,4807.0.html
 Итак

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


Итак товариши, я вас поздравляю , с моией точки зрения мы будем клубом , если выбирем главного (так для вида и для официальной переписки с МАК и др. клубами ;) ). Предлагаю окрыть голосование .

ВСЕ НА ВЫБОРЫ !!!!!!!!!

Главой центроизбиркома назначаю себя. Кидайте мне в личку имя и фамилию (одно !!)того , кого считаете нужным выдвинуть на пост  "председателя клуба". Голосование будет проходит в течении двух недель(начиная с сегодняшнего вечера и до 12.03.07 -- как раз до столь важного дня)  в один тур и по макс голосов будет выбран лучший по вашему мнению. Считаю , что свой голос может давать любой человек форума, хотя бы виртуально знакомый с кандидатом. Выборы закрытые , я скажу только кол-во голосов за того или иного кандидата (также буду иногда приводит предворительные списки и рейтинг).  Предварительного балатирования считаю делать не целесобразно. Если выйгравший кандидат откажится (по представленным обьективным причинам) от своего поста , то на него будет претендовать второй участник по результатам голосования .

з,Ы Глава центизбиркома не избираем  ;) и взяток не берет  ;D
« Последнее редактирование: 26 Фев 2007 [21:15:02] от Kostyan »
Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн Kostyan

  • *****
  • Сообщений: 804
  • Благодарностей: 4
    • Сообщения от Kostyan
    • http://belastro.net/
ВСЕ НА ВЫБОРЫ !!!

голосуй или проиграешь
Узнавать что-то новое , о чем раньше и не подозревал.

Оффлайн xd

  • *****
  • Сообщений: 17 981
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Ну, состав более-менее опреледён...
Руководство как-то размазано по всем персонам... Ладно, для внешнего наблюдателя сообразим, кто будет официальным главой.
Место встречи - планета Земля, сеть (ICQ, IRC), наконец, поход в гости...
График -  периодически, как назревают вопросы...
Программа вроде всем понятна... Более того, она ЕСТЬ!

А программулька - вот она ;D
Жмякаем на единственный элемент управления и ждём смены минуты. На вторую ногу LPT (так мне Lupus сказал) посылается уровень единицы примерно на 100мс, после чего снова скидывает его в 0. При этом PC-спикер воспроизводит звуковой сигнал (2 сигнала: 1000 и 1200 Гц по 100 мс с интервалом 50мс).
Если запуск ожидания невозможен (нарушена целостность, нету библы, или ошибка какая) - звучит сигнал ошибки: 600, 600, 500 Гц длительностью по 100 и с интервалом в 50 мс).
Повторное нажатие кнопки не принесёт результата до обработки первого запуска.
Программа работает в 2 потока. Потоки синхронизированы.
« Последнее редактирование: 26 Фев 2007 [21:31:21] от Deimos »
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/