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

Вывод синусойды на ЦАП? lcard502

Вы не вошли.

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

Вячеслав
23.11.2016 10:24:17
#1

Гость

Вывод синусойды на ЦАП? lcard502

Добрый день, может кто то подсказать как выдать синусойду на цап с частотой 0.1Гц в синхронном режиме, не могу понять как заполнить буфер перед отправкой

23.11.2016 11:08:41
#2

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

Re: Вывод синусойды на ЦАП? lcard502

Вы пишите свою программу?

Для такой низкой частоты по крайней мере в циклическом режиме понадобится понизить частоту вывода (а то слишком большой циклический буфер получится - 10 Млн точек при выводе на 1МГц) при конфигурации модуля.

Если вы понизите частоту вывода например до 100 КГц, то получится Вам на один период сигнала нужно 1 Млн точек.
Соответственно нужен массив из данного количества элементов типа double, который заполняется синусом (если на C):

x[i] = A*sin((double)2 * PI * i/size);

где size - размер массива для одного периода - при условиях выше - 1000000, A - амплитуда сигнала в вольтах, PI - значение числа Пи,  i проходит от 0 до size-1.

А далее уже этот массив подается на PorcessData в результате получается size слов на отправку в модуль, которые уже передаются через Send.

Сама последовательность вызовов как для циклического, так и для потокового режимов описана в начале руководства программиста.

Если что-то не понятно, то можете задать более конкретные вопросы.

Вячеслав
23.11.2016 11:18:04
#3

Гость

Re: Вывод синусойды на ЦАП? lcard502

Алексей L Card пишет:

Вы пишите свою программу?

Для такой низкой частоты по крайней мере в циклическом режиме понадобится понизить частоту вывода (а то слишком большой циклический буфер получится - 10 Млн точек при выводе на 1МГц) при конфигурации модуля.

Если вы понизите частоту вывода например до 100 КГц, то получится Вам на один период сигнала нужно 1 Млн точек.
Соответственно нужен массив из данного количества элементов типа double, который заполняется синусом (если на C):

x[i] = A*sin((double)2 * PI * i/size);

где size - размер массива для одного периода - при условиях выше - 1000000, A - амплитуда сигнала в вольтах, PI - значение числа Пи,  i проходит от 0 до size-1.

А далее уже этот массив подается на PorcessData в результате получается size слов на отправку в модуль, которые уже передаются через Send.

Сама последовательность вызовов как для циклического, так и для потокового режимов описана в начале руководства программиста.

Если что-то не понятно, то можете задать более конкретные вопросы.

Так, а если я предварительно настроил частоту дискретизации АЦП на 1кГц, то частота вывода для ЦАП тоже изменится до 1кГц ?

23.11.2016 11:28:04
#4

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

Re: Вывод синусойды на ЦАП? lcard502

Нет, частота АЦП и частота вывода задаются отдельно (но при этом  получаются делением общей опорной частоты). Для настройки частоты вывода используется функция X502_SetOutFreq(). При этом частота вывода реально принимает значения из набора Fref/N, где N от 2 до 1024, а Fref - опорная частота (по-умолчанию 2МГц).

Вячеслав
23.11.2016 11:58:17
#5

Гость

Re: Вывод синусойды на ЦАП? lcard502

Алексей L Card пишет:

Нет, частота АЦП и частота вывода задаются отдельно (но при этом  получаются делением общей опорной частоты). Для настройки частоты вывода используется функция X502_SetOutFreq(). При этом частота вывода реально принимает значения из набора Fref/N, где N от 2 до 1024, а Fref - опорная частота (по-умолчанию 2МГц).

Спасибо, все заработало, только BSOD иногда вылетает

23.11.2016 12:06:38
#6

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

Re: Вывод синусойды на ЦАП? lcard502

Речь про L502 или E502? последняя версия lpcie_sdk? Что пишется на экране BSOD? при каких действиях вылетает, как часто, и точно связан с работой с модулем?

Вячеслва
24.11.2016 12:56:33
#7

Гость

Re: Вывод синусойды на ЦАП? lcard502

Алексей L Card пишет:

Речь про L502 или E502? последняя версия lpcie_sdk? Что пишется на экране BSOD? при каких действиях вылетает, как часто, и точно связан с работой с модулем?

Фото синего экрана : http://telegra.ph/%D1%81%D0%B8%D0%BD%D0 … 0%BD-11-24

Последняя запись в changeLog.txt
"1.1.10 (05.09.2016)
    - обновлена библиотека до версии 1.1.8 (включена в экспортируемые функции ранее забытая X502_GetEnabledStreams())"

Ошибка появляется только при запуске синхронной передачи по ЦАП

24.11.2016 13:49:06
#8

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

Re: Вывод синусойды на ЦАП? lcard502

А все же у Вас внешний модуль, подключаемый по USB (E502), или плата, вставляемая в ПК с PCI Express интерфейсом (L502)?

Драйвера для материнской платы (чипсет и т.п.) для ПК и BIOS - последние?

Вообще это прояляется каждый раз или иногда случайно? В момент запуска или в произвольный момент при работе?

Если есть относительно небольшой пример программы, в которой это проявляется, то можете выслать по почте, чтобы мы смогли проверить, проявляется ли это у нас на каких-то ПК.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск