Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
E20-10 Синхронизация нескольких модулейЗдравствуйте.
1. Модуль конфигурируем в режиме SLAVE. Т.е. задаем ему EXT_ADC_CLOCK_ON_RISING_EDGE_E2010 и EXT_ADC_START_ON_RISING_EDGE_E2010, чтобы он работал синхронно с мастером. Он и работает, но если считать параметры обратно, вместо EXT_ADC_START_ON_RISING_EDGE_E2010 будет INT_ADC_START_E2010 (а если записать EXT_ADC_START_ON_FALLING_EDGE_E2010, то обратно считается уже INT_ADC_START_WITH_TRANS_E2010). Очевидно почему-то очищается 1-й бит (если считать с нуля) поля SynchroPars.StartSource. Если задать INT_ADC_CLOCK_E2010 или INT_ADC_CLOCK_WITH_TRANS_E2010, то назад считывается все корректно. 2. У модуля работающего в режиме SLAVE не учитывается параметр ChannelsQuantity. Например опрашиваем два канала: Analog2 и Analog3. Соответственно, задаем ChannelsQuantity=2, ControlTable[0]=1, ControlTable[1]=2. Оставшаяся часть таблицы ControlTable заполнена нулями. В буфере видим что каналы Analog2 и Analog3 присутствует только в первой выборке, а затем идет много значений канала Analog1 (помним что конец таблицы заполнен нулями!), потом идет одна выборка с каналами Analog2 и Analog3 и далее опять много (~127) выборок где есть только Analog1. У модуля в режиме MASTER такого нет. При считывании параметров - все корректно, т.е ChannelsQuantity=2, ControlTable[0]=1, ControlTable[1]=2, далее в таблице ControlTable нули. 3. На частоте АЦП 7.5 МГц модули работают синхронно, на частоте 10.0 МГц появляется плавный уход. Разбежка в один буфер (262144 слов) накапливается за несколько минут. Алгоритм сбора и контроля синхронизма описан ниже. На частоте 7.5МГц разница между временами окончания операции чтения разных модулей составляет 0,+1,-1 мс в большинстве случаев, и не плывет. На частоте 10 МГц разница начинает медленно уплывать: сначала 0(+-1), потом 1(+-1), потом 2,3 и т.д. Доходит где-то до 30 (частота кадров около 34Гц => период около 30мс) и начинается снова 0,1,2...27,28,29,... Алгоритм опроса модулей.
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулей1. Какой серийный номер или ревизия slave-модуля?
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейсерийные номера модулей
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулей1. Действительно, вроде есть глюк при считывании параметра SynchroPars.StartSource. В понедельник попробую подправить библиотеку.
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейВ догонку по п.3:
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейВсе описанные проблемы так или иначе удалось решить, нерешенной осталась только синхронная работа модулей на максимальной частоте.
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейПавел, при межмодульных соединениях Вы придерживались рекомендаций по подключению п. 6.5.1. руководства
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулей- С чем соединены E20-10 со стороны USB? С одним хабом? C каким? Или к компьютеру к разным портам, если последнее, то к какому компьютеру и к каким портам (укажите тип материнской платы)? |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейПО поводу вопроса Сергея от 25.01.14 23:40:
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейСобственно гипотезу о том, что USB-контроллер компьютера (или хаб) теряет отсчёты, можно проверить следующим образом:
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейВ разъемах цифровых сигналов подключались линии 16,17,19,36 (т.е. START, SYNC и две земли), металлическая окантовка не подключена.
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулей>> в 4 USB гнезда распаяных на самой материнской плате
>>Получается что подключены к двум контроллерам USB2.0, по два модуля на каждый
>> Все модули включены в один контроллер USB3.0 (карта PCI Express) на 4 порта. Не успевало вычитывать буферы FIFO даже на частоте 7.5МГц.
>>Если будет пропажа данных в трехканальном режиме, порядок следования каналов должен измениться (пусть и ненадолго), я правильно понимаю?
|
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейЕсли источники сигналов не автономные (т.е сами запитаны от сети ~220V), то для исключения сквозных токов в системе (в т.ч. по USB-кабелям, что может явиться ещё одной причиной сбоев!) следует "земли" источников сигналов и компьютера соединить в одну точу. Оптимальное место соединения - корпус системного блока (под винт со стороны источника питания). |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейА два модуля E20-10, подключенные к РАЗНЫМ USB2.0 контроллерам и соединённые по схеме синхронизации "ведущий-ведомый", данные не теряют на 10 МГц? |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейОбновлена статья
- Добавлен пример многомодульной синхронизации E20-10 по технологии MLVDS. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейДобрый день. Пытаюсь несколько e20-10 синхронно стартовать в Lgraph2 внешней командой (кнопкой). Для этого всем им выставляю в настройках "внешняя цифровая по переходу 0-1". В целом, это работает, за исключением одного НО. Если крейты до этого работали с конфигурацией "по нажатию кнопки с трансляцией сигнала старт" - то при следующем старте они не дожидаются нажатия кнопки, а сразу стартуют. Но после остановки, при следующем старте, как положено ожидают нажатия кнопки. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейАнтон, когда стартует не дожидаясь нажатия кнопки, то L-Graph2 показывает остаток данных от предыдущего ввода данных? Или это актуальные данные для текущего времени ввода данных? Проверить это несложно, меняя на входе E20-10 сигнал перед каждой попыткой. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейДанные актуальные, следов "мусора" от предыдущего сигнала, не нашел. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейПопробуйте задействовать обновлённую прошивку модуля: |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейНе выходит скачать |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейAnton пишет:
Антон, напишите свой e-mail. Вышлем. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейГарманов Александр пишет:
deripas@yandex.ru ,спасибо. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейВыслал. О результате сообщите, пожалуйста. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулей к сожалению эффект такой же. |
|||
|
||||
|
Re: E20-10 Синхронизация нескольких модулейAnton, выслал на почту ссылку на lgraph2. |
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск