roboforum.ru

Технический форум по робототехнике.

USB-осциллограф TNP Duo

Re: USB-осциллограф TNP Duo

avr123.nm.ru » 28 мар 2010, 16:20

По вопросу не могу подсказать, а вот 4000 точек ИМХО мизер какой-то. Никак увеличить то нельзя ?
Последний раз редактировалось avr123.nm.ru 28 мар 2010, 16:36, всего редактировалось 1 раз.

Re: USB-осциллограф TNP Duo

blindman » 28 мар 2010, 16:34

Максимум до 6000 - но это будет ясно только когда будет готова прошивка.

Re: USB-осциллограф TNP Duo

Michael_K » 28 мар 2010, 16:53

не очень понятно, что тут удобнее.
Я бы вообще раздельно управлял частотой выборок и сеткой/масштабом на экране.
Но и ваш вариант вполне подходит.
Что полезно было бы сделать - это ползанье по сигналу, используя претриггеринг и посттриггеринг.
Тогда проблема "двух экранов" бы не вставала.
Естественно, претриггеринг ограничивается памятью осцилла.

Re: USB-осциллограф TNP Duo

Michael_K » 28 мар 2010, 17:00

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

И по поводу софта на компе и отображения - тоже есть над чем подумать...
Например, дрожание фронтов очень здорово видно на аналоговых осциллах
(из-за инерционности люминофора), и гораздо хуже на цифровиках (дешевых!)
Причем задача-то чисто софтовая на компе...

Re: USB-осциллограф TNP Duo

blindman » 28 мар 2010, 17:06

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

Если бы памяти были доступны мегабайты, то и вопрос бы не вставал - меряй себе на максимальной частоте всегда.

Re: USB-осциллограф TNP Duo

Michael_K » 28 мар 2010, 17:10

В общем, я бы на вашем месте попробовал найти "в пределах доступности"
_хороший_ цифровик и поиграть с ним пару часиков - потыркать в "плохие"
сигналы (а только такие и интересны), и посмотреть, как там чего реализовано.

Re: USB-осциллограф TNP Duo

Michael_K » 28 мар 2010, 17:11

blindman писал(а):Если бы памяти были доступны мегабайты, то и вопрос бы не вставал - меряй себе на максимальной частоте всегда.

Вы не поняли.
В память складывать редко, мерять часто и фильтровать, искать разбросы и т.д.
антиалиасинг называется

Re: USB-осциллограф TNP Duo

Michael_K » 28 мар 2010, 17:14

Я тут, наверное, "много чего хочу" - вы не обращайте внимания - это "перфекционизьм" прет :)

Re: USB-осциллограф TNP Duo

Michael_K » 29 мар 2010, 00:17

Вообще, я тут почесал репу - подумал чего хочется от простенького цифровика:

1 - антиалиасинговый фильтр. ОБЯЗАН быть! Или выдача хотя бы пиковых значений сигнала на каждый экранный пиксель.
Без фильтра они показывают конкретную лажу (причем даже в казалось бы простых случаях) - исследовать что-либо абсолютно невозможно. Пиковые значения позволят увидеть фичи недоступные из-за ограниченного разрешения телевизора и искусственно заниженной частоты оцифровки.

2 - настройка уровня и полярности триггера (опционально фильтра для него, еще более опционально гистерезиса).
Зачем фильтр - например, прицепиться к началу пакета на фоне таких же по амплитуде данных
или к кадровым синхрам на фоне строчных такой же амплитуды. Гистерезис ровно за тем же.


3 - настройка минимального времени между триггерами
Например, я смотрю окно в 100 микросекунд, но такие окна идут раз в 20 миллисекунд и между ними много чего творится, но оно мне не интересно. Пример, тот же ТВ-сигнал, протоколы.

4 - независимая настройка пре/посттриггера. То есть окно хочется двигать "вправо" от триггера сколько угодно.
Понятно, что претриггер ограничен памятью осцилла, но посттриггер-то нет. Можно привязавшись к началу длинного пакета смотреть детально на его последний бит, растянув этот бит с максимальной частотой дискретизации на весь экран...

