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

E 502 Запуск измерений по внешнему импульсу на DI_SYN1_RISE

Вы не вошли.

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

01.08.2019 19:15:34
#1

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

E 502 Запуск измерений по внешнему импульсу на DI_SYN1_RISE

Добрый день!

Необходимо: произвести многоканальные  измерения посредством АЦП, запускаемые по сигналу на DI_SYN1_RISE

0. Переписываю пример кода для L-Card, x502_stream_read.


1. Все хорошо работает в случае запуска измерений посредством программного запуска X502_StreamsStart(hnd);


2. После вставки инструкции на запуск измерений от внешнего импульса 

        err = X502_SetSyncStartMode(hnd, X502_SYNC_DI_SYN1_RISE);

код работает как и прежде, даже в отсутствии физического сигнала на DI_SYN1.
Хотя по идее программа должна ждать прихода сигнала запуска на DI_SYN1


3. Схема соединения контактов analog разъема следующая
- X1 - подключен на источник сигнала;
- DI_SYN1 - подключен на источник синхроимпульса;
- все остальные контакты (включая ANGD, GND32) заземлены за исключением: DAC1, DAC2 - висят в воздухе
-  разъем источника аналогового сигнала и сигнала внешнего синхроимпульса имеют общую землю


4. Программный код следующий

    /* устанавливаем параметры логической таблицы АЦП */
    err = X502_SetLChannelCount(hnd, ADC_LCH_CNT);   

        /* устанавливаем параметры заданного логического канала в логической таблице АЦП.*/
    for (i = 0; (i < ADC_LCH_CNT) && (err == X502_ERR_OK); i++)
        err = X502_SetLChannel(hnd, i, ..., ..., ...., 1);

         /* устанавливаем частоты ввода для АЦП  */
           err = X502_SetAdcFreqDivider(hnd, ADC_FREQ_DIV);
    err = X502_SetAdcInterframeDelay(hnd, 0);

    /* записываем настройки в модуль */
    err = X502_Configure(hnd, 0);

    /* разрешаем синхронные потоки */
    err = X502_StreamsEnable(hnd, X502_STREAM_ADC);

       /* Установка режима генерации частоты синхронизации - тактовой частоты АЦП*/
    err = X502_SetSyncMode(hnd, X502_SYNC_INTERNAL);

    // Установка запуска измерений по внешнему синхроимпульсу
    err = X502_SetSyncStartMode(hnd, X502_SYNC_DI_SYN1_RISE);

    // запуск АЦП на измерение
    err = X502_StreamsStart(hnd);


5. Параметры модуля следующие

Library version: 1.1.13
The following modules are available:
Serial number: 2T222574
Установлена связь со следующим модулем:
Серийный номер          : 2T222574
Наличие ЦАП             : Да
Наличие BlackFin        : Нет
Наличие гальваноразвязки: Да
Индустриальное исп.     : Нет
Наличие интерф. PCI/PCIe: Нет
Наличие интерф. USB     : Да
Наличие интерф. Ethernet: Нет
Версия ПЛИС             : 0.1
Версия PLDA             : 0
Версия прошивки ARM     : 1.0.1.0


6. Не подскажете, порядок вызовов функций настроек для E-502 правильный?
   Рабочий день убил, не вижу ошибки...

Спасибо!
Алексей

01.08.2019 20:35:40
#2

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

Re: E 502 Запуск измерений по внешнему импульсу на DI_SYN1_RISE

Добрый день.

Вызов X502_SetSyncStartMode(), аналогично остальным настройкам, должен идти до X502_Configure() (т.к. именно при вызове Configure настроенные параметры передаются в модуль).

Также,хоть с проблемой это не связано, я бы порекомендовал обновить прошивки ПЛИС (через <путь установки SDK>/tools/lxfw-update/e502-fpga-update-all.bat) и контроллера ARM (через программу lqmeasstudio (http://www.lcard.ru/download/lqmeasstudio_windows.php) взяв файл прошивки отсюда http://www.lcard.ru/download/e502-m4.bin.

Отредактировано Алексей L Card (01.08.2019 20:40:48)

02.08.2019 15:37:07
#3

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

Re: E 502 Запуск измерений по внешнему импульсу на DI_SYN1_RISE

Алексей L Card -- Огромное спасибо, все сработало!

Алексей

Контакты

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

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

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

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