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


Форум

Вы не вошли.

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

#1 Re: Техническая поддержка и выбор оборудования » E20-10 16-битный цифровой вход » 17.12.2015 09:27:54

Вот так добавил.

      case DIOC_TTL_IN: // for e20-10 specific...
      {
         DbgPrint("In DIOC_TTL_IN \n");
         *((u16 *)ibuf->outBuffer) = GET_DM_WORD_E2010(dev, SEL_DIO_DATA); break;
         status = copy_to_user((void*)arg, ibuf, sizeof(IOCTL_BUFFER));
	 DbgPrint("In DIOC_TTL_IN %x %x \n",*((u16 *)ibuf->outBuffer), status);
      } break;

#2 Re: Техническая поддержка и выбор оборудования » E20-10 16-битный цифровой вход » 17.12.2015 09:25:32

Poul пишет:

И в драйвере ldevusbu.c
      case DIOC_TTL_IN: // for e20-10 specific...
      {
         DbgPrint("In DIOC_TTL_IN \n");
         *((u16 *)ibuf->outBuffer) = GET_DM_WORD_E2010(dev, SEL_DIO_DATA); break;
         status = copy_to_user((void*)arg, ibuf, sizeof(IOCTL_BUFFER));
>> тут почитать и значение и статус
>>          DbgPrint("In DIOC_TTL_IN %x %x \n",*((u16 *)ibuf->outBuffer), status);
>> если DEBUG собрать, то в логах дожно быть видно
      } break;

У меня сейчас нет рабочей машины с Linux проверить....

[303238.242636] lcard: Set Buffer 8 32768 
[303238.242696] lcard: In DIOC_TTL_CFG 
[303238.243042] lcard: In DIOC_TTL_OUT 
[303238.243448] lcard: In DIOC_TTL_CFG 
[303238.243942] lcard: In DIOC_TTL_IN 
[303238.244384] lcard: in close 

Почему-то не выводит строчку добавленную в ldevusbu.c.

#3 Re: Техническая поддержка и выбор оборудования » E20-10 16-битный цифровой вход » 17.12.2015 09:14:41

Poul пишет:

в библиотке отладочных printf запихните в вызов IoAsync и в ULONG DaqE2010::InputTTL(PDAQ_PAR sp).

Это где?

#5 Техническая поддержка и выбор оборудования » E20-10 16-битный цифровой вход » 16.12.2015 14:43:40

Василий
Ответов: 7

Добрый день!

E20-10 B, ОС Linux.
Пытаюсь получить информацию с входа DI, АЦП конфигурирую - всё ок, выход DO работает.
Пытаюсь получить DI

