Возможно ли это?
От: Аноним  
Дата: 25.06.03 17:15
Оценка:
Ситуация : есть внешнее очень болшьое устройство, реализующее внутри себя интеллектуальную обработку (какую — не суьб важно). Частота обмена с периферийной платой в ЭВМ — 18 и 9 кГц. Используются 2 канала по 8 бит на команды и 8 на данные. В качестве периферийной платы используется плата от Advantech с программируемыми АЦП и опторазвязкой. Информация, поступающая на и с внешнего устройства должна приниматься (через прерывания в ЭВМ) и отсылаться через плату с той же частотой 18 ил 9 кГц. Причем "коридора" при установке конкретной частоты обмена быть не может — должно быть точно 18, или, скажем, 9кГц. Необходимо сделать драйвер, который бы успевал обрабатывать прерывания с интервалами от 55 до 100 мкс, причем — НИ ОДНО прерывание не должно потеряться, и не должно происходить "налипания", т.е. сокращения времени при обработке между соседними прерываниями (но это, как мне кажется, относится уже к внутреннему фугкционированию DPC). В качестве обработки прерывания — чтение/запичь в порт.
А теперь и сам вопрос — насколько реально реализовать эту задачу 2К? В ДОС она решается без проблем — перепрограммирование таймера и обработка прерываний. Все. Все очень просто. Памятуя о длине кванта времени в 2К, сейчас я почти уверен, что обычный драйвер, конечно, с таким потком информации при сохранениии нужных интервалов квитирования просто не справится. Как я понимаю, задача должна решаться на уровне драйвера минипорта управления таймером (на уровне доступа к регистрам), причем, судя по всему, чтобы максимально сократить время на перепрограммирование таймера при переключении на другую задачу, придется реализовать все подмножество функций реального драйвера минипорта. Но это — колоссальный объем работы. Поэтому следствие вопроса — если задача реально неразрешима средствами НТ/2К, то с помощью каких ОС это можно сделать ? Только, товарищи, вещи вроде QNX не предлагайте — она свободна лишь для некоммерческого использования. Кстати, ведь CE 3.0 используется в встраиваемых микроэвм — возможно ли в ней решение задачи ?
Всем заранее спасибо за отзывы и предложения
Re: Возможно ли это?
От: Аноним  
Дата: 25.06.03 17:16
Оценка:
Здравствуйте, Аноним, Вы писали:

Как все странно — вроде залогинился — а все равно анонимом выгляжу
Re: Возможно ли это?
От: Valerio Россия linkedin.com/in/boronin
Дата: 27.06.03 04:06
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Ситуация : есть внешнее очень болшьое устройство, реализующее внутри себя интеллектуальную обработку (какую — не суьб важно). Частота обмена с периферийной платой в ЭВМ — 18 и 9 кГц. Используются 2 канала по 8 бит на команды и 8 на данные. В качестве периферийной платы используется плата от Advantech с программируемыми АЦП и опторазвязкой. Информация, поступающая на и с внешнего устройства должна приниматься (через прерывания в ЭВМ) и отсылаться через плату с той же частотой 18 ил 9 кГц. Причем "коридора" при установке конкретной частоты обмена быть не может — должно быть точно 18, или, скажем, 9кГц. Необходимо сделать драйвер, который бы успевал обрабатывать прерывания с интервалами от 55 до 100 мкс, причем — НИ ОДНО прерывание не должно потеряться, и не должно происходить "налипания", т.е. сокращения времени при обработке между соседними прерываниями (но это, как мне кажется, относится уже к внутреннему фугкционированию DPC). В качестве обработки прерывания — чтение/запичь в порт.

А>А теперь и сам вопрос — насколько реально реализовать эту задачу 2К? В ДОС она решается без проблем — перепрограммирование таймера и обработка прерываний. Все. Все очень просто. Памятуя о длине кванта времени в 2К, сейчас я почти уверен, что обычный драйвер, конечно, с таким потком информации при сохранениии нужных интервалов квитирования просто не справится. Как я понимаю, задача должна решаться на уровне драйвера минипорта управления таймером (на уровне доступа к регистрам), причем, судя по всему, чтобы максимально сократить время на перепрограммирование таймера при переключении на другую задачу, придется реализовать все подмножество функций реального драйвера минипорта. Но это — колоссальный объем работы. Поэтому следствие вопроса — если задача реально неразрешима средствами НТ/2К, то с помощью каких ОС это можно сделать ? Только, товарищи, вещи вроде QNX не предлагайте — она свободна лишь для некоммерческого использования. Кстати, ведь CE 3.0 используется в встраиваемых микроэвм — возможно ли в ней решение задачи ?
А>Всем заранее спасибо за отзывы и предложения

смотрите в сторону NT/XP embedded

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

посмотрите мой ответ здесь
Автор: Valerio
Дата: 02.04.03
?
... << RSDN@Home 1.0 beta 7a >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re: Возможно ли это?
От: dostap Россия  
Дата: 27.06.03 08:45
Оценка:
Здравствуйте, Аноним, Вы писали:

NT не OS реального времени, однако возможен след вариант:
В ISR считываем нужные данные и помещаем в очередь.
В DPC for ISR — окончательная обработка.
Re[2]: Возможно ли это?
От: muh  
Дата: 27.06.03 08:46
Оценка:
Здравствуйте, Valerio, Вы писали:



V>смотрите в сторону NT/XP embedded


V>по идее в WinCE решалась данная проблема и запрошенный realtime вполне реален \какая тавтология \,

V>но я уже лет 7 как от этих дел железячных отошел и наверное утверждать не буду

V>посмотрите мой ответ здесь
Автор: Valerio
Дата: 02.04.03
?


Эхе-хе. Устройства уже есть, поэтому вопрос о проектировании спецплаты под конкретную ОС я оставляю в стороне. Теперь по существу. Для 2К я нашел пакет RTX — там как раз пошли по пути создания собственных драайверов минипортов+обычных драйверов. Однако эти товарищи опять же регламентируют СРЕДНЕЕ и ХУДШЕЕ время реакции. Короче, все опять уперлось в DPC. За пару дней я посмотрел возможности СЕ, судя по всему — это оно. Вопрос — где взять, сколько стОит, нужно ли лицензирование, есть ли для eVC соответствующий DDK и примеры разработки драйверов ?
МВС
Люди слышат только те вопросы, на которые они в состоянии найти ответ. (с)
Re[2]: Возможно ли это?
От: muh  
Дата: 27.06.03 08:47
Оценка:
Здравствуйте, dostap, Вы писали:

D>Здравствуйте, Аноним, Вы писали:


D>NT не OS реального времени, однако возможен след вариант:

D>В ISR считываем нужные данные и помещаем в очередь.
D>В DPC for ISR — окончательная обработка.
Не, дохлый номер. Я же сказал, что интервал между тактами не должен нарушаться, а кроме этого в ISR есть еще чтение/запись в порт
МВС
Люди слышат только те вопросы, на которые они в состоянии найти ответ. (с)
Re[3]: Возможно ли это?
От: Valerio Россия linkedin.com/in/boronin
Дата: 28.06.03 04:53
Оценка:
V>посмотрите мой ответ здесь
Автор: Valerio
Дата: 02.04.03
?


muh>Эхе-хе. Устройства уже есть, поэтому вопрос о проектировании спецплаты под конкретную ОС я оставляю в стороне.


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

muh>Для 2К я нашел пакет RTX — там как раз пошли по пути создания собственных драайверов минипортов+обычных драйверов. Однако эти товарищи опять же регламентируют СРЕДНЕЕ и ХУДШЕЕ время реакции. Короче, все опять уперлось в DPC.


muh>За пару дней я посмотрел возможности СЕ, судя по всему — это оно. Вопрос — где взять, сколько стОит, нужно ли лицензирование, есть ли для eVC соответствующий DDK и примеры разработки драйверов ?да думаю СЕ это оно — то что я читал — там как раз пофиксали указанный недостаток дизайна НТ


в Embedded NT точно все ОК — позиционирование для промышленного оборудования в частности

про ребят с RTX и других я слышал что действительно они пошли по пути своего HAL (hardware abstraction layer) и драйверов в части работы с таймером и уже не Ваш код, а сама НТ поверх будет притормаживать если что но насколько это у них реально — не знаю, Вам виднее, раз уже смотрели инфу? знаю впрочем — народ действительно выпускал решения и на RTX (но не у нас — экзотика и дорого кажется было)

есть соотв. Embedded VC уже 4.х SP2 — около 400мб и народ вроде хвалил, насчет DDK не знаю,
кажется там все в составе включено что нужно, в т.ч. и для разработки дрйверов (пусть эксперты по CE поправят)?
по-крайней мере на сайтах для разработчиков в сети уже первые примеры драйверов для СЕ можно найти да и в MSDN уже кое-что есть
... << RSDN@Home 1.0 beta 7a >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[4]: Возможно ли это?
От: muh  
Дата: 28.06.03 17:42
Оценка:
Здравствуйте, Valerio, Вы писали:


V>просто замечу что контроллер под любую ОС а не конкретную а так ситуация знакома — уже готовое железо это всегда беда программиста

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

muh>>Для 2К я нашел пакет RTX — там как раз пошли по пути создания собственных драайверов минипортов+обычных драйверов. Однако эти товарищи опять же регламентируют СРЕДНЕЕ и ХУДШЕЕ время реакции. Короче, все опять уперлось в DPC.


muh>>За пару дней я посмотрел возможности СЕ, судя по всему — это оно. Вопрос — где взять, сколько стОит, нужно ли лицензирование, есть ли для eVC соответствующий DDK и примеры разработки драйверов ?да думаю СЕ это оно — то что я читал — там как раз пофиксали указанный недостаток дизайна НТ


V>в Embedded NT точно все ОК — позиционирование для промышленного оборудования в частности


V>про ребят с RTX и других я слышал что действительно они пошли по пути своего HAL (hardware abstraction layer) и

Насколько я понял, бегло просматривая список примененных для RTX решений, MS открыл им для использования часть своего HAL, на основе которого они и написали обертки
V>драйверов в части работы с таймером и уже не Ваш код, а сама НТ поверх будет притормаживать если что но насколько это у них реально — не знаю, Вам виднее, раз уже смотрели инфу? знаю впрочем — народ действительно выпускал решения и на RTX (но не у нас — экзотика и дорого кажется было)
Да, так оно и есть — экзотика, причем в довольно изощренной форме

V>есть соотв. Embedded VC уже 4.х SP2 — около 400мб и народ вроде хвалил, насчет DDK не знаю,

V>кажется там все в составе включено что нужно, в т.ч. и для разработки дрйверов (пусть эксперты по CE поправят)?
V>по-крайней мере на сайтах для разработчиков в сети уже первые примеры драйверов для СЕ можно найти да и в MSDN уже кое-что есть
Да, я посмотрел материалы на сайте мелкомягких, там есть практически все — средство(а) разработки вкупе с DDK. Насчет примеров драйверов- не видел. Самое главное, что мне понравилось в СЕ — минимальное время реакции около 1.5мкс, среднее — примерно 5. Что и есть гут. Однако все опять упирается в финансовую часть. Поди докажи конструкторам, что обычные форточки для этого не подходят. Кстати, не совсем я понял и политику MS по поводу лицензирования. Просветишь ?
МВС
Люди слышат только те вопросы, на которые они в состоянии найти ответ. (с)
Re[5]: Возможно ли это?
От: Valerio Россия linkedin.com/in/boronin
Дата: 30.06.03 04:25
Оценка:
muh>Да, я посмотрел материалы на сайте мелкомягких, там есть практически все — средство(а) разработки вкупе с DDK. Насчет примеров драйверов- не видел. Самое главное, что мне понравилось в СЕ — минимальное время реакции около 1.5мкс, среднее — примерно 5. Что и есть гут. Однако все опять упирается в финансовую часть. Поди докажи конструкторам, что обычные форточки для этого не подходят. Кстати, не совсем я понял и политику MS по поводу лицензирования. Просветишь ?

AFAIK, политика вроде такая — выбираешь набор необходимых компонентов и строишь свою ОС — цена может быть очень разной. Тут лучше у ребят кто реально с СЕ работает уточнять.
... << RSDN@Home 1.1 alpha 1 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.