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

Кадровый сбор данных платой L502

Вы не вошли.

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

06.06.2017 08:32:19
#1

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

Кадровый сбор данных платой L502

Добрый день! Прошу подсказать, как организовать кадровый сбор данных платой L502 c внутренним источником опорной частоты и стартом системы ввода-вывода по сигналу с входа  DI_SYN1.
На DI_SYN1 подается ТТЛ сигнал частотой 1 кГц, по фронту этого сигнала необходимо считывать n кадров АЦП и состояние цифровых входов, общая продолжительность сбора должна задаваться как количество принятых кадров * количество импульсов на DI_SYN1.

06.06.2017 08:53:30
#2

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

Re: Кадровый сбор данных платой L502

Здравствуйте. Вероятно, самый простой вариант - по первому фронту  DI_SYN1 один раз запускать весь сбор данных и далее на верхнем программном уровне, анализируя в потоке данных состояние входа  DI_SYN1, селектировать  все остальные синхронные данные в потоке, как  Вам нужно, без остановки сбора данных от L-502.

И, вероятно, более сложный вариант - данную селекцию данных устроить в Blackfin, если речь идёт о L-502-P-...

06.06.2017 09:55:53
#3

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

Re: Кадровый сбор данных платой L502

Александр, правильно ли я понял, что Вы предлагаете запустить синхронный сбор по DI_SYN1 и потом в собранных данных выбирать только те кадры, которые получены в момент фронта DI_SYN1? При этом сильно возрастает объем собираемых результатов.

В документации на плату упомянуто: Поддерживаются следующие режимы запрета данных АЦП:
 
  Автоматический запрет (останов) после ввода заданного количества кадров (от 1
до  2^32-1  кадров)  с  возможностью  повторного  разрешения  (при  повторном
выполнении  ранее  установленного  условия  разрешения)  без  перезапуска
первичной схемы синхронизации.
Это можно использовать?

A Blackfin в плате отсутствует...

06.06.2017 11:03:27
#4

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

Re: Кадровый сбор данных платой L502

Константин_Е пишет:

В документации на плату упомянуто: Поддерживаются следующие режимы запрета данных АЦП:
 
  Автоматический запрет (останов) после ввода заданного количества кадров (от 1
до  2^32-1  кадров)  с  возможностью  повторного  разрешения  (при  повторном
выполнении  ранее  установленного  условия  разрешения)  без  перезапуска
первичной схемы синхронизации.
Это можно использовать?

A Blackfin в плате отсутствует...

Да, это реализовано в логике FPGA. Можете использовать. Но во всех упомянутых  случаях нужно понимать, что, поскольку первичная синхронизация в L-502 не перезапускается, то логика селекции по событию на DI_SYN1 будет ждать начала кадра. Т.е. будет присутствовать асинхронность времени привязки начала кадра относительно DI_SYN1 (не более, чем время сбора одного кадра). Первый вариант, который я предлагал (с большим трафиком приёма данных на верхнем программном уровне) может быть лучше тем, что величину асинхронности каждого запуска  можно измерить относительно начала кадра (в периодах установленной частоты сбора данных) и учесть, если, конечно, в Вашей задаче измерения это важно.

06.06.2017 12:29:30
#5

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

Re: Кадровый сбор данных платой L502

Возможно я не совсем правильно понимаю синхронизацию по DI_SYN1 и поэтому прошу прокомментировать нижеследующее:

1. При появлении фронта на входе DI_SYN1 с первого после него фронта внутренней первичной синхронизации (2 МГц) начинается тактирование АЦП и сбор кадра, данные идут в буфер драйвера, результат первого канала в первом собранном кадре соответствует времени +0,5 мкС от фронта DI_SYN1. Затем через межкадровую задержку собирается второй кадр и т.д, фронт DI_SYN1 больше не участвует в сборе и нужен только для ПЕРВОГО включения.

2. Или так - АЦП постоянно оцифровывает кадры, но в буфер передается только тот кадр, который начал собираться сразу после фронта на DI_SYN1. И для сбора очередного кадра необходим очередной фронт DI_SYN1?

3. При работе по предложенному Вами варианту с большим трафиком анализ фронта на DI_SYN1 надо делать с учетом частоты сбора цифровых каналов и еще анализировать, какой из кадров начался сразу после обнаруженного фронта.

06.06.2017 12:47:59
#6

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

Re: Кадровый сбор данных платой L502

В Вашем сообщении:
п.1 - это если настроить от DI_SYN1  запуск первичной синхронизации сбора данных на уровне L-502, а дальнейшая селекция данных на уровне FPGA - в зависимости от наcтроек.
п.2 - это если  программно запустить первичную синхронизацию и сбор данных на уровне L-502, а дальнейшая селекция данных на уровне FPGA - в зависимости от наcтроек.
п.3 -  да, с учётом того, что все данные лежат последовательно в одном и том же потоке, причём данные от DI всегда упреждают данные АЦП на фиксированное число  позиций данных в потоке (это число можно уточнить для  конкретных настроек кадра) .