Могу пояснить более детально каждый пункт с примерами и картинками :)
Хочется, чтобы в результате таких, достойных уважения, усилий родился бы нормальный "осциллограф"
(тупые "оцифровщики" уже не фтыкают...)

Re: USB-осциллограф TNP Duo

blindman » 29 мар 2010, 02:56

А вы не ленитесь, рисуйте картинки, пишите пояснения :)

Re: USB-осциллограф TNP Duo

Michael_K » 29 мар 2010, 04:41

Хорошо. :)

Самым важным считаю первый пункт.

Представьте, что у нас есть черный ящик, из него торчит провод.
Мы настраиваем "тупой оцифровщик" на частоту дискретизации 1 килогерц и видим меандр - 50 Герц.
"Хорошо" - думаем мы - "попробуем попереключать частоту дискретизации", переключаем на
500 герц, два килогерца, пять килогерц, десять килогерц, двадцать.... Видим все тот же меандр 50 герц.

А на самом деле из черного ящика лезет меандр 20050 Герца...
Это только кажется, что ситуация тупая... Она тупая, конечно,
но на практике это конкретно сбивает с толку. Еще хуже когда частоты "не очень кратные"
и сигнал "чуть посложнее меандра", тогда при каждом переключении частоты
дискретизации "тупой оцифровщик" рисует новую картинку - абсолютно непохожую на предыдущую.
Сидишь и втыкаешь в эти картинки, понимаешь, что где-то наё... подвох, а чему верить не знаешь...

Бывает также, что даже если частота меньше дискрета, искажается форма сигнала (ака высшие гармоники),
переходные процессы вообще выглядят иногда непредсказуемо, особенно если есть "звон".

Чтобы такого не происходило, по-моему, можно поступать так:
Цифровать ВСЕГДА с максимально возможной частотой и запоминать пиковые значения сигнала (минимум и максимум),
а в память складывать с нужной (заданной) частотой дискретизации по два значения на каждый "пиксель"(минимум и максимум). Рисовать на экране вертикальную полоску.

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

Если еще надо, то картинки завтра :pardon:

Re: USB-осциллограф TNP Duo

blindman » 29 мар 2010, 07:38

Насчет первого пункта понятно. Буду думать. Сразу 2 замечания.

1. Очевидно, что запоминание 2 значений уменьшит количество запомненных отсчетов в 2 раза.
2. [относится и ко всему прочему] Любая обработка данных на стороне осциллографа может быть проблематична - процессор работает на пределе, иногда отрабатывая циклы буквально в 3-4 команды, включая команду зацикливания. Конкретно по первому пункту это означает, что "максимальная" частота будет не максимально возможной, а значительно меньше. Навскидку - не более 6 МГц.

PS. Картинки надо :). Хотя можно и без них - и так доходчиво излагаете :good:

Re: USB-осциллограф TNP Duo

Michael_K » 29 мар 2010, 12:23

Андрей, я конечно, не могу и не хочу настаивать...
Мои высказывания - это скорее "мысли вслух", чем "руководство к действию".

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

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

6 мегагерц - это да... это маловато... к сожалению. :(

Продолжу по пунктам. Настройка триггера.
Уровень и полярность, думаю, ясны без пояснений.
Управляемый НЧ фильтр на канале триггера... Штука полезная когда хочется увидеть кусок достаточно длинной последовательности (типично можно представить любой протокол обмена...).
Для простоты представим, что по уарту (цифровой сигнал с хорошими одинаковыми фронтами)
передается неразрывный пакетик в 10 байт.

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

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

Сейчас все-таки картинки попробую нарисовать :

Re: USB-осциллограф TNP Duo

blindman » 29 мар 2010, 12:32

Michael_K писал(а):6 мегагерц - это да... это маловато... к сожалению. :(

Но все же лучше чем ничего

Re: USB-осциллограф TNP Duo

blindman » 29 мар 2010, 12:46

Michael_K писал(а):Андрей, я конечно, не могу и не хочу настаивать...
Мои высказывания - это скорее "мысли вслух", чем "руководство к действию".

Продолжайте :) Замечания ценные. То что смогу - реализую


Rambler\'s Top100 Mail.ru counter