Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


L-154: не хватает быстродействия

Вы не вошли.

 Поиск | Регистрация | Вход 

Александр
14.01.2003 22:50:04
#1

Гость

L-154: не хватает быстродействия

Здравствуйте.

Дело вот в чем.
Есть плата L-154. Есть программа на СД, который поставляется вместе с платой, "x://DLL//OLD//DELPHI10//Analog_i". В эту программу добавляем еще один таймер на 1 секунду, т.е. определяем сколько измерений производит плата за 1 секунду или ,грубо говоря ее скорость. И получаем напонятный результат. При интервале между измерениями менее 50мс скорость измерений получается порядка 20 в секунду (даже если интервал первого таймера стоит 1мс). Причем, этот результат не зависит от количества каналов - что на одном канале, что на десяти каналах скорость 20 измерений в секунду. Плата проверялась на компьютерах Pentium 233MHz, Pentium 3 500MHz, Celeron 700MHz c системами Windows/'98 и Windows/'Me. Причем запускался и exe-файл и программа из Delphi/'6 - результат один и тот же - не более 20измерений в секунду.

И вот тут-то встал вопрос: можно ли повысить быстродействие платы или я делаю что-то не так?

Заранее спасибо за ответ.
С уважением, Александр.

bkl
15.01.2003 10:40:27
#2

Гость

Re: L-154: не хватает быстродействия

Ваш подход неверен.
Нельзя использовать таймер PC, если хотите получить четкую временную диаграмму под Windows.
Полученное вами значение 50 мс представляет собой _характерное_ значение кванта процессорного времени переключения между задачами ОС, одной из которой является callback функция таймера.
При этом не важно, на значение какого периода срабатывания он запрограммирован.
1 мс...50 мс - /'почти/' одно и то же.
Т.е. значение 1 мс только лишь позволяет изредка (и это _непрогнозируемо_ под Win), если у PC высвободился ресурс, отдать его действительно через 1 мс. В общем случае ресурс (время) отдается таймеру через 50...200 мс. Т.е. распределение переключений между задачами носит недетерминированный характер.

Резюме. Если L-154 имеет функции _буферизованного_ ввода данных, то только их использование решит проблему.

DKorolkov
15.01.2003 11:14:14
#3

Гость

Re: L-154: не хватает быстродействия

Можно попробовать воспользоваться мультимедийным таймером: функции timeSetEvent,timeKillEvent и, возможно, другие, в зависимости от задачи.

Стандартный подход при программировании под DOS -- использование прерывания, генерируемого таймером платы L-154. Windows 98 позволяет низкоуровневое обращение к аппаратным ресурсам, по крайней мере, для программ, написанных под DOS. Личный опыт: программа под DOS (на Borland Pascal), использующая прерывания платы L-154 с частотой 1 мс, запускалась и работала под Windows 95 или 98 (сейчас точно не помню) на компьютере 486 133МГц.

цйв
07.05.2004 09:38:06
#4

Гость

Re: L-154: не хватает быстродействия

вот лохи то