хитрый gate на ctr

Радиотехника, платы, схемы, оборудование, фото- видео- приборы, компьютеры
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

хитрый gate на ctr

Сообщение Artem.spb »

как я недавно обнаружил, долгая практика с cRIO вредна для опыта DAQmx, многое напрочь забыл.
Вот снова столкнулся с трудностью.

Железо:
cDAQ-9188 и четыре DIO 9402.

Задача:
Внешний агрегат генерирует импульсы, которые нужно считать. С этим сложностей нет, имеющийся счётчик справляется.
Но есть параллельная задача, генерации импульсов (уже через 9402).
Последовательность выглядят так:
i-p1-i-p2-i-p3...
i - импульс, одной и той же длительности (10мс),
p - пауза, длительность постепенно нарастает.
С этим тоже справился

Но в соответствии с этой задачей по восходящему фронту надо обнулять счётчик. И вот тут пошли сложности.
Вариант заводить провод из DO на какой-нибудь PFI не приемлем.
Вариант вычитать количество импульсов руками пока остаётся запасным, если не найду более человечного решения, а его хочется найти.

Думал устроить внутренний роутинг, но в таблице роутинга cDAQ-9188 DO отсутствует, если я правильно понимаю, напрямую его (DO) в качестве гейта использовать не получится.
Попробовал через счётчик по аналогии с этим, только выдаю не частоту, а длительность, но задача ругается что я подаю слишком большую паузу, максимум можно 107с, а в данной задаче пауза может быть несколько недель (это в перспективе, сейчас актуальны паузы до часа, но даже это слишком много).

Итого:
scheme.png
scheme.png (9.72 КБ) 11158 просмотров
Нужно генерировать некую последовательность импульсов с большим периодом. Эта последовательность должна быть внешней (управляет агрегатом), но при этом же надо иметь возможность по возрастающему фронту этого сигнала обнулять счётчик импульсов, идущих с агрегата.
Будет ли сигнал генерироваться с помощью DO, или ctr мне не принципиально (главное, что TTL).

Есть идеи, как такое осуществить на имеющемся железе?
Считать импульсы руками (через DI) задача малоперспективная, timebase счётчику задаётся 80МГц, но даже 20 М-сэмплов в секунду комп не справляется просмотреть.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: хитрый gate на ctr

Сообщение Borjomy_1 »

Точность интервалов выдачи импульсов какая нужна?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: хитрый gate на ctr

Сообщение Artem.spb »

Borjomy_1 писал(а):Точность интервалов выдачи импульсов какая нужна?
программно-неприемлемая :)
задаю сейчас с точностью 1 мс, но при этом требуется, чтобы мс всегда была миллисекундой, без каких-либо скачков.

Сейчас склоняюсь к идее завести второй канал DO и выдавать на него тот же сигнал, и уже его проводом на гейт завести.
под этим
Artem.spb писал(а): Вариант заводить провод из DO на какой-нибудь PFI не приемлем.
я подразумевал, что не подходит вариант разветвления существующего провода, идущего от DO к прибору.
Но всё равно решение довольно странное.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: хитрый gate на ctr

Сообщение Borjomy_1 »

Где-то вы сами себя обманываете. Каким образом может быть достигнута точность 1 мс на суточных интервалах???? У вас кварц кварц какую температурную зависимость имеет, на минуточку? Что, термостабилизированное оборудование? Или GPS синхронизация?

1 мс в сутки это 1/86400000
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: хитрый gate на ctr

Сообщение Artem.spb »

Здесь предполагается, что этой точности достаточно, а программно-регулируемая пауза (старт-стоп задачи) по подходит из-за непредсказуемых точностей.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: хитрый gate на ctr

Сообщение Borjomy_1 »

Что мешает задать Continuous Samples? Число выдач в секунду известно. Надо только в необходимый момент подпихнуть вместо 0 - 1ку. Пусть задача работает постоянно.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: хитрый gate на ctr

Сообщение Artem.spb »

мешает отсутствие внутреннего роутинга
если бы ctr мог выдавать длинные импульсы, то такая схема
ctr.png
вполне бы устроила
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: хитрый gate на ctr

Сообщение Borjomy_1 »

Какой интервал между приходом импульса и выдачей ответа допускается?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: хитрый gate на ctr

Сообщение Artem.spb »

каким импульсом и каким ответом?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: хитрый gate на ctr

Сообщение Borjomy_1 »

каким импульсом?
Внешний агрегат генерирует импульсы, которые нужно считать.
и каким ответом?
Нужно генерировать некую последовательность импульсов с большим периодом.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: хитрый gate на ctr

Сообщение Artem.spb »

Может я чего-то не понимаю, но беседа ушла не в ту степь?
Понятно, что мгновенного взаимодействия не достичь, даже понятно, что при минимальном периоде импульсов 50-55 нс (а он скачущий и может быть больше) я имею задержку на проводах 10-15 нс, и это выглядит ужасно.

Мой DO-сигнал фактически запускает/останавливает генерацию импульсов агрегатом. "фактически", потому что есть все эти задержки.
Когда агрегат выдаст первый сигнал после прихода "старт" неизвестно. В этом и задача: наблюдать, что происходит в агрегате.
Есть некоторая задержка (пока агрегат "сообразит" в чём дело и начнёт генерить импульсы, но в спецификации на него не указано, когда (минимальное время) он выдаст первый импульс после прихода стартового сигнала.
Когда DO =1 импульсы идут, когда 0 импульсы не идут.
Нужно ловить импульсы. И желательно обнулять значение каждый импульс, чтобы не заморачиваться с вычислением, сколько именно их было на последнем импульсе с учётом количества, бывшего на предыдущем импульсе.
вот что примерно творится в системе.
original.png
ctr2 output - реальный сигнал
PD gate - от, что происходит на агрегате
PD out - те самые импульсы, которые надо ловить
PFI0 - то, что видит счётчик с учётом проводов.
в идеале нужно словить все три импульса, отданные агрегатом.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2207
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: хитрый gate на ctr

Сообщение Borjomy_1 »

Для того, чтобы нормально реализовать вашу задачу, по-хорошему, решение может быть только одно - на FPGA. Берете корзину, например NI-9146 и на ее FPGA собираете счетчики и прочее.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: хитрый gate на ctr

Сообщение Blackman »

Artem.spb, a вариант с дополнительным счетчиком, работающим параллельно с основным со сдвигом на определенную задержку или просто создающего более длинный импульс для Gate счетчика импульсов агрегата. Все таки наверное есть оценка минимального значения частоты импульсов агрегата, которое можно использовать для определения максимальной длительности импульса Gate.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3387
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: хитрый gate на ctr

Сообщение Artem.spb »

Импульсы агрегата длинной 35 нс, минимальный период 50 (или 55), но когда агрегат выдаст первый импульс после старта - непонятно.
Насчёт длительности импульсов гейта не понял. Её задаёт экспериментатор, сейчас это 10 мс. Пауза между гейтами тоже задаётся экспериментатором, от тех же 10 мс по возрастающей.
Про доп счётчик не понял, что он будет делать.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: хитрый gate на ctr

Сообщение Blackman »

Дополнительный счетчик запускается синхронно с основным. Длительность основного 10 мс +, длительность дополнительного (10 мс +) + 5 мс и этот сигнал будет Gate для счетчика импульсов агрегата.
Ответить

Вернуться в «Железо»