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

ТЕМА:

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

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

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

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

А вот с памятью в этом камне туговато .. около 7КБ

Откуда 7КБ ?
66 блоков по 1024*9 бит, итого 64КБ минимум (74КБ максимум).

по этому внешняя память на 1МБ

Имхо, именно для осциллографа такая внешняя память бесполезна, если основной режим - непрерывная развертка.
Внешняя память может принести пользу только в режиме однократной развертки. Но тут лучше попытаться задействовать 128МБ SDRAM на второй плате.

Что мне нужно в конечном итоге - это получить стартовую макетную плату на которой можно будет начинать отладку программы и устройства в целом.

Пусть на экране 1000 видимых точек в ширину, это всего 6КБ памяти для 2х каналов (из расчета по 3 байта на отсчет - максимум, минимум, среднее нескольких отсчетов).
64КБ дадут 10 экранов - более, чем достаточно для старта.
"Цифровой фосфор" уже не поместится, но на внешней памяти его и не сделать - не хватит пропускной способности.

По поводу финишной обработки - дело в том что вторая плата на четвертом циклоне - китайская девборда имеет на борту видео ЦАП + гиговый лан + 128МБ SDRAM + 64МБ флэш и представляет из себя уже законченное устройство, в тело которого я не могу вшить весь ослографический обвес, на ней мне доступно всего 30 LVDS пар...

Вполне хватит для 500МБ/сек, если получится развести, и Квартус ругаться не будет.
30 LVDS пар, это 60 ног, отказаться от SRAM, и тогда хватит на 2шт АЦП.
Может, упростить задачу для старта - либо плата без ПЛИС для подключения к готовой девборде,
либо плата с ПЛИС, но без подключения к девборде (добавить резистивный видео-ЦАП).

UPD. Посмотрел фото девборды (в этой ветке). У меня сомнения, что девборда пропустит требуемый скоростной поток. Имхо, лучше либо сразу замерить общую пропускную способность девборды (через разъемы, которые планируются использовать), либо отказаться от ее использования на старте.

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

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

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

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

Leka пишет: Откуда 7КБ ?
66 блоков по 1024*9 бит, итого 64КБ минимум (74КБ максимум).

Пардон - моя ошибка хотел написать 70кб, но ноль упустил.

Имхо, именно для осциллографа такая внешняя память бесполезна, если основной режим - непрерывная развертка.
Внешняя память может принести пользу только в режиме однократной развертки. Но тут лучше попытаться задействовать 128МБ SDRAM на второй плате.

С этим согласиться не могу, и вот почему: объем памяти напрямую задает разрешение по временной шкале на экране, это хорошо чувствуется на малых развертках.
С другой стороны SDRAM которые установлены на девборде и которые есть у меня в виде чипов - все до 200МГц но с учетом особенностей работы SDRAM памяти ( обновление массивов .. открытие / закрытие строк ) эта память становится вполне себе тормознутой, к тому же она только на 16б.
Заложенные мной АЦП умеют 250МГц на 8б, при этом выход у них двухканальный что дает в результате два канала по 8б на предельной частоте 125МГц. Вполне терпимо :)

Может, упростить задачу для старта - либо плата без ПЛИС для подключения к готовой девборде,
либо плата с ПЛИС, но без подключения к девборде (добавить резистивный видео-ЦАП).

Тоже думал об этом .. вполне вариант для отладки на начальном этапе .
По поводу замера пропускной способности, думаю я так и сделаю .. только сначала мне надо понять какие ноги будут задействованы, а для этого должен быть хотя бы скелет разводки.
К Вам у меня следующий вопрос - как Вы думаете хватит ли силёнок у NIOS процессора для работы с юзер-оболочкой ? это подобие какой нить простой ОС с графикой .. системой команд .. и математикой ? Или же есть смысл ставить внешний АРМ процессор ?

П.с. - пришла недавно очередная девборда на Soc - Atlas DE0 , мозгов её поднять пока не хватает но зато она уже есть в руках :) DE0-Nano-Soc

П.с.с. - Ваше короткое мнение по отечественным изделиям от Мультиклет - есть смысл их поднимать ?

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

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

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

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

with пишет: объем памяти напрямую задает разрешение по временной шкале на экране, это хорошо чувствуется на малых развертках

Не понял, лучше пример с конкретными цифрами.

К Вам у меня следующий вопрос - как Вы думаете хватит ли силёнок у NIOS процессора для работы с юзер-оболочкой ? это подобие какой нить простой ОС с графикой .. системой команд .. и математикой ? Или же есть смысл ставить внешний АРМ процессор ?

Смотря какая задача. Если главное - быстро рисовать осциллограммы, то вообще никакой процессор не нужен. В крайнем случае простенькое внутреннее ядро для опроса кнопок, вывода текста на экран, установка параметров для FSM(который и будет рисовать осциллограммы).

Ваше короткое мнение по отечественным изделиям от Мультиклет - есть смысл их поднимать ?

Резко отрицательное мнение, нет никакого смысла поднимать. На форуме ixbt подробно и долго разбирали Мультиклет. В исходной архитектуре серьезный изъян, который сильно затрудняет написание Си-компилятора, и при этом не дает никаких преимуществ в быстродействии (а в среднем будет даже медленнее обычных архитектур).

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

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

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

Leka пишет:

with пишет: объем памяти напрямую задает разрешение по временной шкале на экране, это хорошо чувствуется на малых развертках

Не понял, лучше пример с конкретными цифрами.

Попробую, исходя из того что один сэмпл это один байт.
Как связанна величина развертки по времени с частотой сэмплирования ? очевидно что через объем памяти буфера.
К примеру:
Емкость буфера Сбуф = 1Ксэмпл (Кс)
Величина временной развертки Ft = 1мс (0,001с)
Тогда максимально возможная частота сэмплирования Fc = Ftбуф = 1МГц а период между двумя сэмплами составит 1мкс.
Что из этого получается .. что при развертке в 1мс система не сможет уже отображать корректно девиацию сигнала с крутизной выше 1мкс, а если учесть теорему Котельникова то как минимум еще в два а то и три раза грубее. В современных ослах этот запас составляет 10 раз.
Недостаток памяти хорошо чувствуется при наблюдении модулированных сигналов когда необходимо наблюдать одновременно и быстрые и медленные искажения.
Считайте это предтечи современного цифрового фосфора.
Вот как то так.

Смотря какая задача.

Затрудняюсь пока окончательно ответить на вопрос "какой будет строится осциллограф" - приставка к компу либо самодостаточное устройство..
С одной стороны хочется связать это устройство с компом и иметь возможность рулить им с компа, одновременно с этим хочется поработать в направлении независимого устройства, к которому будет подключаться плата с органами управления и внешний вга дисплей - тоже довольно удобно.
На китайской девборде у меня разведен и лан и вга, то есть можно было бы попробовать и так и этак.
Однако очевидно что нет смысла для старта лепить все на свете .. а выбрать разумный предел и ограничится им.
В любом случае .. чем быстрее я получу хоть какую то плату, которую можно мучить - тем быстрей появится ясность во всей этой истории, что делать и куда двигаться.

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

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

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

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

with пишет: ...исходя из того что один сэмпл это один байт.
Как связанна величина развертки по времени с частотой сэмплирования ? очевидно что через объем памяти буфера.
К примеру:
Емкость буфера Сбуф = 1Ксэмпл (Кс)
Величина временной развертки Ft = 1мс (0,001с)
Тогда максимально возможная частота сэмплирования Fc = Ftбуф = 1МГц а период между двумя сэмплами составит 1мкс.

