|
Принципы обработки в DSO, Цифровая часть |
|
|
|
Sep 5 2008, 11:53
|
Знающий
   
Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489

|
Цитата(InvisibleFed @ Sep 5 2008, 15:24)  Работая с Теками, я заметил, что отображение сигнала на экране происходит с некоторым накоплением По крайней мере, создалось такое впечатление. Что я имею ввиду. На экране осцилла постоянно присутствую, скажем, пять отображений сигнала. Четыре - те что отрисовывались ранее, и пятое - то что только что нарисовалось. Причем при отрисовки нового "свежего" сигнала из обновенного буфера, с экрана удаляется самая "старая" версия сигнала. И так далее, по очереди. Если мое предположение верно, то буфер экрана в теках имеет N одинаковых по размеру областей, содержащих историю N версий наблюдаемого сигнала. А может это последствия Тековской технологии? У них в дешевых скопах память на ПЗС. И вроде как должен быть какой-то аналог обычной ЭЛТрубки, которая проецирует картинку на ПЗС матрицу. ПЗС - вещь инерционная, и с неё сигнал считывает уже медленный АЦП. А так чтоб на экране было сразу несколько проходов луча, да с разной яркостью, как в аналоговом скопе, - это мечта всех дешевых DSO. "Цифровой фосфор" начинается с нескольких тыщ $$. И вообще, записать данные в буфер дело не хитрое. Самое интересное потом. Чтобы иметь возможность растянуть интересный участок сигнала на экране, надо иметь буфер гораздо длиннее экрана, и надо уметь натягивать короткий экран на длинный буфер. Просто выкинуть лишние выборки это не правильный вариант. И наоборот, короткий буфер растягивать на длинный экран, добавляя отсутствующие точки с помощью апроксимации. И делать это надо очень быстро, бысрее чем юзер успеет выматериться по поводу тормознутости скопа. Минимум 20 раз в сек.
--------------------
В действительности всё не так, как на самом деле.
|
|
|
|
|
Sep 5 2008, 19:36
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(slog @ Sep 5 2008, 14:53)  А может это последствия Тековской технологии? У них в дешевых скопах память на ПЗС. И вроде как должен быть какой-то аналог обычной ЭЛТрубки, которая проецирует картинку на ПЗС матрицу. ПЗС - вещь инерционная, и с неё сигнал считывает уже медленный АЦП. Кто проецирует? Куда проецирует? ПЗС (Прибор с Зарядовой Связью) aka ППЗ (Прибор с Переносом Заряда) - это не технология приёма "картинки", а "дискретно-аналоговая" технология работы с сигналом в виде зарядовых пакетов. По этой технологии могут быть сделаны регистры считывания сигнала с массива фотодиодов (так устроены, например, ПЗС-матрицы и линейки Sony), порождённые светом заряды могут накапливаться прямо в этих аналоговых сдвиговых регистрах (full-frame CCD), но с тем же успехом корпус может быть непрозрачным а зарядовые пакеты в сдвиговые регистры могут вноситься электрическим способом, таким образом можно получить аналоговый сдвиговый регистр (см, например, микросхему 528БР1) и даже заодно в них могут быть организованы фильтры. В цветных телевизорах такие линии задержки радостно задерживают аналоговый сигнал на строку. Меняя скорость тактирования можно менять время задержки, построить ревербератор. Записывая аналоговый сигнал в ПЗС-регистр на высокой скорости и считывая на низкой можно учинить "лупу времени". Но никакие "картинки" при этом никуда не проецируются.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Sep 6 2008, 01:33
|
Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469

|
Цитата Чтобы иметь возможность растянуть интересный участок сигнала на экране, надо иметь буфер гораздо длиннее экрана, и надо уметь натягивать короткий экран на длинный буфер. Просто выкинуть лишние выборки это не правильный вариант. И наоборот, короткий буфер растягивать на длинный экран, добавляя отсутствующие точки с помощью апроксимации. И делать это надо очень быстро, бысрее чем юзер успеет выматериться по поводу тормознутости скопа. Минимум 20 раз в сек. Если не вдаваться в подробности скорости обработки (пока не считал и не мерил), то описанные Вами проблемы я более или менее решил. Что касается случая "большой экран - маленький буфер", то тут без интерполяции по опорным сэмплам не обойтись. На данном этапе, я ее не реализовывал, а просто буду отрисовывать "разряженную" из-за малого количества сэмплов версию сигнала. В будущем - возможно. В ином случае ("большой буфер - маленький экран") применяю алгоритм сжатия, принцип которого описан в одной из статей на сайте prist.ru ("Уплотнение дисплея и длина памяти"). В этом алгоритме весь буфер разбивается на участки, в каждом из которых ищется максимальный и минимальный сымплы. Они то и попадают в итоговое отображение, все остальные сымплы отбрасываются. Что касается скорости всего этого дела, то я стараюсь все писать оптимально: продумываю алгоритмы, выношу все возможные расчеты, которые дольше чем обращение к памяти, за пределы основного цикла с целью минимизации времени "слепоты" скопа (т.е. того времени, которое уходит на обработку буфера сэмплов и отрисовку сигнала). А что означает "дешевый скоп"? 4-х канальный Тек на 200 (ил 250? не помню) МГц считается дешевым? Ну, да не Лекрой на ГГц, но все же. В моих краях и за эти деньги неплохой автомобиль взять можно =). Ну независимо, мне кажется от технологии скопа (ПЗС или нет), это не объясняет явление (или фичу) накопления. Ведь на ПЗС основан только буфер сэмплов как я понимаю. Экранный буфер более совершенен =). И вот в Теках они именно с ним, как мне показалось работают хитро - не обновляют полностью при каждой отрисовки, а "дописывают туда новуя версию сигнала, и удаляют (может даже попиксельно) - самую старую.
|
|
|
|
|
Sep 6 2008, 06:55
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 18-02-08
Из: Челябинск
Пользователь №: 35 141

|
Цитата(InvisibleFed @ Sep 6 2008, 07:33)  Ну независимо, мне кажется от технологии скопа (ПЗС или нет), это не объясняет явление (или фичу) накопления. Ведь на ПЗС основан только буфер сэмплов как я понимаю. Экранный буфер более совершенен =). И вот в Теках они именно с ним, как мне показалось работают хитро - не обновляют полностью при каждой отрисовки, а "дописывают туда новуя версию сигнала, и удаляют (может даже попиксельно) - самую старую. Может, не во всех (хотя сомнительно), но в моем Теке эффект "аналогового" послесвечения задается параметром Persist во вкладке Display (Off, 1s, 2s, 5s, Infinite).
|
|
|
|
|
Sep 6 2008, 07:44
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 18-02-08
Из: Челябинск
Пользователь №: 35 141

|
Цитата(InvisibleFed @ Sep 6 2008, 13:09)  Вот интересно как оно реализовано?.. Это явно работа с экранным буфером: перед записью новых сэмплов он не просто обнуляется, а например, из яркости каждого пикселя вычитается некая константа ( связанная с временем послесвечения), если результат меньше 0, записывается 0. Соответственно, новые пиксели записываются с полной яркостью.
|
|
|
|
|
Sep 6 2008, 09:00
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Цитата(ReAl @ Sep 5 2008, 21:36)  Кто проецирует? Куда проецирует? ПЗС (Прибор с Зарядовой Связью) aka ППЗ (Прибор с Переносом Заряда) - это не технология <skip> Но никакие "картинки" при этом никуда не проецируются. Проецируется, но не у тесктроникса. Есть устройства с субпикосекундным разрешением, называются streak camera. Но у них не электрический, а оптический вход. В последних версиях электронный луч рисует по поверхности ПЗС (технология DEB- direct electron bombardment ). Выпускает в основном Хамамацу. Хотя был и скоп с подобным устройством- высоковольтная трубка с мелким экрнаом в качестве люминофора имела DEB CCD. Но это было давно, и имело малое время жизни- портилися пиксели CCD. Короче технология в массы непошла. Но 10 ГГц для непериодического сигнала получалось легко. А текстроникс сделал аналоговый сдвиговый регистр на ПЗС, где зарядовые пакеты записывались коммутатором на всю боковую сторону матрицы с последующим сдвигом столбцов, а вычитывались по одной ячейке обычным АЦП. Но в современных скопах это все неприменяется - стоит 4-8 АЦП в интерливе (фазовый сдвиг клока и рассчитанные задержки сигнала на входах АЦП) По поводу обработки сигнала- кольцевой буфер с запоминанием адреса момента триггера и вторым счетчиком на остановку сбора данных когда "голова" приблизится к "хвосту" на заданное расстояние (загружен длиной "хвоста", начинает счиатать в момент триггера, при достижении нуля останавливает сбор данных). Так проще организовывать счетчик адресов и заранее переключать страницы динамического ОЗУ при сборе данных. Момент триггера обычно определяют аналоговым триггером (асинхронным относительно клока АЦП) и с помощью временного интерполятора (TDC) определяют задержку между моментом триггера и ближайшим клоком АЦП. Это позволяет сделать эквивалентную выборку у повторяющихся сигналов до десятков гигасемплов (определяется разрешающей способностью интерполятора, джиттером тактового генератора и компаратора).
|
|
|
|
|
Sep 6 2008, 11:03
|
Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469

