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


Е440, USB и скорость получения данных

Вы не вошли.

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

John
15.09.2003 10:19:16
#1

Гость

Е440, USB и скорость получения данных

Помогите, люди добрые.
Начальство купило модуль Е440 в следующей надежде: Хочется получать от него отсчеты АЦП со скоростью 1 кГц в реальном времени (Win98). То есть хочется, чтобы за 1 секунду выполнялось 1000 (ну не меньше 500) вызовов функции ADC_KADR или ADC_SAMPLE. Накопление данных там в буфере модуля и получение их потом всем скопом не интересует - хочется организовать быструю (1..2 мс) реакцию системы на изменяющуюся величину измеряемого параметра, но через программу на РС.
Написал пробную программку, данные получаю вроде верно, линейность и т.п. похожа. Настроил АЦП так, чтобы получать 1 кадр из 32 отсчетов за 1 миллисекунду. Но при измерении скорости получения данных выходит облом - самое лучшее, что получил - 30 кадров в секунду. Аналогичные скорости и при выполнении ADC_SAMPLE.
Есть ли возможность увеличить эту скорость до требуемой? Чо делать-то?
Ну и еще вопрос вдогонку. В качестве альтернативы можно было бы перенести принятие решения в DSP, но уж очень ломает асемблер. Может, есть компилятор С?

15.09.2003 15:04:20
#2

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,493

Re: Е440, USB и скорость получения данных

ОС Windows просто по определению не является средой реального времени. Она не расчитана на такой режим работы. Поэтому на обычном уровне пользователя время реакции у неё вполне законно может составлять порядка нескольких десятков миллисекунд. Кроме того функции ADC_KADR или ADC_SAMPLE содержат в себе вызовы достаточно медленной API функции DeviceIoControl(). Так что у Вас, на мой взгляд, есть два пути продвижения, а именно:
1. выйти на уровень ядра Windows (драйвер) и там организовывать необходимые вызовы и обработку информации.
2. модифицировать штатный LBIOS. Можно и использованием компилятора С. Называется он VisualDSP++.

John
15.09.2003 16:17:00
#3

Гость

Re: Е440, USB и скорость получения данных

Спасибо за ответ. Очень грустно.
Я работал с USB, делал свои устройства, драйвер пользовал от Jungo (WinDriver). Вполне нормально проходит 1 акт обмена в 1 мс(примерно). Именно поэтому и был уверен, что и здесь должно работать. Это по поводу "законности" такого времени реакции.
Еще раз спасибо. Будем думать.

Evgeny
17.09.2003 01:33:50
#4

Гость

Re: Е440, USB и скорость получения данных

3. Перейти на более другую OS, например, в современной версии OS/2 штатный квант времени - 4мс, нештатный можно сделать 2мс.
4.=2.+3. если хочется использовать сложные алгоритмы, не помещающиеся в DSP

John
17.09.2003 08:39:15
#5

Гость

Re: Е440, USB и скорость получения данных

Мда..., интересный совет - переход на другую ОС. А еще проще послать все это на ... и пойти работать грузчиком.
Винды прекрасно отрабатывают единицы мс при правильном подходе: лишние задачи не запускать, а интимные места программки переводить на приоритет повыше.
Просто, похоже, проблема в том, что местные разработчики в свое время немножко поленились написать свой драйвер (использовать готовый поприличнее), а воспользовались плохими (медленными) решениями от MS. И, самое противное, в открытую об этом не говорят. Нет бы написать в описании на видном месте, что оцифровку с большой частотой получать можно, а вот иметь ее в компьютере можно только изредка. Если бы это было ясно сразу, думали бы о покупке чего-нибудь другого. А теперь полштуки баксов потрачено, и, главное, время упущено. С ADSP я, конечно, разберусь, но время, время...

Евгений
18.09.2003 10:24:45
#6

Гость

Re: Е440, USB и скорость получения данных

А я давног хочу со своей Е-440 на полуось переползти, только вот отсутствие дров под нее останавливает sad(( А как перелопатить Линуксовые под USB - не знаю. Может кто-нибудь уже продвинулся в этом направлении?

Andrey
04.03.2004 14:52:16
#7

Гость

Re: Е440, USB и скорость получения данных

Вопрос разработчикам:
    А когда стоит ожидать увидеть у вас на сайте исходники LBios для E440 на VisualDSP ?
Или объясните что нужно использовать для разработки своего lbios на asme ?

04.03.2004 16:21:54
#8

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,493

Re: Е440, USB и скорость получения данных

1. Похоже что не будет LBIOS/'а на VisualDSP sad((
2. См. п.3.4.2. "Создание управляющей программы" в тех.описании модуля.