Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА:

Запоминающий осциллограф 10 года 1 мес. назад #6266

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18

with пишет: В свободное время пока рисую схему, должно получится что то вроде платы расширения на которой установлен входной аттенюатор с дигитальным управлением, хардварный триггер ( на компараторе ) тоже с дигитальным управлением, блок ИП, опорник напряжения и пара опорников частоты.
Вот как то так


а в чем смысл хардварного триггера - что нельзя сделать уже внутри FPGA, анализируя поток значений от АЦП?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Chaosorg.

Запоминающий осциллограф 10 года 1 мес. назад #6267

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3

Chaosorg пишет:

with пишет: В свободное время пока рисую схему, должно получится что то вроде платы расширения на которой установлен входной аттенюатор с дигитальным управлением, хардварный триггер ( на компараторе ) тоже с дигитальным управлением, блок ИП, опорник напряжения и пара опорников частоты.
Вот как то так


а в чем смысл хардварного триггера - что нельзя сделать уже внутри FPGA, анализируя поток значений от АЦП?


В скорости реакции. Софтовый триггер это хорошо .. но в виде дополнения ( ИМХО)
При хардварном триггере задержка на синхронизацию фактически задается скоростью реакции компаратора - триггера.
При софтовом триггере - прикиньте время/такты на обработку и получение точки синхронизации .. например на частоте в 100МГц ( граничной для моего проекта ).

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 1 мес. назад #6268

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18

with пишет:

Chaosorg пишет:

with пишет: В свободное время пока рисую схему, должно получится что то вроде платы расширения на которой установлен входной аттенюатор с дигитальным управлением, хардварный триггер ( на компараторе ) тоже с дигитальным управлением, блок ИП, опорник напряжения и пара опорников частоты.
Вот как то так


а в чем смысл хардварного триггера - что нельзя сделать уже внутри FPGA, анализируя поток значений от АЦП?


В скорости реакции. Софтовый триггер это хорошо .. но в виде дополнения ( ИМХО)
При хардварном триггере задержка на синхронизацию фактически задается скоростью реакции компаратора - триггера.
При софтовом триггере - прикиньте время/такты на обработку и получение точки синхронизации .. например на частоте в 100МГц ( граничной для моего проекта ).


что-то я не пойму. Я храню одно прошлое значение из АЦП и сравниваю его софтовым компаратором с текущим и так делаю для каждого вновь прибывшего значения 100 миллионов раз в секунду. На основании срабатывания такого триггера я стартую движение "луча", а при несрабатывании могу забывать предыдущие данные, а могу и хранить - потери данных не происходят. В чем задержка? Или у Вас какая-то функция в хардварном компараторе такая, которая долго считается внутри FPGA? Что за функция такая, если не секрет?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 1 мес. назад #6270

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3

Chaosorg пишет:
что-то я не пойму. Я храню одно прошлое значение из АЦП и сравниваю его софтовым компаратором с текущим и так делаю для каждого вновь прибывшего значения 100 миллионов раз в секунду. На основании срабатывания такого триггера я стартую движение "луча", а при несрабатывании могу забывать предыдущие данные, а могу и хранить - потери данных не происходят. В чем задержка? Или у Вас какая-то функция в хардварном компараторе такая, которая долго считается внутри FPGA? Что за функция такая, если не секрет?


Меня насторожило слово "анализ" :unsure:
Например как реализовать синхронизацию по заданному фронту на софтовом триггере - я не знаю :( (сравнивать предыдущее значение из памяти с текущем ? )
На хардварном это делается легко.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от with.

Запоминающий осциллограф 10 года 1 мес. назад #6271

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

with пишет: На хардварном это делается легко.

Что понимается под "хардварным триггером" ?
Главная задача внешнего триггера - измерять временное положение сигнала синхронизации относительно фронта клока АЦП. И нужно это только для стробоскопа.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 1 мес. назад #6273

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3

Leka пишет:

with пишет: На хардварном это делается легко.

Что понимается под "хардварным триггером" ?
Главная задача внешнего триггера - измерять временное положение сигнала синхронизации относительно фронта клока АЦП. И нужно это только для стробоскопа.


Как то вы ... выразились необычно ... без предварительной "оптимизации" :)

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 1 мес. назад #6274

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Запоминающий осциллограф 10 года 1 мес. назад #6275

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3

Leka пишет:


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


Честно - не понял к чему вы повели..
Внешний триггер - выдает строб при заданном событии. Этот строб поступает на вход анализирующего устройства (плис), которое находится в режиме ожидания, и при получении этого строба, текущее значение из АЦП записывает в условно нулевую ячейку памяти, все последующие выборки записываются относительно нулевой ячейки. Далее, с блоком памяти в котором содержится н-ное количество выборок уже можно делать что угодно.. визуализировать участок памяти относительно точки синхронизации .. ну и тд. Например есть смещение по горизонтали .. как оно реализуется ? ( в моем видение ) если применить что данное смещение указывает "на сколько ячеек" сместится относительно нулевой ячейки, тогда блок визуализации "смещает своё окно" на заданное количество ячеек относительно нуля - и вывод участок на экран.
Вот как то так.

Я предполагаю что ваш рисунок относится к механизму получения эквивалентной выборки - искусственного наращивания разрешения по горизонтали.
Если да - то я пока так далеко не планирую.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от with.

Запоминающий осциллограф 10 года 1 мес. назад #6276

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

with пишет: Я предполагаю что ваш рисунок относится к механизму получения эквивалентной выборки - искусственного наращивания разрешения по горизонтали.

Именно. И только в этом случае имеет смысл использовать отдельный внешний компаратор. Он не нужен, если достаточно определять сам факт перехода сигнала порогового уровня (уровня синхронизации) между двумя отсчетами АЦП, без детализации момента перехода.
"Внутренний" триггер так делается, например. ПЛИС хранит в регистрах пороговое значение U0, и 2 последних отсчета АЦП U1 и U2 (обновляются каждый такт). Каждый такт считается: (U1<U0)&(U2>=U0), это и есть значение триггера (положительный фронт "внутреннего" компаратора).

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Запоминающий осциллограф 10 года 1 мес. назад #6278

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3

Leka пишет:

with пишет: Я предполагаю что ваш рисунок относится к механизму получения эквивалентной выборки - искусственного наращивания разрешения по горизонтали.

Именно. И только в этом случае имеет смысл использовать отдельный внешний компаратор. Он не нужен, если достаточно определять сам факт перехода сигнала порогового уровня (уровня синхронизации) между двумя отсчетами АЦП, без детализации момента перехода.
"Внутренний" триггер так делается, например. ПЛИС хранит в регистрах пороговое значение U0, и 2 последних отсчета АЦП U1 и U2 (обновляются каждый такт). Каждый такт считается: (U1<U0)&(U2>=U0), это и есть значение триггера (положительный фронт "внутреннего" компаратора).


А как вы предлагаете реализовать синхронизацию по двум фронтам на выбор: задний или передний ?
через инвертор ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 1.134 секунд
Работает на Kunena форум