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

Запрос на доработку E20-10

Вы не вошли.

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

22.11.2018 16:49:29
#26

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

- максимальный размер кадра будет уменьшен до 4096 (в последних официальных прошивках был 8192).

26.11.2018 16:43:41
#27

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

Сведения о каналах синхронного ввода E20-10 внесены в Руководство пользователя http://www.lcard.ru/download/e20_10_users_guide.pdf
Прошивка 2.00.13 в данное время тестируется и под неё адаптируется ПО. - О готовности сообщим отдельно.

Заказной кабель для ввода синхросигналов называется:
Кабель E20-SYNC-START   ДЛИЖ.685621.1305
О готовности его КД и расчёта цены узнавайте в нашем отделе продаж.

Отредактировано Гарманов Александр (26.11.2018 16:43:59)

30.11.2018 13:00:54
#28

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

Re: Запрос на доработку E20-10

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

(Для индикации факта попадания нужного момента времени между моментами формирования битов можно использовать дробное значение номера бита, показывающее положение нужного момента по оси времени, на которой биты являются целыми координатами.)

Всё это, естественно, можно вычислить по информации из Руководства пользователя, но наличие уже готовой функции сделало бы использование устройства более удобным.)

13.12.2018 16:31:57
#29

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

Re: Запрос на доработку E20-10

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

13.12.2018 16:38:12
#30

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

Кулыгин Алексей пишет:

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

Спасибо на добром слове! Будем надеяться, что наши программисты в приемлемое для Вас время всё это реализуют в библиотеках и примерах. smile

13.12.2018 17:37:31
#31

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

Re: Запрос на доработку E20-10

Спасибо, ждём.
Собственно говоря, для нашей задачи актуально программное обеспечение под linux.

Насколько я понимаю, в минимальном варианте нужна сама прошивка (файл .pld) и добавка возможности в ПО верхнего уровня задавать значения параметров m, b и F_{SD}. Так ли это и если так, то есть ли возможность для оперативности получить такой минимальный вариант раньше, чем всё остальное ПО?

21.12.2018 20:54:25
#32

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

Re: Запрос на доработку E20-10

Применили новую прошивку и новую версию lcomp на реальной экспериментальной установке.
Получены следующие результаты.

1. Читаемые с логических каналов 5 и 6 цифровые данные никак не зависят от того, что физически подключено ко входам DI16/START (контакт 16) и SYNC (контакт 19) соответственно. В частности, ничего не меняется при замыкании их на землю (контакт 17).

2. С логического канала 5 (DI16/START) всегда читаются все единички во всех разрядах (в том числе и при закорачивании на землю).

3. С логического канала 6 (SYNC) читаются данные, зависящие от сигнала, подаваемого на аналоговый разъём BNC 1. Туда подаются прямоугольные меандры с амплитудой примерно +3.5...+4.5 В. И когда на этом аналоговом входе напряжение близко к 0, с канала 6 читается постоянное значение 0001111111111111, а когда напряжение близко к амплитуде меандра - значения типа 000000000000????, где первые 12 бит - всегда 0, а последние 4 младших бита - случайные 0 и 1, распределённые примерно поровну (...1000, ...0110, ...0111 и т. п.).

У нас возникло подозрение, что для получения с этих цифровых входов реальной информации их необходимо как-то программно настроить на работу на вход. Так ли это?

Опубликуйте, пожалуйста, пример программы для работы с цифровыми входами (наверняка хотя бы один такой пример был написан в процессе разработки).

21.12.2018 21:14:38
#33

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

Судя по Вашему описанию, наверняка программно не настроено направление этих цифровых линий. . Либо проблема с настройкой управляющей таблицы. Либо прошивку FPGA не обновили.Я сужу по нижнему уровню FPGA. В понедельник попрошу программистов все это проверить и опубликовать пример.

Отредактировано Гарманов Александр (21.12.2018 23:03:26)

22.12.2018 00:43:26
#34

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

Re: Запрос на доработку E20-10

Гарманов Александр пишет:

Судя по Вашему описанию, наверняка программно не настроено направление этих цифровых линий. . Либо проблема с настройкой управляющей таблицы. Либо прошивку FPGA не обновили.Я сужу по нижнему уровню FPGA. В понедельник попрошу программистов все это проверить и опубликовать пример.

Управляющая таблица настроена так:

adcPar.t2.NCh = 4;
adcPar.t2.Chn[0] = 0x0;
adcPar.t2.Chn[1] = 0x1;
adcPar.t2.Chn[2] = 0x2;
adcPar.t2.Chn[3] = 0x6;

Прошивка (файл .pld) использована та, которую прислал ваш сотрудник.

22.12.2018 10:47:04
#35

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

Кулыгин Алексей пишет:

Управляющая таблица настроена так:
adcPar.t2.NCh = 4;
adcPar.t2.Chn[0] = 0x0;
adcPar.t2.Chn[1] = 0x1;
adcPar.t2.Chn[2] = 0x2;
adcPar.t2.Chn[3] = 0x6;

Эта таблица соответствует вводу данных с 4-х физических каналов:
- Канал 1 АЦП
- Канал 2 АЦП
- Канал 3 АЦП
- Канал синхронного цифровой ввода со входа SYNC.

(См. п. 5.2.3.3. "Формат данных синхронных цифровых последовательных входов" в http://www.lcard.ru/download/e20_10_users_guide.pdf

Но выше Вы описываете, что читаете и со входа  DI16/START, и со входа SYNC. - Пока я вижу это противоречие в Вашем сообщении выше, и, как следствие,  как я понимаю, неверную интерпретацию данных на верхнем программном уровне. Возможно, имеется проблема в т.ч. неверной настройки конфигурации линии SYNC (с этим разберёмся в понедельник - я надеюсь). Но для начала всё-таки нужно правильно интерпретировать данные на верхнем уровне в соответствии с настройкой управляющей таблицы...

22.12.2018 11:46:31
#36

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

Re: Запрос на доработку E20-10

В предыдущих сообщениях описано два разных эксперимента, программная реализация которых различалась одной командой (adcPar.t2.Chn[3] = 0x6; и adcPar.t2.Chn[3] = 0x5; соответственно), выполнявшихся в разное время. Одновременное чтение с двух цифровых каналов не выполнялось.

Поскольку для DI16/START ничего содержательного получено не было (читались единичные биты во всех разрядах независимо ни от чего), в дальнейшем речь шла только про SYNC.

22.12.2018 14:38:32
#37

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

В таком случае, видна ещё одна проблема - это влияние признака перегрузки разрядной сетки канала 1 АЦП на цифровой канал SYNC.

24.12.2018 10:07:39
#38

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

Re: Запрос на доработку E20-10

Нужно попробовать самый простой способ проверки новой прошивки без каких то ни было подключений сигналов к модулю (т.е. отключаем от модуля всё, кроме USB шнура и кабеля питания). Теперь в штатном примере нужно настроить внутренние сигналы 'Старта' и тактирующих импульсов АЦП на их трансляцию на внешний разъём. Например так:

         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.AutoInit = 1;
         adcPar.t2.dRate = 10000.0;
         adcPar.t2.dKadr = 0.001;
         adcPar.t2.SynchroType	= INT_START_TRANS;
         adcPar.t2.SynchroSrc	= INT_CLK_TRANS;
         adcPar.t2.AdcIMask	= SIG_0|SIG_1|SIG_2|SIG_3;
         
         adcPar.t2.DigRate = 0;	// clock divider for dig input 0x4 0x5 0x6 log. chan

         adcPar.t2.NCh = 4;
         adcPar.t2.Chn[0] = 0x0;
         adcPar.t2.Chn[1] = 0x1;
         adcPar.t2.Chn[2] = 0x2;
         adcPar.t2.Chn[3] = 0x6;

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

24.12.2018 16:08:39
#39

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

Re: Запрос на доработку E20-10

Тихомиров Сергей пишет:

Нужно попробовать самый простой способ проверки новой прошивки без каких то ни было подключений сигналов к модулю (т.е. отключаем от модуля всё, кроме USB шнура и кабеля питания). Теперь в штатном примере нужно настроить внутренние сигналы 'Старта' и тактирующих импульсов АЦП на их трансляцию на внешний разъём. Например так:

         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.AutoInit = 1;
         adcPar.t2.dRate = 10000.0;
         adcPar.t2.dKadr = 0.001;
         adcPar.t2.SynchroType	= INT_START_TRANS;
         adcPar.t2.SynchroSrc	= INT_CLK_TRANS;
         adcPar.t2.AdcIMask	= SIG_0|SIG_1|SIG_2|SIG_3;
         
         adcPar.t2.DigRate = 0;	// clock divider for dig input 0x4 0x5 0x6 log. chan

         adcPar.t2.NCh = 4;
         adcPar.t2.Chn[0] = 0x0;
         adcPar.t2.Chn[1] = 0x1;
         adcPar.t2.Chn[2] = 0x2;
         adcPar.t2.Chn[3] = 0x6;

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

Сделали. С канала 6 читаются значения 0000111000111000 (и только такие, никаких других не замечено).

Подскажите, как теперь правильно указать параметры (q8cCrskD, adcPar.t2.SynchroSrc, возможно ещё что-нибудь), чтобы линия SYNC была настроена на вход и по ней можно было регистрировать внешний цифровой сигенал без примеси сигнала синхронизации.

24.12.2018 17:26:35
#40

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

Re: Запрос на доработку E20-10

У меня так работает с внешним сигналом по линии SYNC:

         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.AutoInit	= 1;
         adcPar.t2.dRate	= 10000.0;
         adcPar.t2.dKadr	= 0.0;
         adcPar.t2.SynchroType	= INT_START;
//         adcPar.t2.SynchroType	= INT_START_TRANS;
         adcPar.t2.SynchroSrc	= INT_CLK;
//         adcPar.t2.SynchroSrc		= INT_CLK_TRANS;
         adcPar.t2.AdcIMask	= SIG_0|SIG_1|SIG_2|GND_3;
	 adcPar.t2.DigRate	= 0x1;
         
         adcPar.t2.NCh = 4;
         adcPar.t2.Chn[0] = 0x0;
         adcPar.t2.Chn[1] = 0x1;
         adcPar.t2.Chn[2] = 0x2;
         adcPar.t2.Chn[3] = 0x6;
24.12.2018 18:14:10
#41

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

Re: Запрос на доработку E20-10

Тихомиров Сергей пишет:

У меня так работает с внешним сигналом по линии SYNC:

         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.AutoInit	= 1;
         adcPar.t2.dRate	= 10000.0;
         adcPar.t2.dKadr	= 0.0;
         adcPar.t2.SynchroType	= INT_START;
//         adcPar.t2.SynchroType	= INT_START_TRANS;
         adcPar.t2.SynchroSrc	= INT_CLK;
//         adcPar.t2.SynchroSrc		= INT_CLK_TRANS;
         adcPar.t2.AdcIMask	= SIG_0|SIG_1|SIG_2|GND_3;
	 adcPar.t2.DigRate	= 0x1;
         
         adcPar.t2.NCh = 4;
         adcPar.t2.Chn[0] = 0x0;
         adcPar.t2.Chn[1] = 0x1;
         adcPar.t2.Chn[2] = 0x2;
         adcPar.t2.Chn[3] = 0x6;

У меня такой код приводит к чтению с канала 6 константы 1110110110110110 (независимо ни от чего - когда к контакту 19 ничего не подключено, когда он замкнут на землю и когда на него подан цифровой сигнал относительно земли). (Кабель на всякий случай прозвонили.)

При этом с канала 5 (DI16/START, изменение в коде: adcPar.t2.Chn[3] = 0x5) читается правильный цифровой сигнал.

25.12.2018 08:44:27
#42

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

Re: Запрос на доработку E20-10

Странно это... У меня вроде бы канал '6' (линия SYNC) работает без проблем.
1. Попробуйте ещё раз проверить правильность подключения сигнала к линии SYNC на разъёме модуля.
2. Можно попробовать задействовать другой экземпляр модуля E20-10
3. Если ничего не поможет, подъезжайте к нам, например, сегодня после 15-00. Попробуем на месте разобраться в чём там дело.

25.12.2018 10:37:33
#43

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

Кулыгин Алексей пишет:

...У меня такой код приводит к чтению с канала 6 константы 1110110110110110 (независимо ни от чего - когда к контакту 19 ничего не подключено, когда он замкнут на землю и когда на него подан цифровой сигнал относительно земли). (Кабель на всякий случай прозвонили.)
При этом с канала 5 (DI16/START, изменение в коде: adcPar.t2.Chn[3] = 0x5) читается правильный цифровой сигнал.

- С моей точки зрения, это указывает на то, что линия SYNC настроена "трансляцию сигнала SYNC на выход", а не на вход. А если от SYNC отключить внешнюю цепь и просто посмотреть осциллографом там происходит? Если она  "на вход", то уровень может плавать, поскольку там нет подтяжки. Если "на выход", то там будут импульсы с установленной частотой преобразования АЦП.

25.12.2018 16:10:21
#44

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

Re: Запрос на доработку E20-10

Гарманов Александр пишет:

- С моей точки зрения, это указывает на то, что линия SYNC настроена "трансляцию сигнала SYNC на выход", а не на вход. А если от SYNC отключить внешнюю цепь и просто посмотреть осциллографом там происходит? Если она  "на вход", то уровень может плавать, поскольку там нет подтяжки. Если "на выход", то там будут импульсы с установленной частотой преобразования АЦП.

Да, на осциллографе видны меандры частотой 10 МГц со скважностью 1/2, прямоугольные со сглаженными фронтами.

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

25.12.2018 20:28:54
#45

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

Re: Запрос на доработку E20-10

Установили новую версию lcomp, присланную вашим сотрудником.

Поведение системы изменилось, но проблема не решилась.

Теперь с канала SYNC читается такая последовательность:
0000111000111000 ???????????????? 1111111111111111 ???????????????? и т. д.

Здесь цифрами обозначены "константы" (стоят на нечётных местах и не меняются), а вопросительными знаками - переменные от чтения к чтению величины. Эти переменные величины скорее всего не зависят от сигнала и очень похожи на вычитающие счётчики, считающие от 1111111111111111 до 0000000000000000 (время от времени возникают все единички и затем всё больше и больше разрядов справа становятся хаотичными, замещая стабильные единички слева, пока стабильных единичек не останется, затем вновь появляется 1111111111111111 и весь описанный процесс повторяется).

Поведение линии DI16/START от установки новой версии lcomp не поменялось - она, как и с предыдущей версией lcomp, работает правильно.

25.12.2018 22:10:26
#46

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

В этой ситуации я обязан спросить:
- установилась ли линия SYNC "на вход";
- зависят ли принимаемые цифровые данные от состояния линии SYNC;
- какие электрические уровни сигналов подаются на вход SYNC; или какие электрические характеристики у источника сигнала SYNC?

25.12.2018 23:24:20
#47

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

Re: Запрос на доработку E20-10

Гарманов Александр пишет:

В этой ситуации я обязан спросить:
- установилась ли линия SYNC "на вход";

По косвенным признакам линия так и осталась настроенной на выход и является источником меандров частотой 10 МГц. Точно в этом убедиться по организационным причинам на работающем оборудовании не получилось. Сделаю это завтра.

Гарманов Александр пишет:

- зависят ли принимаемые цифровые данные от состояния линии SYNC;

"Постоянная составляющая" (значения 0000111000111000 и 1111111111111111) остаются на своих местах независимо от того, что происходит с линией (никуда не подключена, подаётся постоянно логический 0, подаётся постоянно логическая 1, подаются меандры разных частот от единиц Гц до 55 МГц). Мигающая составляющая, соответственно, мигает и в том, и в другом случае.

Для чистоты эксперимента всё это проверялось в том числе и при отключении всех остальных сигнальных проводов (при этом видимой разницы от их подключения и отключения не замечено).

Гарманов Александр пишет:

- какие электрические уровни сигналов подаются на вход SYNC; или какие электрические характеристики у источника сигнала SYNC?

Цифровые выходы микросхем типа ТТЛ с уровнем логической единицы 5 В. Подключение осуществлялось с помощью коаксиального кабеля длиной от 50 см до 2 м.

Все эти же сигналы нормально читаются при подключении их к линии DI16/START (и соответствующей замене индекса линии в управляющей таблице).

26.12.2018 08:27:16
#48

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Запрос на доработку E20-10

По логике FPGA: канал ввода данных SYNC должен работать в контексте настроек кадра сбора данных, если направление линии SYNC установлено "на вход" и если установлен режим внутренней синхронизации частоты преобразования АЦП.
В последнем нетрудно убедиться (если линия SYNC - "на вход" ): сбор данных должен происходить, когда на SYNC не подана частота внешней синхронизации (от неподключенного "висящего" входа SYNC сбор данных не будет запускаться, скорее всего).

26.12.2018 13:53:36
#49

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Запрос на доработку E20-10

Пришлите полный исходный текст примера, который запускаете, и файл получаемых данных. На poul@lcard.ru

У меня под Linux сейчас в тестовом примере так:

         adcPar.t2.s_Type = L_ADC_PARAM;
         adcPar.t2.AutoInit = 1;
         adcPar.t2.dRate = 1000.0;
         adcPar.t2.dKadr = 0.001;
         adcPar.t2.SynchroType = INT_START;//0x01;
         adcPar.t2.SynchroSrc = INT_CLK;//0x00;
         adcPar.t2.AdcIMask = SIG_0|SIG_1|SIG_2|SIG_3;
         
         adcPar.t2.DigRate = 1; // clock divider for dig input 0x4 0x5 0x6 chan

         adcPar.t2.NCh = 4;
         adcPar.t2.Chn[0] = 0x0;
         adcPar.t2.Chn[1] = 0x1;
         adcPar.t2.Chn[2] = 0x2;
         adcPar.t2.Chn[3] = 0x6;
         adcPar.t2.FIFO = 32768;
         adcPar.t2.IrqStep = 32768;
         adcPar.t2.Pages = 8;
         adcPar.t2.IrqEna = 1;
         adcPar.t2.AdcEna = 1;

         // extra sync mode
         adcPar.t2.StartCnt = 0;
         adcPar.t2.StopCnt = 0;
         adcPar.t2.DM_Ena = 0;
         adcPar.t2.SynchroMode = 0;
         adcPar.t2.AdPorog = 0;

и все вроде адекватно себя ведет на стенде. (по утверждению Тихомирова Сергея)

26.12.2018 13:54:42
#50

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Запрос на доработку E20-10

Надеюсь из вчерашнего обновления взята библиотека, т.к. исправление было в ней, а не в драйверах...

Контакты

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

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

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

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