|
Вот и Перцы подтянулись (khach, это я про Вас - знаю, что в скопах Вы шарите  ). Цитата Но в современных скопах это все неприменяется - стоит 4-8 АЦП в интерливе (фазовый сдвиг клока и рассчитанные задержки сигнала на входах АЦП) Поподробней, если возможно (и что значит 4-8 АЦП =)?..). Цитата Момент триггера обычно определяют аналоговым триггером (асинхронным относительно клока АЦП) и с помощью временного интерполятора (TDC) определяют задержку между моментом триггера и ближайшим клоком АЦП. Это позволяет сделать эквивалентную выборку у повторяющихся сигналов до десятков гигасемплов (определяется разрешающей способностью интерполятора, джиттером тактового генератора и компаратора). Пошел пока искать что такое временной интерполятор (TDC). Но не могли бы Вы объяснить как это работает и как это позволяет поднять эквивалентную частоту выборки? Т. е. я представляю что такое эквивалентная частота дискретизации (выборка со сдвигом для повторяющихся сигналов, позволяющая "уточнить" форму сигнала, имея несколько сдвинутых по фазе выборок повторяющегося сигнала), но не знаю как это можно реализовать. Несмотря на то, что в моем случае это не требуется, очень интересно все-же. И всегда интересовало, откуда такие познания (в книжках такого точно не пишут): большой опыт ремонта\наладки\сертификации\разработки / работа в Теке\ЛеКрое\Агиленте / другое =) (нужное подчеркнуть)?
|
|
|
|
|
Sep 6 2008, 12:15
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(khach @ Sep 6 2008, 12:00)  Проецируется, но не у тесктроникса. ... Но 10 ГГц для непериодического сигнала получалось легко. Ну в фоторегистрирующих гробах заменить приёмник на ПЗС даже логично, но это речь о совершенно другом классе приборов. Цитата(khach @ Sep 6 2008, 12:00)  А текстроникс сделал аналоговый сдвиговый регистр на ПЗС О чём я и толкую. Причём для длины регистра в несколько тысяч отсчётов не нужно даже матрицу делать, линейного регистра хватит. Более того, если они для сотни тысяч отсчётов сделали "матричную" организацию сдвигового регистра, то как они побороли неизбежные задержки на перелив строки, строки просто не могут двигаться так быстро, как одиночные пикселы в линейном регистре ввода в матрицу/вывода из неё (просто за счёт в сотни-тысячи раз большей ёмкости). Впрочем, никто не мешает два буфера поставить и интерливом работать. Цитата(InvisibleFed @ Sep 6 2008, 14:03)  Т. е. я представляю что такое эквивалентная частота дискретизации (выборка со сдвигом для повторяющихся сигналов, позволяющая "уточнить" форму сигнала, имея несколько сдвинутых по фазе выборок повторяющегося сигнала), но не знаю как это можно реализовать. А оно само реализовывается за счёт асинхронности такта осциллографа и входного сигнала. А дальше в каждой записи нужно измерить и запомнить на какой доле периода такта сработал независимый аналоговый компаратор синхронизации, о чём khach и сказал. Как это измерить - ну как вариант в момент сработки аналогового компаратора начать заряд какой-то ёмкости заданным током а в момент следующего фронта такта АЦП остановить заряд. Померив напряжение на конденсаторе можно вычислить задержку такта АЦП от момента сработки аналоговго компаратора. ...... ага, дошло зачем матрица и куда девать неизбежные остановки регистра на перелив содержимого в матричную секцию - один регистр/одна строка матрицы это один набор данных? Потом набор переносится в матрицу, ожидается следующий момент синхронизации и в регистре накапливается следующий набор? При большом желании в один из столбцов матрицы можно даже писать значение, снятое с конденсатора определения задержки такта от момента синхронизации. Любопытно.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Sep 8 2008, 09:34
|
Знающий
   
Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489

|
Цитата(InvisibleFed @ Sep 7 2008, 05:30)  Правильно ли я полагаю, что в самом просто случае эфеективно использовать минимум два кольцевых буфера для накопления сэмплов. И использовать их поочередно (в режиме двойной буфферизации - в один пишем, второй обрабатываем и отрисовываем). (???) Если быстрой памяти не жалко - можно и 2 буфера по очереди. Или переписывать из одного быстрого в другой - медленный видео буфер. Или двухпортовую память использовать. Хозяин - барин.
--------------------
В действительности всё не так, как на самом деле.
|
|
|
|
|
Sep 8 2008, 10:13
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Цитата(InvisibleFed @ Sep 7 2008, 03:30)  Правильно ли я полагаю, что в самом просто случае эфеективно использовать минимум два кольцевых буфера для накопления сэмплов. И использовать их поочередно (в режиме двойной буфферизации - в один пишем, второй обрабатываем и отрисовываем). (???) Зачем два? Все равно отрисовать неуспеете и неувидете этого на экране. Поймите, осциллограф это не цифровой приемник или даталоггер, который не имеет права терять куски данных- аналоговый осцилл их постоянно теряет, показывая только статистику сигнала (яркостью) в районе момента запуска триггера. В самом простом случае (например китайские USB осциллографы DSO2150) вообще используется только внутреннее USB fifo буффер cy7c68013a. И этого иногда хватает с головой- 8 кбайт со скоростью записи 100 МГц. Конечно нет претриггера вообще, но зато и контроллера ОЗУ и самого ОЗУ ненадо. А организация и число буферов в более продвинутых скопах определяется типом ОЗУ. Если оно статическое SSRAM- то там все достаточно тривиально. Но зато макисамльный обем ограничен и скорость записи маловата. Если применяется DDR, то нужен второй короткий буфер, часто внутри ПЛИС, для сохранения потока данных с АЦП в то время, пока происходит переключение страниц памяти DDR (а это до 20 тактов клока) Если же делается скоп с цифровым фосфором, то там еще сложнее, т.к на массиве памяти выполняются операции чтение-модификация-запись и потери на переключения режимов еще больше. При быстрых АЦП, когда приходится распараллеливать поток данных на большее число бит данных (наприме собираем 8бит на 1 Гсемпл, а пишем в память два банка по 32 бит на 125 МГЦ в интерливе) все еще сложнее.
|
|
|
|
|
Sep 8 2008, 10:43
|
Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 18-11-06
Из: Хабаровск
Пользователь №: 22 469

|
Цитата Зачем два? Все равно отрисовать неуспеете и неувидете этого на экране. Поймите, осциллограф это не цифровой приемник или даталоггер, который не имеет права терять куски данных- аналоговый осцилл их постоянно теряет, показывая только статистику сигнала (яркостью) в районе момента запуска триггера. Согласен, что отрисовывается все это дело медленно. Однако, я не раз читал (и сам вижу в этом логику), что желательно как можно сильнее минимизировать время "слепоты" скопа. Другое дело, что двойной буфер, действительно расточительно. Двухпортовая память в таком случае была бы предпочтительнее (но пока не планировал ее использование, пока лишь бы хоть как-то заработало). И, khach, где-то Вы все-таки работаете...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|