Не так. Один видимый семпл, это д/б не один отсчет АЦП, а много, тк ПЛИС позволяет в реальном времени производить обработку отсчетов - по мере их поступления, складывая в буфер готовый результат(видимый семпл).
В данном примере в одном семпле д/б результат обработки 250 отсчетов АЦП, например, простое усреднение для начала (если семпл - 1 байт). Если на видимый семпл отвести 2 байта, то это м/б максимум и минимум из 250 отсчетов АЦП. И тд. При таком подходе емкость буфера минимальна, и не зависит от развертки.

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

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

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

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3
Сошлюсь на то что Вы меня не поняли, попробуем еще раз на прошлом примере
Представим что развертка по времени представляет все те же 1мс для большой клетки, и на экране у нас 8 клеток.
Также допустим что разрешающая способность нашего экрана очень высока.
Физическая емкость буфера АЦП составляет 1Кбайт, при этом один отсчет АЦП требует 1байт памяти (разрядность АЦП 8бит), итого за один непрерывный захват можно записать в буфер 1000 отсчетов АЦП.
Теперь вопрос - сколько непрерывно полученных отсчетов можно вывести на экран и какая при этом будет допустимая частота работы АЦП ?
Очевидно - что для того чтоб получить на экране непрерывную картинку из точек (отсчетов) нужно вывести на экран последовательно все 1000 отсчетов из буфера, и при этом расставить их на сетке экрана длинной в 8мс - на равном расстоянии.
Итого имеем в пропорциональном отношении 8мс и 1000 точек, тогда период между отсчетами на экране составит 8мс/1000 = 8мкс. То есть чтоб получить непрерывную картинку на экране при заданных условиях минимальный период между отсчетами АЦП может быть 8мкс. Если АЦП будет считать с меньшим периодом .. тогда память буфера закончится быстрей чем виртуальное время развертки на экране и в оставшееся место на экране придется выводить паузу ..
Именно по этой причине у всех осциллографов частота работы АЦП - частота сэмплирования, уменьшается вместе с увеличением времени развертки, иначе - чтоб получить на большой развертке к примеру в 10 - 100мс частоту сэмплирования в 1ГГс ( к примеру ) потребуется сотни мегабайт памяти.
Работа видеобуфера в данном случае никак не влияет.
Ваше видение я не понял.

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

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

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

with пишет: Физическая емкость буфера АЦП составляет 1Кбайт, при этом один отсчет АЦП требует 1байт памяти (разрядность АЦП 8бит), итого за один непрерывный захват можно записать в буфер 1000 отсчетов АЦП.

Я все понял, просто говорю, что не надо складывать в буфер необработанные отсчеты АЦП, отложив обработку после захвата всех отсчетов одной развертки. Так получится плохо и медленно.
В буфер надо складывать уже готовые данные обработки "на лету".
Например, на входе стоит 19-разрядный сумматор с аккумулятором. Обнулили аккумулятор. Начинаем принимать 8-разрядные отсчеты АЦП с тактовой 250МГц, суммируя их с аккумулятором. После принятия 2000 отсчетов делим содержимое аккумулятора на 2000, и 8-разрядный результат записываем в буфер. Сдвигаем указатель буфера, очищаем аккумулятор, и начинаем все сначала. И так, пока не заполнится буфер. Буфер заполняется с частотой 125кГц, отсчеты АЦП берутся с частотой 250МГц. Это получится CIC-фильтрация (усреднение с прямоугольным окном). Для обработки с другим КИХ-фильтром потребуется дополнительный промежуточный буфер, но не на всю развертку, а только на окно фильтра.

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

Не у всех, только у дешевых/кривых. Производители привыкли экономить на спичках.

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

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

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

Leka пишет: Я все понял, просто говорю, что не надо складывать в буфер необработанные отсчеты АЦП, отложив обработку после захвата всех отсчетов одной развертки. Так получится плохо и медленно.
В буфер надо складывать уже готовые данные обработки "на лету".
Например, на входе стоит 19-разрядный сумматор с аккумулятором. Обнулили аккумулятор. Начинаем принимать 8-разрядные отсчеты АЦП с тактовой 250МГц, суммируя их с аккумулятором. После принятия 2000 отсчетов делим содержимое аккумулятора на 2000, и 8-разрядный результат записываем в буфер. Сдвигаем указатель буфера, очищаем аккумулятор, и начинаем все сначала. И так, пока не заполнится буфер. Буфер заполняется с частотой 125кГц, отсчеты АЦП берутся с частотой 250МГц. Это получится CIC-фильтрация (усреднение с прямоугольным окном). Для обработки с другим КИХ-фильтром потребуется дополнительный промежуточный буфер, но не на всю развертку, а только на окно фильтра.

Leka, Вы описали простой усреднитель, или если хотите фильтр, как этот режим может заменить основной режим работы что я описал - мне не понятно. Собственно я для того и выбрал АЦП на 250МГц .. чтоб получить эти 250 миллионов точек, и увидеть на экране как можно более детальную картинку. Естественно блок фильтров можно и нужно будет делать отдельным модулем. Но Вы ведь должны понимать что основной режим у осциллографа это прямой вывод информации на экран. Захват и вывод, и чем быстрее и с сохранением детализации - тем лучше. А все рюшечки довешивать параллельно.
Ладно, буду работать и по мере возникновения секторальных вопросов вылезать "на свет божий" :)

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

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

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

with пишет: основной режим у осциллографа это прямой вывод информации на экран. Захват и вывод, и чем быстрее и с сохранением детализации - тем лучше.

Именно.
В качестве конкретного примера возьмем цифры из предыдущих постов.
Установлена непрерывная развертка 1мсек/дел, на экране 8 делений в ширину, итого видимая длительность развертки 8мсек.
АЦП работает на полной скорости 250МВыборок/сек, выдавая 2Мвыборок за 8мсек.
Есть буфер 2МБайт, в котором сохраняются все 2млн. выборок, попадающие в видимую область экрана.
Экран физически имеет 1000 пикселей в ширину.
Теперь вопрос.
По какому алгоритму собираемся вывести на экран одну развертку в 2млн. выборок?

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

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

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

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

Leka пишет:

ВНИМАНИЕ: Спойлер!

Теперь вопрос.
По какому алгоритму собираемся вывести на экран одну развертку в 2млн. выборок?

Так как это сделано во всех профессиональных осциллографах - выводим все 2млн. на экран, без учета фосфора. Если разрешение не позволяет прорисовать все 2млн. тогда рисуем сплошной сплайн :

а единичные аномальные отсчеты выводим в виде точечных элементов - смотрим рисунок: teledynelecroy.com/images/oscilloscope/s...i_triggerscan_lg.jpg
Форма сплайна позволяет пользователю судить о наличии любо об отсутствии нч-модуляции. Вот как это должно быть и к чему нужно стремиться - к картинке которая с минимальными искажениями и максимальной детальностью отобразить весь поступивший на вход осциллографа сигнал.
У моего друга в наличии три осциллографа серии Lecroy WavePro 2x7200 и 1х7100 + DDA120 как старое дополнение.
Его баловство можно посмотреть тут
Гляньте на досуге что это за машинки и сколько они стоят, а потом если по Вашему мнению это все еще дешевый ширпотреб .. попробуйте привести пример не ширпотреба на ваш взгляд .. у которого памяти с гулькин нос и который при увеличении времени развертки делает то - что вы описали :unsure:

П.с. - открою маленький секрет .. превентивное усреднение на больших развертках как раз и делают в дешевых осциллографах, память которых не позволяет сохранить захваченный сигнал с искомой детализацией. Выглядит это крайне уродливо :unsure: Гляньте на досуге обзор на ослов фирмы Owon.
П.с.с - Если не будет лень сниму на выходных работу моего TDS540B при работе с ВЧ сигналом, с превентивным усреднением и на больших развертках, может тогда наступит ясность в чем тут заковыка.
Вложения:

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

Последнее редактирование: от with.
Время создания страницы: 0.815 секунд
Работает на Kunena форум