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


E14-440 Время опроса одного канала

Вы не вошли.

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

20.02.2025 23:12:27
#1

Участник
Здесь с 16.10.2022
Сообщений: 10

E14-440 Время опроса одного канала

Добрый вечер!

Помогите пожалуйста разобраться со следующей проблемой:

Есть код, который проходит по всем 32-м каналам АЦП, последовательно, используя опрос одного канала:

   for (int i=0; i<(toChannel-fromChannel+1); i++){
      ansyncPar.Chn[0] = (i+fromChannel) | (gain << 6) | 0x20; // i канал однополлюсное подключение (в общем случае лог. номер канала)
      status = pI->IoAsync(&ansyncPar);
      if (status!= L_SUCCESS){
         this->logger->AddLog("e14440::GetState ADC error %lu\n", status);
         this->Close();
      }
      *(arr+i) = (short)ansyncPar.Data[0];
   }

На железе Intel Core i7 6700 (и такой же древности Intel-лов) обход всех каналов занимает 32-35мс. Т е на обход каждого канала затрачивается 1-2мс. Это нас полностью устраивает. Простой код, все понимают что каналы опрашиваются последовательно. Все хорошо.

Но, после того, как приложение запустили на AMD Ryzen 7700, время опроса резко выросло. И этот же код 32 канала опрашивает за 416мс. Т е на время опроса каждого канала затрачивается 13мс. Что в 10-13 раз медленней чем на "древнем" железе.
ОС одинаковая: Windows 10 x64.

"непрерывный" режим не пробовал не измерял т к по сути нужно разобраться почему на новом, боле-менее современном железе обмен данными с АЦП работает в 10 раз медленней.

Подскажите, в чем может быть проблема?
Драйвер брал с сайта, стандартный  LComp. Версия 7.0.0.5.

20.02.2025 23:39:23
#2

Участник
Здесь с 16.10.2022
Сообщений: 10

Re: E14-440 Время опроса одного канала

Дополню.

Гипотетически я бы мог предположить что процессы запускаются на энергоэффективных ядрах, а не на высокопроизводительных. Но. Приложение, в котором это все работает, имеет метрику FPS. Так вот по PFS на AMD Ryzen 7700 в 10-15 раз выше чем на Intel Core i7 и остальных (также запускал на старых китайских зеонах, где также скорость измерения каждого канала не превышала 1-2мс). Поэтому теория о том, что дело в энергоэффективных ядрах весьма спорная.

21.02.2025 14:55:25
#3

Участник
Здесь с 20.10.2020
Сообщений: 40

Re: E14-440 Время опроса одного канала

скорей дело в драйверах чипсет usb.  проверить что все установлены. еще можно поробовать через hub usb 2.0 воткнуться

21.02.2025 21:33:16
#4

Участник
Здесь с 16.10.2022
Сообщений: 10

Re: E14-440 Время опроса одного канала

Спасибо.
Драйвера проверил - все установлены. Неизвестных устройств в в системе нет. Сообщений что устройства "могут работать быстрее" нет. Выглядит что все работает в штатном режиме. На всякий случай переустановил драйвера - эффекта не дало.
Подключаюсь к USB2.0
Хаб USB2.0 найду попробую - посмотрим даст эффект или нет.
На всякий случай проверил спецификацию CPU - пишут что энергоэффективных ядер нет, все шутрые, так что дело точно не в них.