ASYNC_PAR sp;
sp.s_Type = L_ASYNC_TTL_CFG;
sp.Mode = 1;
ULONG res = pI->IoAsync(&sp);
sp.s_Type = L_ASYNC_TTL_INP;
sp.Data[0]= 1;
res = pI->IoAsync(&sp);
if ( res != L_SUCCESS ) {

В res возвращается 1 (код ошибки L_NOTSUPPORTED).

Е20-10 не поддерживает цифровой вход?

#7 Техническая поддержка и выбор оборудования » Синхронизация Е20-10 » 01.12.2015 11:27:37

Василий
Ответов: 10

Здравствуйте!
Имею пару Е20-10 ревизии B.

Проблема в следующем, на частоте сбора информации в 5 МГц сбор проходит синхронно, а на частоте 10 МГц происходит рассинхронизация.

Софт под Linux язык С++.

Ведомый АЦП конфигурирую следующим образом:

adcPar.t2.s_Type = L_ADC_PARAM;
adcPar.t2.AutoInit = 1;
adcPar.t2.dRate = 10000.0; // частота опроса каналов АЦП
adcPar.t2.dKadr = 0.0;
adcPar.t2.SynchroType = EXT_START_UP | EXT_CLK_UP;
adcPar.t2.SynchroSrc = EXT_CLK_UP;
adcPar.t2.AdcIMask = SIG_0; // Задаёт режим ввода по каналам
adcPar.t2.NCh = 1;
adcPar.t2.Chn[0] = 0x0;
adcPar.t2.FIFO = 32768;
adcPar.t2.IrqStep = 32768;
adcPar.t2.Pages = 8;
adcPar.t2.IrqEna = 1;
adcPar.t2.AdcEna = 1;
adcPar.t2.StartCnt = 0;
adcPar.t2.StopCnt = 0;
adcPar.t2.DM_Ena = 0;
adcPar.t2.SynchroMode = 0;
adcPar.t2.AdPorog = 0;
pI->FillDAQparameters(&adcPar.t2);
pI->SetParametersStream(&adcPar.t2, &size, (void **)&bufferBegin_ptr, (void**)&syncVar_ptr,L_STREAM_ADC);

Ведущий:

adcPar.t2.SynchroType = INT_START_TRANS;
adcPar.t2.SynchroSrc = INT_CLK_TRANS;

В чём может быть проблема?

#9 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 16:25:35

Приложение test из архива также выдаёт сигнал старт сразу при запуске.

sudo ./test 1 e2010m
Get IDaqLDevice interface
IDaqLDevice get success 
Free IUnknown
OpenLDevice Handle3

Slot parameters
Base    0
BaseL   0
Mem     0
MemL    0
Type    27
DSPType 0
Irq     0
Load Bios 0
Plata Test 0

Read FLASH
SerNum       5D775023
BrdName      E20-10
Rev          B
DspType      AVR ATmega162
IsDacPresent 
Quartz       7500000

Press any key

До первого Press any key я уже фиксирую сигнал старт.

#11 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 16:11:15

Похоже я нашёл свою ошибку.... 

pI->FillDAQparameters(&adcPar.t2);
pI->SetParametersStream(&adcPar.t2,.....

вместо t2 я сначала писал t1.... ух блин.
После этого вроде всё заработало как надо!

#12 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 15:42:09

После сбора данных программа заканчивает свою работу. Потом её перезапускаю уже руками из консоли.

#13 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 15:00:24

Изучал осциллографом этот момент, ведущий АЦП поднимает сигнал старт во время инициализации, не дожидаясь функции StartLDevice().
Но если закоментировать StartLDevice() и запустить приложение, то АЦП всё равно поднимает сигнал старт, но ничего не собирает. А если перезапустить второй раз с закоментированной функцией StartLDevice(), то ацп уже не поднимает сигнал старт и не собирает данные. После этого я раскоментирую StartLDevice() и первый запуск проходит идеально, сигнал старт поднимается когда выполняется функция StartLDevice(), оба АЦП записывают сигнал синхронно, но при этом второй и последующий запуск уже проходят неудачно, ведущий АЦП поднимает сигнал старт по время инициализации.

#14 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 12:36:33

Причём заметил особенность. Ведомый АЦП при инициализации мигает светодиодом и когда встаёт на ожидание мигать прекращает, но при этом как только ведущий АЦП начинает мигать светодиодом, в этот момент начинает мигать ведомый АЦП.

#15 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 12:33:58

Хотя нет, это была просто случайность похоже... Несколько экспериментов показали, что задержка осталась...

#16 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 11:26:21

Изменил у ведомого в инициализации
adcPar.t2.SynchroType = EXT_START_DOWN_REVB;

на
adcPar.t2.SynchroType = EXT_START_UP;

И задержка стала всего 100 отсчётов АЦП.
Всё-таки новая прошивка плис помогает. Со старой задержка 70000 отсчётов.

#18 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 27.05.2015 08:43:28

Poul пишет:

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

Если разорвать связь, то ведомый стоит, ведущий собирает.

#19 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 26.05.2015 15:26:52

Может я не правильно конфигурирую АЦП

Ведомый АЦП конфигурирую след. образом:
            pI->LoadBios("e2010m");
        pI->PlataTest();
        adcPar.t2.s_Type = L_ADC_PARAM;
        adcPar.t2.AutoInit = 1;
        adcPar.t2.dRate = 10000.0; // частота опроса каналов АЦП
        adcPar.t2.dKadr = 0.;
        adcPar.t2.SynchroType = EXT_START_DOWN_REVB;
        adcPar.t2.SynchroSrc = EXT_CLK_UP;
        adcPar.t2.AdcIMask = SIG_0 + V30_0;
        adcPar.t2.NCh = 1;
        adcPar.t2.Chn[0] = 0x0;

        adcPar.t2.FIFO = 32768;
        adcPar.t2.IrqStep = 32768;
        adcPar.t2.Pages = 8;
        adcPar.t2.IrqEna = 1;
        adcPar.t2.AdcEna = 1;

        adcPar.t2.StartCnt = 0;
        adcPar.t2.StopCnt = 0;
        adcPar.t2.DM_Ena = 0;
        adcPar.t2.SynchroMode = 0;
        adcPar.t2.AdPorog = 0;

Ведущий АЦП конфигурирую след. образом:
        pI->LoadBios("e2010m");
        pI->PlataTest();
        adcPar.t2.s_Type = L_ADC_PARAM;
        adcPar.t2.AutoInit = 1;
        adcPar.t2.dRate = 10000.0;
        adcPar.t2.dKadr = 0.;
        adcPar.t2.SynchroType = INT_START_TRANS;
        adcPar.t2.SynchroSrc = INT_CLK_TRANS;
        adcPar.t2.AdcIMask = SIG_0 + V30_0;
        adcPar.t2.NCh = 1;
        adcPar.t2.Chn[0] = 0x0;

        adcPar.t2.FIFO = 32768;
        adcPar.t2.IrqStep = 32768;
        adcPar.t2.Pages = 8;
        adcPar.t2.IrqEna = 1;
        adcPar.t2.AdcEna = 1;

        adcPar.t2.StartCnt = 0;
        adcPar.t2.StopCnt = 0;
        adcPar.t2.DM_Ena = 0;
        adcPar.t2.SynchroMode = 0;
        adcPar.t2.AdPorog = 0;

#22 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 26.05.2015 09:46:38

Вчера результаты я переписал из приложения test которое входит в архив с модулями ядра и библиотеками для Linux.

modulesviewer13.exe
выдаёт следующее:

5D775023
Микроконтроллер:
версия 2.1 от Apr 18 2008
Загрузчик:
версия 2.0 от Mar 18 2008
ПЛИС
версия 2.00.06 от 01.09.08

5D358243
Версии аналогичны предыдущему модулю.

#23 Re: Техническая поддержка и выбор оборудования » Задержка ведомого ацп E20-10 » 25.05.2015 09:21:23

Серийные номера:

SerNum       5D775023
Current Firmware Version 0x0

SerNum       5D358243
Current Firmware Version 0x0

В loadBios загружаю файл e2010m размером 40481 байт. (вроде взят с диска от который был в коробке с АЦП)

Контакты

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

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

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

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