Перейти к содержанию
    

Добрый день!

 

Понимаю всю обсурдность вопроса... но стоит задача - обеспечить передачу UDP пакетов в сеть с жестким интервалом 10мс.

Система только виндоуз и ничего кроме виндоуз. (Причины: драйвера, ПО, просто лень разработчиков изучать другие системы)

В общем, уговорить перейти на что-то более адекватное у меня не получается.

 

Какие есть варианты?

 

Мультимедия таймер не обеспечивает необходимой точности.

http://www.intervalzero.com/ - вроде бы то, что нужно. Но непонятно, сколько времени уйдет на освоение и сколько вообще это будет стоить.

 

Если подключить к COM порту контроллер, который будет каждые 10мс посылать сигнал, и роботать по прерыванию - может это как-то улучшить ситуацию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если подключить к COM порту контроллер, который будет каждые 10мс посылать сигнал, и роботать по прерыванию - может это как-то улучшить ситуацию?
Нет, такое решение не улучшит. Какя разница кто будет источником прерывания - компорт или внутренний таймер? Если винде надо будет обслужить другую задачу, например перерисовать гуи, то она запросто предержить обработку прерывания от компорта. Но если городить внешний контроллер, так пусть он и передает эти UDP паеты сам.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если на комп поставить голый линукс, то ситуация не лучше.

 

Что такое голый линукс ? Это голый или не голый

http://www.redhat.com/products/mrg/realtime/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ну если бы можно было поставить другую систему, то смотрели бы в первую очередь сторону QNX...

Venturcom RTX это и есть http://www.intervalzero.com/

 

На DOS перейдите, чего уж там...

Ну да, вариант. Еще Win CE можно попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что такое голый линукс ? Это голый или не голый

http://www.redhat.com/products/mrg/realtime/

это не голый.

Технически MRG Realtime – это набор пакетов, превращающих стандартный Red Hat Enterprise Linux (RHEL) в ОС реального времени.

Можно поставить какойнить дебьян и руками настроить и/или доставить набор пакетов превращяющий дебьян в реалтайм.

 

 

Ну если бы можно было поставить другую систему, то смотрели бы в первую очередь сторону QNX...

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

Да, совсем забыл про QNX. Могу сказать про QNX4.25 реалтаймовости она даст, но будут проблемы с дровами под современное железо. QNX6 ... ни чего не скажу, неуспел освоить.

 

А ДОС даст опрос по таймеру строго каждые 10 мс или строго каждую мс если паралельно будут крутиться ещё несколько мение приоритетных задач? Тоже есть пару проектов где хотелось-бы строгие интервалы иметь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понимаю всю обсурдность вопроса... но стоит задача - обеспечить передачу UDP пакетов в сеть с жестким интервалом 10мс.

Действительно, абсурдная постановка задачи. Первый же встретившийся на пути пакетов UDP роутер или даже Ethernet-свич сломает любой жёсткий интервал следования пакетов. Поэтому упираться в ОС бессмысленно. Для таких задач нужно смотреть в сторону синхронных коммуникаций.

И, кстати, реалтайм тут совершенно ни при чём. :rolleyes:

Изменено пользователем gerber

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ДОС даст опрос по таймеру строго каждые 10 мс или строго каждую мс если паралельно будут крутиться ещё несколько мение приоритетных задач? Тоже есть пару проектов где хотелось-бы строгие интервалы иметь

Дос-то однозадачный :) Но это совершенно не беда, если смастерить приложение, которое на самом деле будет FREERTOS с юзаньем железячных прерываний с одной стороны и доступом к биосу через досовские сервисы с другой. Почему бы и нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это не голый.

Можно поставить какойнить дебьян и руками настроить и/или доставить набор пакетов превращяющий дебьян в реалтайм.

 

Тогда нужно говорить не голый/одетый а про ванильное ядро. Ветка -rt одна из многих девелоперских веток и все что там стабильно и имеет применение со временем попадает в майнстрим

https://www.osadl.org/Realtime-Linux.projec...me-linux.0.html

 

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

 

Действительно, абсурдная постановка задачи. Первый же встретившийся на пути пакетов UDP роутер или даже Ethernet-свич сломает любой жёсткий интервал следования пакетов.

 

http://en.wikipedia.org/wiki/Precision_Tim...ssage_transport

 

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда нужно говорить не голый/одетый а про ванильное ядро. Ветка -rt одна из многих девелоперских веток и все что там стабильно и имеет применение со временем попадает в майнстрим

https://www.osadl.org/Realtime-Linux.projec...me-linux.0.html

ну уж тогда нужно говорить "linux" и "realtime Linux". Даже на вашей ссылке в одном месте слово линукс

"Is realtime possible with Linux?" (даже в этом вопросе подрозумевается что обычный линукс не реалтаймовый), и на всем сайте они свой линукс называют "Realtime Linux".

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Is realtime possible with Linux?" (даже в этом вопросе подрозумевается что обычный линукс не реалтаймовый)

 

и "необычный" не реалтаймовый (по крайней мере как это многие понимают на микроконтроллерах - точность до тактов) это игра слов, а детерминизм достаточный для задач ТС (10 мс) обеспечит даже ванильное ядро на х86 (HPET там давным давно есть на всех системах).

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В огороде бузина, а в Киеве дядька.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

http://www.on-time.com/rtkernel-dos.htm

Знакомая штучка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Действительно, абсурдная постановка задачи. Первый же встретившийся на пути пакетов UDP роутер или даже Ethernet-свич сломает любой жёсткий интервал следования пакетов.

Хм... Ну роутеров у нас нет, только свичи. Большого потока данных не идет. Небольшое колебание 9-11мс допускается. Вроде не должно быть проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Ну все - нужно срочно каждому тянуть синхронные коммуникации до Гринвича, ггг. Как говорится смотрю в книгу вижу фигу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...