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

ТЕМА: Запоминающий осциллограф

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

Чую таки да! Придется подождать дождей, иначе нам удачи не видать! :S

Собственно че я сюды приперся...

У мну тоже был собственный проект ослика и тоже на М2. Вообще то идея была сделать что нибудь похожее еще на М1, но в ЕПМ270 смог упихать только синхрогенератор к ЛЦД панельке, на том проект и ушел в песок. На М2 дело пошло несколько дальше.

Я тоже пытался сделать "фосфор" и как мог пытался сократить "мертвое время". Основные принципе следующие:

1. "круглая" память!
2. Отсутствие "видеопамяти" как таковой!

Круглая память это участок памяти, собранный из входящей в микросхему ЕП3Ц10 двухпортовой блочной памяти и замкнутый в кольцо с помощью адресного регистра - счетчика текущего адреса. АЦП работает постоянно и постоянно пишет в круглую память данные о сигнале. Как только срабатывает синхронизация, то от текущего значения в регистре памяти вычитается некое число и с него начинается перезапись инфы в еще одну память, назовем ее линейным отрезком. Зачем надо вычитать адрес? Для того, что бы обеспечить на экране классическое отображение для всех современных сторедж-осликов, а именно некий участок событий "до синхрособытия" и потом еще кусок после. Т.е. что бы точка отсчета начала синхронизации находилась, как и положено цифроскопу, в середине экрана. Таким образом адрес начала считывания = текущий адрес - половина экрана в пикселях.

Отсутствие видеопамяти это еще одна фишка, которую я пытаюсь реализовать как мой собственный "бзик". (Я конечно хотел бы написать НОУ-ХАУ, но боюсь тут переумничать самого себя...) И так способ вывода инфы на экран я выбрал такой: т.к. числа в пямяти после преобразования АЦП у нас в любом случае 8 битные, то максимальный размах сигнала на экране = 256 точек в высоту. Ну так вот у мну экран как раз оказался размером 234 пикселя! Ну выползет пик сигнала за экран - это сейчас не проблема! А в длину буфер вывода информации равен длине экрана! Т.е. акурат 480 пикселей. Значит длина буфера и равна 480 байт. Для соединения точек в линии я применил несложную логику и осциллограммы на экране стали "сплошными" линиями.

Люминофор:

Из блочной памяти я нарезал восемь кусочков по 480 байт и сделал из них странички с разной яркостью отображения инфы. Когда инфа переписывается из круглой памяти в буфер, то она попадает в буфер номер 1 и отображается ярко. При следующей перезаписи этот буфер меняет номер и становится вторым и по номеру и по яркости, и так он каждое следующее обновление "тускнеет" пока не будет перезаписан новой формой и снова станет первым.

Счас попробую прикрутить фотки....

Вот ссылка на мои баталии с экраном... >> monitor.net.ru/forum/viewtopic.php?t=424...storder=asc&start=32

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

Последнее редактирование: от Васисуалий. Причина: добавил ссылки

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

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18
Были похожие мысли про "круглую" память и про "без видеопамяти". Думаю мы "велосипедим", но это не плохо - ничего тут более нового не придумаешь. Я угасание делаю все-таки в видеопамяти, как в массиве пикселей. Фосфор, который я видел в реале и его имитация в цифре красива и полезна, когда градаций много. Сколько ступеней угасания можно сделать без видеопамяти логикой и отдельными буферами без потери скорости, т.е. без мультиплексирование областей памяти? Ведь память циклона нельзя дробить до очень малых параллельно работающих частей.

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

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

Н-дык! Велосипедим мы все изобретая осциллоскоп! Безусловно проще купить готовый аппарат от Тека или Лека и не париться! В принципе Райгл сильно по цене выручает, но ведь так ине интересно! На то оно и хобби! Вот хочется самому! и пусть пока что хуже, чем коммерческие версии от ведущих производителей, но ведь сам!

К стати есть еще одна концептуальная мысль по поводу обработки инфы...

Это по поводу медленных сигналов. Ни в коем случае нельзя уменьшать скорость работы АЦП! Но вот что делать с информацией между отсчетами? Опять же нельзя усреднять! Я предлагаю использовать такой принцип:

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

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

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

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18
Я не против повелосипедить, но тут не назван третий вариант - не покупая тек, лек или райгол, поглядеть их терминологию и методики. Например, хранение минимумов и максимумов сигнала называется peak detection. Циклический буфер тоже есть у всех. Даже в аналоговой части, если пользоваться той же элементной базой, при сколь угодно сильной изоляции от чужого опыта, будет получаться то что уже было или хуже. Мы же в одной реальности живем. Физика та же.

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

Что касается разных интересных триггеров, то вот тут действительно есть возможность сделать достойно и не хуже, чем у других.

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

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

  • with
  • with аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 76
  • Спасибо получено: 3
Приветствую всех участвующих, и спасибо автору за то - что поднял тему.
Сам уже долгое время тлею идеей об самодельном ослике, хотя потребности в нем как таковой нет ( в наличии Тек и Ригол ). ПЛИСостроитель я начинающий, собсно начал с verilog и вроде как пошло.
Отладочная плата у меня на основе циклон2, китайская. Параллельно мучаю STM контроллеры.
Для себя планирую реализовать тестовый макет осциллографа по следующему алгоритму: входной аттенюатор на основе широкополосного ОУ с программно управляемым КУ, далее АЦП ADS5553 65MSPS ( имеется в наличии , как и ADS5527 ) данные с которого поступают в плис (EP4CE40 планируется). Плис раскидывает данные по банкам памяти, одновременно формирует картинку, которую выкидывает на ЖКИ и VGA. Всю матобработку отдать ARM STM32F4 (407) которая также будет общаться с ПЛИС. В арм-е будет крутиться какое то ядро - возможно линукс, либо что нибудь самодельное.
Что использовать в качестве памяти для АЦП, пока не решил. Для меня пока не ясно каким образом в современных осциллографах быстродействующие АЦП записывают данные в память, когда память работает на частоте несколько раз ниже нежели скорости сэмплирования АЦП :unsure:
Вот как то так.

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

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

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

with пишет: Приветствую всех участвующих, и спасибо автору за то - что поднял тему.
Сам уже долгое время тлею идеей об самодельном ослике, хотя потребности в нем как таковой нет ( в наличии Тек и Ригол ). ПЛИСостроитель я начинающий, собсно начал с verilog и вроде как пошло.
Отладочная плата у меня на основе циклон2, китайская. Параллельно мучаю STM контроллеры.
Для себя планирую реализовать тестовый макет осциллографа по следующему алгоритму: входной аттенюатор на основе широкополосного ОУ с программно управляемым КУ, далее АЦП ADS5553 65MSPS ( имеется в наличии , как и ADS5527 ) данные с которого поступают в плис (EP4CE40 планируется). Плис раскидывает данные по банкам памяти, одновременно формирует картинку, которую выкидывает на ЖКИ и VGA. Всю матобработку отдать ARM STM32F4 (407) которая также будет общаться с ПЛИС. В арм-е будет крутиться какое то ядро - возможно линукс, либо что нибудь самодельное.
Что использовать в качестве памяти для АЦП, пока не решил. Для меня пока не ясно каким образом в современных осциллографах быстродействующие АЦП записывают данные в память, когда память работает на частоте несколько раз ниже нежели скорости сэмплирования АЦП :unsure:
Вот как то так.

Я в данный момент навожу порядок в своем проекте, так как из своих практических потребностей добавлял туда наспех логический анализатор и выглядят исходники неаккуратно. Еще люди жаловались на плохой цифровой фосфор и я с ними согласен - есть мысли как его улучшить. В любом случае, кроме защиты из диодов и "аттенатора" на потенциометре у меня ничего аналогового на входе еще не было - если подскажете какую-то минимальную начальную схему подсмотреть, а вернее порекомендуете PGA (так ведь это вроде называют - programmable gain amplifier ?), то буду очень благодарен.
В плане ядра супервизора я еще для себя не решил что выбрать. Для каких угодно нарядных интерфейсов мне Linux не нужен, но как тут в другой теме выяснили - какой-нибудь raspberry pi может, как ни парадоксально, оказаться просто самым дешевым способом приобретения компонентов, так еще и распаяных :)
Что Вас смутило в быстродействии памяти не совсем понятно. Внутри ПЛИС быстродействия хватает и там тоже есть память. Если ее не хватает, то ее распараллеливают, ну т.е. мультиплексируют поток данных в несколько отдельных SRAM. Вроде SRAM, хотя при записи в поледовательно расположенные ячейки всякие там GDRAM и прочие тоже вроде сейчас работают огого.

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

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

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

Chaosorg пишет: В любом случае, кроме защиты из диодов и "аттенатора" на потенциометре у меня ничего аналогового на входе еще не было - если подскажете какую-то минимальную начальную схему подсмотреть, а вернее порекомендуете PGA (так ведь это вроде называют - programmable gain amplifier ?), то буду очень благодарен.

Касательно PGA - www.ti.com/lit/ds/symlink/pga870.pdf вот такая штука, есть в наличии у китайцев.
Однако, на ранних стадиях не обязательно использовать спецовый ОУ, можно ( ИМХО и нужно ) использовать широкополосный малошумящий ОУ, КУ для которого будет формироваться резистивной матрицей, коммутируемой несколькими FET полевиками. Так раньше делали, подобное думаю реализовать и я. АРУ в данном случае желательно-обязательна.
Если интересно - попробую накатать схемное решение на днях, а дальше это хозяйство можно будет обкатать в LTspice.
Также на входе аттенюатора надобно установить сигнальное реле, которое будет формировать открытый\закрытый вход и просто off.

Касательно скоростной записи в память.
На сегодня любой дешевый ослик с полосой 100МГц в среднем дает 1Гсэмпл, это значит что АЦП тактируется на частоте 1ГГц, и также это значит что АЦП выкидывает оцифрованные данные с частотой 1ГГц - что соответствует периоду 1нс. Даже если в качестве крайне быстрого буффера используется ПЛИС, я пока не встречал таких ПЛИС, которые способны с такой скоростью записывать данные ( из дешевых ). И это мы говорим об 1Гсэмпле. А как быть с 2 - 5 Гс ? А если память объемом в 1мб ? Например оператива DDR2 на верхнем пределе работает на частоте 500 - 600МГц .. но никак не 1ГГц.
В общем этот орешек для меня пока остается не расколотым.

Еще, я тут пытаюсь написать контроллер памяти SDRAM, язык - verilog. Уперся в инициализацию. Возможно вы это проходили.
Такой вопрос - режим Autorefresh для SDRAM как он выполнятся ? Для каждой ячейки отдельно ? кусками по одной строке - или сразу банками ?
Я уперся в то что мне для инициализации надо 8 раз сделать autorefresh , при этом в мануале на мою память - этот режим описан двумя строчками -из которых ничегошеньки не ясно :(
В проектах что показаны на данном ресурсе, также ничего не нашел.

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

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

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

широкополосный малошумящий ОУ, КУ для которого будет формироваться резистивной матрицей, коммутируемой несколькими FET полевиками

Ничего хорошего не получится из-за паразитных емкостей, или если полосу килогерцами ограничить.

Касательно скоростной записи в память

Несколько последовательных LVDS каналов, в дешевых ПЛИС каждая дифпара ~~800Мбит/сек.
Внутри ПЛИС запись параллельно в несколько блоков памяти. Не советую внешнюю память, внутренняя намного быстрее и проще в использовании.

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

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

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

Leka пишет:

широкополосный малошумящий ОУ, КУ для которого будет формироваться резистивной матрицей, коммутируемой несколькими FET полевиками

Ничего хорошего не получится из-за паразитных емкостей, или если полосу килогерцами ограничить.

Касательно скоростной записи в память

Несколько последовательных LVDS каналов, в дешевых ПЛИС каждая дифпара ~~800Мбит/сек.
Внутри ПЛИС запись параллельно в несколько блоков памяти. Не советую внешнюю память, внутренняя намного быстрее и проще в использовании.


Касательно полевиков - согласен, это слишком нелинейный элемент. Для этих целей есть чиповые сигнальные реле.
Ниже док со схемами платы измерителя осциллографа TDS520. В доке есть схема всей входной части осциллографа.

Касательно LVDS - со стороны АЦП количество пар соответствует количеству разрядов АЦП. Следовательно за один такт АЦП передает один сэмпл в виде одного байта инфы. Дифф. пара в данном случае выполняет роль лишь быстродействующей линии связи. Таким образом, если к примеру АЦП молотит на частоте 1ГГц, тогда необходимо либо записывать в ПЛИС - буфферный блок памяти на этой же частоте - несколько сэмплов, и уже после, разом, в параллельном режиме к примеру закидывать данные в несколько банок памяти.

Вот у меня имеется осциллограф TDS540B 1996 года выпуска. Этот ослик обеспечивает в реальном времени 2ГГс ( внутри 4 АЦП , которые могут объединяться попарно, следовательно по 1ГГс на АЦП ). В качестве памяти используется несколько банок SRAM памяти с предельной скоростью записи 10нс ( 100МГц ) на канал.



Память пишется посредству демультиплексора ( самый большой чип на фотке ) . Так вот, для "нормальной работы" получается демультиплексор должен работать на частоте не ниж частоты АЦП и еще обладать предварительным буфером памяти. :unsure:
Вложения:

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

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

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18
схема аттенюатора блочная :( что нового из нее можно почерпнуть?

на фото тека не видно, что там за память. чудес тут быть не может, мне кажется, - 1GS не влезет на 100MHz, если она однобитная

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

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