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

ТЕМА:

Запоминающий осциллограф 9 года 7 мес. назад #6931

Может быть кому-либо будет полезно.
Наипростейший проект осциллографа (игрушка).
Под китайскую плату A-C8V4 ALTERA module с TFT-LCD дисплеем.
На плате установлен АЦП tlc548.
Из органов управления только кнопки. Можно изменять развертку.
Также есть тулбар развертки B)
Писалось в качестве упражнения.

Вложенный файл:

Имя файла: osc_0.3.zip
Размер файла:1,503 KB
Вложения:

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

Последнее редактирование: от module. Причина: НЕ то вставитол

Запоминающий осциллограф 9 года 4 мес. назад #7144

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Вернулся к проекту своего стробоскопа, пробую поднять частоту выборок.
Максимальная частота клока в дешевых ПЛИС ~450МГц, поэтому DDR вход дает ~900Мвыб/сек. Для большего числа выборок надо делать несколько каналов внутри ПЛИС, тактируемых сдвинутыми по фазе клоками. Раньше пробовал так, но Квартус не выравнивает задержки каналов, и шаг выборок получается неравномерным. Теперь буду пробовать динамическую подстройку фазы каждого канала.

Пока сделал 3.6Гвыб/сек (4 канала по 900Мвыб/сек), без подстройки фазы - на фронтах тестового сигнала хорошо заметен неравномерный шаг отсчетов.

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

Запоминающий осциллограф 9 года 4 мес. назад #7145

Leka пишет: Квартус не выравнивает задержки каналов

Можно попробовать сделать сигнал глобальным.
Спасибо сказали: Leka

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

Запоминающий осциллограф 9 года 4 мес. назад #7146

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

Leka пишет: Вернулся к проекту своего стробоскопа, пробую поднять частоту выборок.
Максимальная частота клока в дешевых ПЛИС ~450МГц, поэтому DDR вход дает ~900Мвыб/сек. Для большего числа выборок надо делать несколько каналов внутри ПЛИС, тактируемых сдвинутыми по фазе клоками. Раньше пробовал так, но Квартус не выравнивает задержки каналов, и шаг выборок получается неравномерным. Теперь буду пробовать динамическую подстройку фазы каждого канала.

Пока сделал 3.6Гвыб/сек (4 канала по 900Мвыб/сек), без подстройки фазы - на фронтах тестового сигнала хорошо заметен неравномерный шаг отсчетов.


У вас в проекте сейчас используется АЦП, или только связка ПЛИС-память ?
Если есть АЦП - то каковы её параметры ?
И еще каждый канал предполагает использование своей памяти, или одна банка памяти на все каналы ?

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

Запоминающий осциллограф 9 года 4 мес. назад #7147

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

umarsohod пишет: Можно попробовать сделать сигнал глобальным.

Спасибо! Реально помогло, необходимость подстройки фаз отпала.
Раньше не пользовался никогда примитивом global().

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

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

Запоминающий осциллограф 9 года 4 мес. назад #7148

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

with пишет: У вас в проекте сейчас используется АЦП, или только связка ПЛИС-память ?
И еще каждый канал предполагает использование своей памяти, или одна банка памяти на все каналы ?

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

Термин "канал" не очень удачный, другой не пришел в голову. Сигнал с компаратора защелкивается 8-ю триггерами по "+" и "-" фронтам 4-х сдвинутых на 45градусов клоков. "Каналом" называю группу триггеров, работающих от одного клока (по "+" и "-" фронтам). Получаются 8 выборок, выдаваемых с частотой 450МГц (в текущем варианте).
Потом дополнительно понижаю частоту до 75МГц - основная частота обработки, привязанная к VGA монитору.
Основная обработка идет на частоте 75МГц с массивом в 48 выборок. 8*450=48*75=3600Мвыб/сек.
Вывод в картинку 512*450 точек, 9 бит разрешение по вертикали, 450 точек по горизонтали.
450 по горизонтали - из-за нехватки внутренней памяти, использую самую дешевую ПЛИС.
Во внутреннюю память записываю сразу готовое изображение, выводимое на монитор. Никаких длинных буферов в памяти нет, только короткие рабочие на триггерах.
Спасибо сказали: with

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

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

Запоминающий осциллограф 9 года 4 мес. назад #7152

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Попробовал 7.2 Гвыб/сек. 8 клоков 450МГц, сдвинутых по фазе, взял от 2х блоков PLL.
Осциллограмма выводится, но отсчеты уже не соблюдают очередность.
Так что остановлюсь пока на ~~3.6 Гвыб/сек. Еще заметил, что и при 3.6 Гвыб/сек, примитив global() перестает помогать при большом заполнении кристалла.
Спасибо сказали: with

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

Запоминающий осциллограф 9 года 4 мес. назад #7153

Leka пишет: примитив global() перестает помогать

Количество глобальных линий в чипе ограничено, следите за отчетом фитера.

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

Запоминающий осциллограф 9 года 4 мес. назад #7159

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

umarsohod пишет: Количество глобальных линий в чипе ограничено

Глобальных линий вроде хватает (иначе Квартус вылетает с ошибкой).
Возможно, причина в разных используемых входах ЛУТ для разных каналов. С глобальной линии сигнал на триггер попадает через ЛУТ, и задержка зависит от конкретного используемого входа. Разные входы имеют разные задержки. Думаю, надо как-то управлять назначением входа ЛУТ, чтобы выровнять задержки по каналам.

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

Запоминающий осциллограф 9 года 4 мес. назад #7161

Leka пишет: Возможно ...

В РесурсеПропертиЕдиторе что видно?
Можно , конечно, ручками править, но делать это после каждой перекампиляции замучаешся.

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

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