07.06.2017 06:55:29
#7

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

Re: Кадровый сбор данных платой L502

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

В Вашем сообщении:
п.1 - это если настроить от DI_SYN1  запуск первичной синхронизации сбора данных на уровне L-502, а дальнейшая селекция данных на уровне FPGA - в зависимости от наcтроек.
п.2 - это если  программно запустить первичную синхронизацию и сбор данных на уровне L-502, а дальнейшая селекция данных на уровне FPGA - в зависимости от наcтроек.

В документе "L502/E502 Руководство программиста" ревизия 1.1.7 я не нашел информации, каким образом выполнить настройки "дальнейшей селекции данных на уровне FPGA". Установка режима генерации частоты синхронизации - это понятно, ставим внутреннюю 2 МГц. Установка режима запуска частоты синхронизации - там ставим выбор запуска по фронту на DI_SYN1. А где и какие настройки селекции данных устанавливать для обеспечения работы как я писал ранее:

АЦП постоянно оцифровывает кадры, но в буфер передается только тот кадр, который начал собираться сразу после фронта на DI_SYN1. И для сбора очередного кадра необходим очередной фронт DI_SYN1.

07.06.2017 09:09:19
#8

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

Re: Кадровый сбор данных платой L502

Подождите ответа нашего программиста. Я помню, что данный функционал закладывался в ПЛИС (FPGA).

07.06.2017 10:58:28
#9

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

Re: Кадровый сбор данных платой L502

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

Подождите ответа нашего программиста. Я помню, что данный функционал закладывался в ПЛИС (FPGA).

Александр, я так же не обнаружил в руководстве программиста L502 (ревизия 1.1.8 февраль 2017) описания других настроек вторичной синхронизации, о которых сказано в руководстве пользователя L502 (ревизия 1.0.9 февраль 2017):

Поддерживаются следующие режимы синхронизации  разрешения данных АЦП:
  Нет синхронизации (режим прозрачности)
  Синхронизация от аналогового  сигнала в выбранном канале АЦП
  Цифровая  синхронизация  по  выбранному  сигналу  с  входов  DI1…DI16,  или DI_SYN1, или DI_SYN2

Поддерживаются  следующие  режимы  чувствительности  к  перепадам  сигнала
синхронизации:
  Разрешение  данных  АЦП    по  фронту  (спаду)  аналогового  или  цифрового сигнала
  Разрешение данных АЦП  по уровню  “выше порога” или “ниже порога”   (для
аналоговой  синхронизации)  или  по  уровню  логической  “1”    (для  цифровой
синхронизации)

07.06.2017 11:10:29
#10

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

Re: Кадровый сбор данных платой L502

Константин, и это тоже закладывалось. Подождите ответа, пожалуйста.

07.06.2017 13:10:41
#11

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

Re: Кадровый сбор данных платой L502

Ага, вспомнили, наконец! Как выяснилось, эти возможности закладывались и поэтому попали в руководство пользователя, но фактически не были отлажены, и поэтому не попали в руководство программиста. - Это, так сказать, издержки развития. 

Итого, на сегодня: 

1) Технически в FPGA имеется логический ресурс, чтобы эти  планы довести до конца.

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

3) Понятно, что руководство пользователя нужно приводить в соответствие с реализованным на сегодняшний день функционалом. - Это запланировали.

07.06.2017 13:40:54
#12

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

Re: Кадровый сбор данных платой L502

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

Ага, вспомнили, наконец! Как выяснилось, эти возможности закладывались и поэтому попали в руководство пользователя, но фактически не были отлажены, и поэтому не попали в руководство программиста. - Это, так сказать, издержки развития. 

Итого, на сегодня: 

1) Технически в FPGA имеется логический ресурс, чтобы эти  планы довести до конца.

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

3) Понятно, что руководство пользователя нужно приводить в соответствие с реализованным на сегодняшний день функционалом. - Это запланировали.

Это крайне плохая ситуация! Я применяю платы Л-Кард еще начиная с L-153, и всегда реальный функционал плат соответствовал техническому описанию. Были незначительные проблемы с драйверами, но они быстро устранялись специалистами Л-Кард.

Выбор плат делал на основании руководство пользователя, поскольку именно в этом документе описано ЧТО может изделие, и соответственно расчитывал на заявленные возможности плат и был спокоен за проект. И вот вдруг такое несоответствие. Причем в задаче, которая для плат АЦП одна из основных - кадровый сбор с внешней синхронизацией.

Фактически плата L502 не соответствует заявленным техническим характеристикам и это подрывает авторитет и доброе имя компании Л-Кард.

Для принятия решения о приоритете устранения данного несоответствия достаточно ли будет официального письма в адрес Л-Кард со ссылкой на подтвержденную Вами проблему в этом форуме?

07.06.2017 13:50:13
#13

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

Re: Кадровый сбор данных платой L502

Константин, да достаточно ссылки на это форум.
Это -  наша вина, безусловно. И у Вас есть полное право предъявить претензию нашему отделу продаж. Сожалею, что так получилось.

07.06.2017 14:09:42
#14

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

Re: Кадровый сбор данных платой L502

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

Константин, да достаточно ссылки на это форум.
Это -  наша вина, безусловно. И у Вас есть полное право предъявить претензию нашему отделу продаж. Сожалею, что так получилось.

Александр, в отдел продаж отправил письмо о возникшей проблеме с ссылкой на общение с Вами в данном форуме. Надеюсь на ее оперативное разрешение.

07.06.2017 17:44:00
#15

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

Re: Кадровый сбор данных платой L502

В п.3.3.5.2. Руководства пользователя внесено предупреждение:
- Функционал вторичной синхронизации заложен в проект, но в настоящее время не реализован.  О готовности данного функционала Вы можете узнать в отделе продаж L-Card.

08.06.2017 06:39:23
#16

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

Re: Кадровый сбор данных платой L502

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

В п.3.3.5.2. Руководства пользователя внесено предупреждение:
- Функционал вторичной синхронизации заложен в проект, но в настоящее время не реализован.  О готовности данного функционала Вы можете узнать в отделе продаж L-Card.


Александр, наша компания недавно приобрела еще и модули E-502, которые были выбраны на основании информации из их руководства пользователя.

Как обстоят дела с модулем E-502 в части вторичной синхронизации? Я подозреваю, что с ним такая же ситуация, поскольку руководство программиста одно и то же на оба изделия.

От отдела продаж Л-Кард ответа пока не получено. Письмо доставлено на электронную почту sale@lcard.ru вчера в 14:15 московского времени.

08.06.2017 09:34:28
#17

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

Re: Кадровый сбор данных платой L502

Константин, лично я вчера моментально сообщил нашему отделу продаж и руководству L-Card о данной ситуации. Проекты L-502 и E-502 - родственные и с E-502 аналогичная ситуация.
Особо подчеркну, что данная ситуация на сегодняшний день лежит исключительно в организационной сфере: оценочно, для доработки и отладки прошивок FPGA и ПО, реализующего данные функции, требуется 2 недели рабочего времени двух специалистов. Когда будут выделено на это 2 недели? - мне лично неизвестно. Замечу, что данные функции внедряются в L-502 и E-502 путём дистанционного обновления ПО (привозить их не потребуется).

08.06.2017 09:39:56
#18

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

Re: Кадровый сбор данных платой L502

Замечу также, что при наличии DMA у этих устройств, реализация данных функций селекции данных на верхнем программном уровне не настолько сильно будет загружать процессор в ПК, чтобы нужно было сходу отметать данное (возможно, временное) решение.  С точки зрения интересов дела, Вы могли бы, например, согласовать сроки выполнения работ с нашим отделом продаж, а пока обойтись данным временным решением?

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

Отредактировано Гарманов Александр (08.06.2017 11:53:58)

13.06.2017 15:17:04
#19

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

Re: Кадровый сбор данных платой L502

Константин,  я задал уточняющие технические вопросы по e-mail.

14.06.2017 22:51:29
#20

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

Re: Кадровый сбор данных платой L502

После рассмотрения задачи Константина, а также после совещания с коллегами всё-таки принято решение не реализовывать "вторичную синхронизацию" в L-502/E-502, потому что:

1. Выделение кадра с точностью до длительности кадра (относительно события синхронизации) с бо'льшим успехом пользователи делают либо на верхнем уровне (либо продвинутые пользователи - в Blackfin), а проблема трафика на ввод при небольшом количестве устройств, подключенных к ПК, как правило, не стоит. Поскольку передачи - по DMA. и, тем более, если применяют усреднение данных АЦП и прореженный поток цифрового ввода. А большое количество устройств L-502/E-502, подключенных одному ПК - это "ниша" скорее для крейтовых систем, а не для  L-502/E-502. 

2. При применении более одного устройства по схеме синхронизации "ведущий-ведомый", так или иначе, пришлось бы селектировать данные на верхнем программном уровне, чтобы реализовать общую "покадровую синхронизацию".

3. Истинной покадровой синхронизации (с моментальным рестартом сбора кадра данных АЦП от очередного события синхронизации), всё равно, в архитектуре L-502/E-502 не достичь из-за взаимосвязи четырёх синхронных потоков (ADC, DI, DO, DAC), которые можно запустить только одновременно (что называется "первичной синхронизацией").   

4. Селекция данных на верхнем программном уровне (или в Blackfin) не является логически тяжелой задачей, поскольку принадлежность данных легко распознаётся по индексной части 32-битного слова данных. 

5. Исходя из п.1-п.4, свободный ресурс FPGA в L-502/E-502 разумней всего приберечь для более востребованных низкоуровневых функций для развития данных устройств.

Контакты

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

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

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

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