Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обмен данными PC - dSpace
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
maksim_s
Здравствуйте. Столкнулся с проблемой обмена данными между PC и dSpace.

К компьютеру подключен датчик по USB3.0, там же запущена C++ программа, которая обрабатывает данные от датчика и пишет результат (2 числа типа double) в dSpace посредством CLib. Проблема в том, что писать нужно очень быстро (любые задержки очень негативно влияют на алгоритм управления) и желательно одновременно. Всё, что предоставляет CLib -- это API в духе ds_write_XX. Измерения показали, что передача одного числа занимает ~0.5ms.

Собственно, вопрос: можно ли посредством CLib копировать с PC на dSpace объёмы памяти больше 8 байт за один вызов?
Можно попытаться уменьшить точность, то есть упаковать 2 числа типа float (этой точности достаточно) в 8 байт памяти, но не понятно как в самой программе на Simulink распаковывать массив float'ов.
Ну и третий вариант -- вместо CLib использовать что-нибудь другое. Альтернатив я не нашёл.
syoma
Надо вместо USB использовать что-то другое. У вас получается вроде как Real-time - если задержки критичны. А напрямую к dSpace датчик не подключается?
RHnd
Действительно, самым разумным выглядит подключение датчика к dSpace. Сейчас у вас между датчиком и dSpace стоит комп с операционной системой не реального времени, правильно?. Вы как бы не шаманили с библиотеками и упаковкой переменных, но в такой съеме рассчитывать на быструю передачу данных и отсутствие задержек не стоит.

Кстати, Матлаб вроде позволяет на лету преобразовывать типы данных и считать, что приходит массив из двух элементов float. Но деталей так с ходу не скажу.
syoma
Ну в принципе даже с виндой можно добиться какого-то реалтайма - например тот же Матлаб имеет Real-time windows target - у меня вроде на миллисекундах работает. Но неправильное это - USB. Задержки драйверов там огромные. Надо хотябы PCI - тогда будет намного лучше.
RHnd
Ну те же Mathworks мне неоднократно заявляли, что они не гарантируют ничего для weal-time windows target и не рекомендуют использовать его для частот выше 100Hz. Хотите больше - смотрите на xPC target, там риалтайм в ОС заложен. Хотя у меня тоже Win real-time workshop на килогерце стабильно работал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.