Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
В таком случае проще внешний коммутатор прикрутить и пускать поочередно один из входных сигналов на один канал АЦП. Видимо все у кого возникала такая потребность так и поступали.
Здравствуйте!
Используем Е502 в своем проекте, необходимо измерять амплитуду периодического сигнала на 16 каналах относительно общей точки с максимальной частотой дискретизации АЦП, используются так же ЦАП и цифровые выходы, управление через LabVIEW.
Если каждый раз перезапускать синхронный ввод на новый канал, то мы получаем информацию с каждого канала на максимальной частоте дискретизации, но сам перезапуск занимает много времени (по наблюдениям ~50 мс на каждое обращение к плате).
Если же запускать синхронный ввод сразу с 16 каналов, получение данных происходит довольно быстро, но частота дискретизации на канал не устраивает. Судя по технической документации на плату, при запуске синхронного ввода можно указать 256 логических каналов (т.е. теоретически для 16 каналов мы можем получить 16 точек на канал на максимальной частоте, но следующие 16 точек будут через 240, что тоже не торт).
Можно ли теоретически модернизировать прошивку платы так, чтобы при запуске синхронного ввода на 16 каналов плата выводила не 16 точек в кадре (1 точка с одного канала), а 16 кадров по 256 точек? Тогда каждый канал будет оцифрован с максимальной частотой дискретизации, при этом скорость работы программы будет такой же как при синхронном вводе на 16 каналов. Или это сложнореализуемо и необходимо менять язык программирования для работы с платой или нужно искать альтернативу Е502 (например, STM32)?
Ошибочка вышла, нужна функция X502_GetRecvReadyCount
Не могу найти часть функций, описанных в руководстве программиста, при работе с платой через LabVIEW. Интересует функция X502_GetSendReadyCount. Версия lpcieNet 1.1.5.0 SDK 1.1.11
При работе запускаю потоковый ввод на 16 каналов и после этого асинхронно вывожу данные на цифровые выходы. Из буфера необходимо фиксированное число точек после асинхронного вывода. Просто вызывая Recv я, так понимаю, получаю заданное число точек с момента запуска синхронного ввода. Чтобы получить данные из конца буфера (после асинхронного вывода) - я так понимаю мне необходимо считать весь буфер и обработать лишь необходимые данные. А для этого мне нужно узнать его размер, чего пока сделать не получается.
Так Вы и можете настроить синхронный сбор с 16 каналов и получать данные постоянным потоком, не останавливая сбор
Насколько я понял в таком случае частота дискретизации АЦП делится между всеми каналами и на канал выходит 12.5 кГц. А мне нужно каждый канал промерять с частотой дискретизации 200 кГц. Вот и приходится каждый раз останавливать потоковый ввод с АЦП, переключать канал и стартовать все заново.
Не очень правда до конца понятно, зачем старт-стопный режим
Необходимо было каждый канал (16 штук) промерять с максимальной частотой дискретизации АЦП.
Здравствуйте!
Есть плата Е14-140MD, управляется из LabVIEW. Генерирую синусоиду, запускаю потоковый вывод на ЦАП, вывожу код на цифровые выходы, запускаю АЦП в режиме с общей землей на 1 канал, получаю 2048 точек и тушу всё. На всё это уходит 170-210 мс. На установку параметров АЦП 40 мс, а на остановку АЦП - 40-50 мс. Плюс вывод на цифровые линии 50 мс. Это максимум из того что получилось выжать. Задержки в программе отсутствуют.
Есть ли возможность сделать это все быстрее?
Будут ли аналогичные действия на Е502 выполняться намного быстрее?
Артём, если AGND и DGND действительно потеряли внутреннее соединение, то работу неисправного модуля техподдержка не обсуждает.
Извиняюсь за беспокойство. Я просто с имею мало опыта работы с железом. В общем я не правильно измерял сопротивление (выбирал не тот режим). Сопротивление между 3 контактом аналогового входа и 36 цифрового 0.6 Ом. Такой вопрос - нужно ли соединять 3 и 21 контакты аналогового входа при дифференциальном включении? Просто смущает что в справочной таблице написано " GND32 Для всех режимов должен быть подключен к AGND", а в примерах подключения контакт задействуется только при однофазном подключении.
http://www.lcard.ru/support/faq/unit_works_really
Артём, Вы уже подтвердили, что перемычка сожжена.
Ко включенному E14-140 не подключайте тестер на омах! Это бессмысленно и опасно для тестера.
Странно. Взял более коротки USB кабель и модуль заработал без проблем.
Артём, такое поведение E14-140(M) может наблюдаться, если Вы ранее, вследствие неправильного подключения, сквозными токами пережгли внутреннюю перемычку между цепями AGND и GND этого модуля. Это проверить легко, если (на отключённом E-140) тестером на омах померить сопротивление между 3-им контактом разъёма Analog и 36-ым разъёма Digital. В нормальном случае это сопротивление должно быть менее 1 Ом. Подключая USB-GND к AGND, Вы восстанавливаете утраченное соединение аналоговой и цифровой земли и E14-140(M) как-то начинает работать... Если это подтвердится, то рекомендую E14-140(M) отдавать к нам в ремонт и на тестирование (сквозной ток мог попутно натворить неприятностей), и важно разобраться в Вашей схеме подключения, которая, вероятно, не учитывает, что E14-140(M) не имеет гальванической изоляции.
При отключенном питании AGND и DGND не прозваниваются тестером (с включенным проверить пока не могу). По поводу схемы подключения - я только начал разбираться с модулем и первое что было под рукой - +5 В в USB. Его я подключил как описано выше без какой-либо развязки и модуль работал. А при попытке измерить что нибудь другое модуль уже не запускался. Я далеко не первый кто работал с этим модулем и даже не знаю работал ли он нормально до меня. Могу лишь сказать что при первом запуске Lgraph1 выскочила ошибка "Невозможно предварительно остановить сбор данных", так что видимо не я его спалил
Артем, спасибо за диагностику.
На скриншоте ошибка возникла после 184194 успешных циклов - это такое поведение (т.е. ошибка возникает не сразу) или это Вы отсоединили "паразитное питание" на ходу и сразу произошел сбой?
Отсоединил USB, подключенный к входу АЦП - и сразу произошел сбой.
Артем пишет:Добрый день. Имеется похожая проблема.
Тогда есть смысл действовать по тому же алгоритму.
Есть интересная особенность - берем модуль, подключаем USB-GND к Y1-Y16 и AGND, а USB-Vcc к X2-X16. Запускаем ttl_speed - работает. Отключаем вход от USB - TTL OUT ERROR. Подключаем к USB другого компьютера или к источнику напряжения - не работает.
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск