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

ТЕМА:

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

Васисуалий пишет: Так что? Сначала просто пишем а потом просто выводим? И Вам нужен такой "прибор"?


Вообще-то я далёк от аналоговых сигналов, мне более интересен логический анализатор, способный считать запоминать и передавать с различных входов/выходов и шин. Но для поддержания разговора отвечу :) Только сильно всерьёз не воспринимайте, просто мысли дилетанта.

Поскольку скорость передачи из платы с ПЛИС в компьютер ограничены скоростью USB, поскольку запись в SDRAM тоже имеет ограниченную скорость, то можно попытаться обработать сигнал перед записью и/или передачей. Например, организовать два потока, основной поток будет передавать сигнал с определённой частотой дискретизации, а "шпильки" (кратковременные всплески сигнала) передавать в другом потоке.

И конечно же можно максимально использовать возможности ПЛИС для параллельной обработки сигналов, т.е. пока одна часть ПЛИС занимается приёмом сигнала, другой блок в это же время производит выделение всплесков в отдельный поток и упаковкой основного сигнала в основном потоке. Например так - если разница сигналов отличается меньше чем на +127/-127 условных единиц, то пишется в основной поток, если разница больше, то это считается "шпилькой" и она пишется в другой поток (время:значение). В 16-ти битную SDRAM Марсохода соответственно можно положить две выборки основного потока за одну запись. Можно пойти даже дальше и использовать логарифмический принцип кодирования и частотную упаковку, при которой меньшие приращения будут кодироваться меньшим числом бит (по одному из принципов архиваторов). Стоит ли говорить что задача слияния основного потока и потока со "всплесками" на компьютере решается очень просто.

Кроме того отказ от использования видеовыхода позволит всю SDRAM отдать для сохранения результата, исключив необходимость разделения памяти между дисплеем и сохранением потока данных. При частоте записи 100МГц вся SDRAM Марсохода может быть заполнена данными за менее чем 0.1 секунды.

Это навскидку, без серьёзного анализа проблемы и без углубления в неё.

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

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

Профанация детектед!

У мну вопрос - а как присутстсвующие тут пытаются сделать что то без обсуждения прринципов работы того, что вы пробуете сделать?

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

Единственный, кто хоть как то решил пофантазировать на тему внутренней структуры и принципов обработки информации, это
alman, которому осциллограф не нужен! А что делают те, кому осциллограф нужен? Вот пример:

Если без ёрниченья, то визуализировать без deadtime можно. Для поимки глитчей тоже есть куча способов. Есть хитрые триггеры, сегментированная память и т.д. Для себя, как компромисс, я выберу вариант с как бы двумя триггерами - один стабилизирует сигнал относительно кадра визуализации без deadtimе, а второй триггер (вернее детектор) наподобие path-fail фиксирует в памяти только те участки сигнала, визуализация которых пересекла какую-то точку на экране.

Попробуйте перевести это на язык схем и точных рассчетов времени, памяти, что получится? Я ничего не понял, особенно понравился "хитрый триггер". Даже и не пытался что то найти по тегу:"Хитрый триггер в Тектроникс" или например,"Меню хитрых триггеров в ЛеКрой"

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

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

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

Васисуалий пишет: Профанация детектед!

У мну вопрос - а как присутстсвующие тут пытаются сделать что то без обсуждения прринципов работы того, что вы пробуете сделать?

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

Единственный, кто хоть как то решил пофантазировать на тему внутренней структуры и принципов обработки информации, это
alman, которому осциллограф не нужен! А что делают те, кому осциллограф нужен? Вот пример:

Если без ёрниченья, то визуализировать без deadtime можно. Для поимки глитчей тоже есть куча способов. Есть хитрые триггеры, сегментированная память и т.д. Для себя, как компромисс, я выберу вариант с как бы двумя триггерами - один стабилизирует сигнал относительно кадра визуализации без deadtimе, а второй триггер (вернее детектор) наподобие path-fail фиксирует в памяти только те участки сигнала, визуализация которых пересекла какую-то точку на экране.

Попробуйте перевести это на язык схем и точных рассчетов времени, памяти, что получится? Я ничего не понял, особенно понравился "хитрый триггер". Даже и не пытался что то найти по тегу:"Хитрый триггер в Тектроникс" или например,"Меню хитрых триггеров в ЛеКрой"


Принципы работы цифрового осциллографа подробно описаны на различных ресурсах, включая банально википедию. Зачем ее здесь повторять. Слово "хитрые" я употребил потому что имел в виду целый ряд ухищрений, включая различные фирменные технологии, названиями которых не стоит засорять мозг. Например, есть понятное название - цифровой фосфор, мы тут все им пользуемся и понимаем о чем идет речь, хотя фирмы мыслят его как часть более сложных технологий с менее очевидными названиями, такими как DPX, MDO, UltraVision и т.д.

Давайте честно вспомним, что мог аналоговый осциллограф, пускай даже запоминающий. Он показывал картинку, на которой луч многократно мог пройти по одному и тому же месту. Экран мог иметь различное по длительности послесвечение, включая постоянное. Экран фотографировали или писали на видео. Информация о том, каков на самом деле был сигнал терялась. По факту мы имели именно осциллограмму. Осциллограмма и полная запись сигнала, как например у самописца - не одно и то же. Цифровой запоминающий осциллограф позволяет записать гораздо больше. Соответственно информации получается больше, отсюда и проблемы. Чудес на свете не бывает. Либо увеличивайте объемы и пропускную способность хранилищ, либо ищите компромиссные решения, которые позволяют хранить только то, что надо, отбрасывая лишнее.

Давайте по порядку. Нам надо тут обсуждать как устроен цифровой осциллограф, которые просто показывает на экране осциллограмму без deadtime? При наличии двухпортовой встроенной памяти ПЛИС думаю что нет - все понятно. Вы увидите на экране пресловутый глитч? - да. Если есть вопросы или возражения - скажите.

Теперь Вы хотите чтобы сигнал сохранился в компьютере. Весь? Или интересующие по какому-то критерию участки? Критерий определили?

Я отталкиваюсь от факта, что на экране у меня уже есть формируемая осциллограмма без deadtime. Для того, чтобы она была стабильна мне пока хватает относительно примитивных триггеров, как у обычных аналоговых осциллографов. Если я могу увидеть на экране глитч или иной визуальный признак интересующего меня события - значит и электроника может это. Триггером это уже нельзя назвать. По сути больше всего похоже на path-fail детектор, но есть, конечно и более модные названия. Вон, MDO линейка от Tektronix умеет сохранять по событию в спектре. Вам принципиально важно узнать какими фирменными аббревиатурами это назвала та или иная фирма?

P.S.

Короче говоря, предлагаю начать с регулируемого по положению и размеру прямоугольника на экране, при пересечении или непересечении которого происходит deadtime для сохранения/передачи сигнала.

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

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

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

Chaosorg пишет: P.S.

Короче говоря, предлагаю начать с регулируемого по положению и размеру прямоугольника на экране, при пересечении или непересечении которого происходит deadtime для сохранения/передачи сигнала.


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

Вот пример неизбежности дед-тайма...

Имеется осциллоскоп (дигитайзер) с оцифровкой 3.6ГсПс. Имеется необходимость непрерывно наблюдать сигнал на максимально возможной скорости т.к. периодически, например 1 раз в три секунды, с сигналом "что то случается"! Кто не сталкивался с подобным? Думаю, что все сталкивались так или иначе. И вот что должен делать осциллоскоп, что бы отследить супер-редкое событие в таких вот условиях?

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

Вот еще раз спрашиваю, кому нужен такой осциллограф?

И что про этот факт нам пишет Википедия?

Сейчас попробую изобразить, если смогу на картинке...

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

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

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

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

Далее Вы описали одну из разновидностей цифрового осциллографа, в котором все делается по очереди, а не одновременно. Делайте одновременно. Дублируйте банки памяти. Стройте картинку на экране одновременно с оцифровкой.

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

Идея не в том, чтобы записать кучу ненужного сигнала, а потом пропустить редкую аномалию, а чтобы писать сигнал на экран с потерей (наложением) информации, но без deadtime, анализировать его постоянно без пропусков и сбрасывать в компьютер содержимое кольцевого буфера только при обнаружении аномалии.

P.S.
Я там раньше написал, что при пересечении прямоугольника пусть происходит deadtime - зря написал. По сути получается, что препятствий для продолжения работы по устройства по предложенной методике нет, кроме нехватки памяти для организации стольких буферов. Хотя тут еще их размер имеет значение и разговор возвращается опять не к выработке методик, а к стоимости и целесообразности. Если мы не можем позволить себе дешево достичь больших объемов и частот, то создавать более совершенные триггеры и детекторы ну и вообще методы отфильтровывания лишней информации на стороне осциллографа для снижения объемов информации подлежащей отправке компьютеру мы можем.

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

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

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

Chaosorg пишет: Если мы не можем позволить себе дешево достичь больших объемов и частот, то создавать более совершенные триггеры и детекторы ну и вообще методы отфильтровывания лишней информации на стороне осциллографа для снижения объемов информации подлежащей отправке компьютеру мы можем.


Вот! Что то подобное в конце концов я и мечтал прочитать! :)

А теперь и хочется поговорить на тему - А как мы это будем делать? B)

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

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

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

Васисуалий пишет:

Chaosorg пишет: Если мы не можем позволить себе дешево достичь больших объемов и частот, то создавать более совершенные триггеры и детекторы ну и вообще методы отфильтровывания лишней информации на стороне осциллографа для снижения объемов информации подлежащей отправке компьютеру мы можем.


Вот! Что то подобное в конце концов я и мечтал прочитать! :)

А теперь и хочется поговорить на тему - А как мы это будем делать? B)


Я не увидел реакции на мной уже описанную идею про детектор попадания в прямоугольник на экране. Поэтому хочу сначала еще раз обратить на это внимание задав вопрос:

читали или нет? все понятно или другими словами рассказать?

и еще

этап с наблюдением осциллограммы на экране пройден Вами или нет? с пропусками или нет? с фосфором или нет? просто мне так легче понять что писать, а что уже не надо

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

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

Вот тут Вы правы! ЭТАП! Я бы даже сказал - ЭТАПЫ!

Этап с выводом осциллки на экран у меня был еще года полтора назад! Я в тупую цифровал то, что подается на АЦП и выводил на экран. Получилось и даже можно сказать работало! Потом был типа этап - фосфор. Но используя память внутри ПЛИС этот этап закончился некоторой неудачей. Сделать фосфор не используя полноценный фрейм-буфер невозможно, это я понял и Вы мне об этом говорили. Это я помню. После наведения в проекте полнейщего беспорядка я понял, что надо все сделать заново и делять это постепенно. Т.е. поэтапно. Я начал почти с нуля с того, что попытался создать полноценный интерфейс и именно этим занимаюсь с Нового года.

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

Ну хорошо, надо же с чего то начинать, вот я и начну!

Концепция моего проекта (может быть пока, в будущем можно все изменить) состоит в том, что я не использую процессор и все процессы у меня жестко-логические. Второй принцип - отсутствие видео-буфера. Вывод на экран жестко-логический. Таким образом для вывода осциллограммы на экран мне вполне достаточно иметь память, обьемом, равным длине экрана Х 1 байт.

Что сделано:

1. К ПЛИС на прямую подключена матрица 7 дюймов с аналоговым вводом инфы и разрешение 480Х240Р. Для осциллоскопа начального уровня этого экрана более чем достаточно. Я много чего прочел про серийно выпускаемы осциллоскопы и понял, что такие матрасики применяются в моделях осциллоскопов начального уровня повсеместно.
2. Создан и успешно развивается Интерфейс. В самом начале проекта на другом форуме один уважаемый спец, так и не сделавший к слову в плане конструирования чего либо ни одного шага, громко заявлял, что создать хоть какой нибудь интерфейс на жесткой логике у меня не получится и что по этой причине мой проект упрется в необходимость процессора. Надо сказать, что этого не только не произошло, но даже более того - я прекрасно освоился и мне нравится развитие интерфейса на жесткой логике. При управлении проектом ни я ни мои друзья, которые заходят ко мне в гости не видят никаких различий между интерфейсами других приборов и моего.
3.Для сохранения осциллограмм я выделил (пока) 4096 байт в памяти. Т.к. это количество памяти сущетсвенно больше, чем возможности экрана по выводу на него инфы, то встал вопрос о навигации и выводе информации из памяти на экран. Создана "ШКАЛА". Это серьезный кусок моего проекта. Смысл ее втом, что она формирует на экране собственно шкалу распределения памяти и указатели, показывающие, что сейчас наблюдается на экране. Шкала выглядит примерно так же, как это сделано у ведущих производителей осциллоскопов, например у Тектроникса и управляется точно так же. Т.е. в пределах памяти записанный сигнал можно сжать, растянуть, промотать. При этом на шкале есть указатель момента начала отсчета времени (точка момента синхронизации). Этот указатель показывает положение момента в памяти при всех перемещениях окна вывода информации по памяти находится в одном положении и соответственно перемещается по экрану и шкале в строгом соответствии с пересчетом его положения относительно других величин.
4.Создан блок управления синхронизацией и он же формирует код для будущего смещения луча по горизонтали. Блок выводит на экран три маркера с номерами каналов и символом (S) для синхронизации и серые пунктирные линии, по которым удобно наблюдать положение "лучей" и уровня синхронизации. Пока нет схемы фронт-энда говорить об смещении сигнала по вертикали нет смысла, поэтому сформированные коды я использую иногда как тестовый сигнал для проверки других схем.
5.Сконструирован орган управления из одного энкодера и четырех кнопок. Сам энкодер содержит в себе еще одну кнопку и всего кнопок получается пять. Это отдельная схема собрана на MAX2 EPM240 (бывший когда то Марсоход1, разобранный и пересобранный на другой макетке) Этот участок работы на мой взгляд полностью закончен т.к. там придумать больше просто нечего. Все события на этой части схемы просто передаются в основной проект и уже EP3C10 разбирается, что и куда отправлять в зависимости от нажатия тех или иных кнопок.
6.В прошлые выходные проект был подвергнут тотальной синхронизации. Из проекта удалены все счетчики кроме одного большого и главного делителя всех частот и получения всех кодов и отсчетов. Все остальные сигналы внутри проекта получаются методом математических пересчетов этого единого кода во все необходимые числа.
7.Вчера буквально я уперся в недостаток органов и средств управления схемой синхронизации. Эта часть схемы еще не доделана. Вчера я успер сформировать и вывести на экран символ для синхронизации "фронт-бэк", такой значек логического перехода вверх или вниз со стрелочкой и трех надписей режима работы схемы развертки NORMAL - SINGLE - AUTO. Вокруг символов я размастил бордюр, который пока подключил так, что он постоянно светит белым на максимальной яркости, но в перспективе я планирую сделать этот бордюр серым в нормальных условиях и мигающим цветным в режиме, когда соответствующий параметр регулируется.

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








Вложения:

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

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

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

  • Chaosorg
  • Chaosorg аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 312
  • Спасибо получено: 18
Весьма симпатично смотрится:) Правда, не совсем понятно, что Вы увидите на экране, если за время его обновления у Вас в буфере (не фреймбуфере) информация обновиться успеет многократно. Т.е. выводите Вы, например, там 47ю строку, а когда будете выводить 48ю в буфере уже совсем все другое. Вы останавливаете его обновление? Еще вопрос - вы память еще на что-то кроме описанного буфера уже потратили?

ну а по поводу:

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

Концепция просто отличается сильно от других, может окружающие и движутся, но в другом направлении.

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

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

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

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

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

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

Сейчас у меня другие интересы ("Си как HDL", "плисдуино", и тп), и простой осциллограф будет делаться заново только в этих рамках. Осциллограф на ПЛИС с 100base-tx, usb-мышкой, ... - без дополнительных микросхем (ADC, PHY). Добавлю интерфейс к существующему стробоскопу, и попробую 1Гвыб/сек flash-АЦП.

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

Слишком общие вопросы, чтобы можно было дать краткий ответ. А развернуто отвечать у меня не получается (из-за лени).

Что сделано:

В схематике?

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

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