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


Задержка ведомого ацп E20-10

Вы не вошли.

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

Василий
22.05.2015 15:04:50
#1

Гость

Задержка ведомого ацп E20-10

Здравствуйте!

Есть два E20-10, каждый собирает данные с одного катала на частоте 10 МГц. Ведущий стартует с трансляцией сигнала старт, и трансляцией тактовых импульсов. Ведомый стартует от внешнего импульса старт по переднему фронту, внешний источник тактовых импульсов по переднему фронту.

Для проверки подаю один импульс через делитель на два АЦП одновременно.
F6EhC0k6zc2ai1EarV8kKbR1euDwwiMrLmj_KZAoovWsmdJnxCoru8LC0IOqo1_DzXY5hOtZaP4swy4=w1896-h818-rw

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

При этом на записи с ведомого АЦП ~70000 отсчётов занимает подобный сигнал:
r_u22c_u2DYozc65pqCNJ7vDY0pM-j8FJgrZwulsSGj2J0EPByfxy1MBrefR2oaPufWpIqZuz-kWv1Q=w1896-h818-rw

ПО на С++, ОС Linux.

22.05.2015 15:33:59
#2

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

Re: Задержка ведомого ацп E20-10

Василий пишет:

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

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

Василий
22.05.2015 15:47:08
#3

Гость

Re: Задержка ведомого ацп E20-10

Линии соединены по руководству, ведомые естественно стартует раньше ведущего и ждёт. Я не задержка всегда одинаковая не смотря на то, сколько прождал ведомый.

22.05.2015 15:58:27
#4

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

Re: Задержка ведомого ацп E20-10

Ваше последнее предложение непонятно. Поясните.

Василий
22.05.2015 16:16:50
#5

Гость

Re: Задержка ведомого ацп E20-10

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

Ваше последнее предложение непонятно. Поясните.

Всё сделал по руководству.

Запускаю ведомый АЦП первым, после запускаю ведущий АЦП. Время запуска ведущего относительно ведомого разное. Но всегда ведомый запускается первым и ждёт ведущего. В результате получаю задержку ведомого ацп от ведущего в ~70000 отсчётов.

22.05.2015 16:34:17
#6

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

Re: Задержка ведомого ацп E20-10

Ссылки в первом сообщении не работают
Василий, программист по E20-10 выйдет из отпуска на следующей неделе, будем разбираться почему возникает задержка.
Сообщите серийный номер E20-10, версии прошивок AVR и FPGA.

25.05.2015 09:21:23
#7

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

Re: Задержка ведомого ацп E20-10

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

SerNum       5D775023
Current Firmware Version 0x0

SerNum       5D358243
Current Firmware Version 0x0

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

25.05.2015 19:32:53
#8

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

Re: Задержка ведомого ацп E20-10

Какие-то странные у Вас версии прошивок...
Для получения серийного номера и версий прошивок можно воспользоваться штатной утилитой ModulesViewer:
www.lcard.ru/download/modulesviewer13.exe

26.05.2015 09:46:38
#9

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

Re: Задержка ведомого ацп E20-10

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

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

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

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

26.05.2015 10:35:26
#10

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

Re: Задержка ведомого ацп E20-10

Под windows7 в LGraph2 всё синхронно.

26.05.2015 13:48:45
#11

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

Re: Задержка ведомого ацп E20-10

Попробуйте задействовать обновлённую прошивку ПЛИС:
ftp.lcard.ru/pub/users/e2010/e2010m10.zip

26.05.2015 15:12:04
#12

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

Re: Задержка ведомого ацп E20-10

Ситуация не изменилась.

26.05.2015 15:26:52
#13

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

Re: Задержка ведомого ацп E20-10

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

Ведомый АЦП конфигурирую след. образом:
            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;

26.05.2015 19:04:10
#14

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

Re: Задержка ведомого ацп E20-10

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

26.05.2015 21:33:29
#15

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

Re: Задержка ведомого ацп E20-10

Poul пишет:

... если разорвать связь то один модуль будет собирать, а второй стоять?

Чтобы корректно проверить, что оторванный ведомый стоит в ожидании, нужно его вход START подключить к GND на разъёме DIGITAL.
Следует учитывать, что сигнал START от ведущего идёт активным  высоким логическим уровнем.  Если вход START ведомого оторван, то этот вход будет подтянут к высокому уровню внутренней резисторной подтяжкой.

27.05.2015 08:43:28
#16

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

Re: Задержка ведомого ацп E20-10

Poul пишет:

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

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

27.05.2015 10:21:50
#17

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

Re: Задержка ведомого ацп E20-10

Я имел ввиду, что если разорвать связь до запуска приложений.

27.05.2015 11:26:21
#18

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

Re: Задержка ведомого ацп E20-10

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

на
adcPar.t2.SynchroType = EXT_START_UP;

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

27.05.2015 12:33:58
#19

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

Re: Задержка ведомого ацп E20-10

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

27.05.2015 12:36:33
#20

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

Re: Задержка ведомого ацп E20-10

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

27.05.2015 15:00:24
#21

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

Re: Задержка ведомого ацп E20-10

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

27.05.2015 15:26:04
#22

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

Re: Задержка ведомого ацп E20-10

До старта минимально физически с модулем  общаются только LoadBios, ReadPlataDescr и если вызывается, то EnableCorrection. Параметры сбора и синхронизации осмысленно пишутся именно  в StartLDevice. Что  в программе зациклено при рестарте сбора?

27.05.2015 15:42:09
#23

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

Re: Задержка ведомого ацп E20-10

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

27.05.2015 16:11:15
#24

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

Re: Задержка ведомого ацп E20-10

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

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

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

27.05.2015 16:16:03
#25

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

Re: Задержка ведомого ацп E20-10

Хотя нет, задержка присутствует.