Достаточно просто знать задержку от момента триггера до отсчета АЦП (она каждый раз разная) и уложить точки отсчетов на экране в соответсвии с этой задержкой. RIS применяется при рассмотрении формы повторяющегося сигнала, например фронт и выбросы клока измерить. Т.е экран 5-10 нс на клетку и одна точка на клетку при 100 мгц АЦП. Ждем 20-50 раз запуска развертки и имеем прорисованный сигнал. А в самом блоке время- код ничего сложного нет- заряд разряд конденсатор фиксированным током. Вот схема такого блока от лекроя 500 МГц с 5 пикосекундным разрешением. Заряд начинается по переброске аналогового компаратора триггера, а кончается по клоку АЦП. А потом конденсатор медленно разряжается и ПЛИС или таймер просчитывает число периодов колка, пока конденсатор разрядится. Кстати, в Риголах кажется просто подали напряжение на конденсаторе на 5 быстрый АЦП и тупо цифруют напряжение, до которого зарядился конденсатор.
ааа, понял !! гм.. с одной стороны просто, с другой - усложнение схемы !
но вообще конечно гениально просто... может быть попробовать конденсатор подключить к еще одному АЦП.. но блин это еще один АЦП... - причем он должен быть такого же быстродействия как и основной чтобы каждый клок определять смещение
либо хотя бы в 5-10 раз большая частота для компаратора сравнения ? или можно делать оценку сдвига не каждый клок а через 5-10 клоков ? (но тогда имхо падает частота дискретизации)
может быть попробовать конденсатор подключить к еще одному АЦП.. но блин это еще один АЦП... - причем он должен быть такого же быстродействия как и основной чтобы каждый клок определять смещение либо хотя бы в 5-10 раз большая частота для компаратора сравнения ? или можно делать оценку сдвига не каждый клок а через 5-10 клоков ? (но тогда имхо падает частота дискретизации)
Зачем такого же быстродействия? ВАП срабатывает один раз на запуск развертки. Т.е все 256- 1024- или больше точек идут с постоянным сдвигом по времени. Добротность кварца задающего генератора большая, и при числе точек менее 10000 в одном запуске развертки накоплением ошибки можно пренебречь. Поэтому внутренний АЦП STM32 вполне справится с этой задачей. Нужен только один генератор стабильного тока (или два, если измерять задержку будет не АЦП, а таймером микропроцессора), разрядный ключ, чтобы привести конденсатор в начальное состояние перед измерением, компаратор с дифференциальным выходом, чтобы перебросить коммутатор токов на дифференциальной паре биполярных СВЧ транзисторов. Возможно еще понадобится триггер, полностью дифференциальный по входу и выходу, с малым джиттером, но это зависит от того, какую точность по времени мы хотим обеспечить- если 20-50 пс достаточно, то можно применить обычную быструю логику, если хотим единицы пс- надо ЭСЛ логику или современную ПЭСЛ. ЗЫ. CPLD и FPGA применять нельзя- у них внутренний джиттер под 200-300 пс бывает и приходится раскладывать всю логику вручную и при перекомпиляции проекта вся времянка летит к черту- не наступайте на эти грабли.
слишком сложно для конструкции стремящейся к простоте да и боюсь что стоимость аналоговой части возрастет в трое...
нужно еще подумать что можно выжать из большого количества захватов... правда я уже многое перепробовал.. вы правы! не зная начальный сдвиг - тяжело делать какие либо предсказания...
Заголовок сообщения: Re: Осциллограф своими руками.
Добавлено: Сб мар 16, 2013 20:36:24
Прорезались зубы
Зарегистрирован: Сб сен 29, 2007 17:06:15 Сообщений: 225
Рейтинг сообщения:0
ВитГо писал(а):
но вообще конечно гениально просто... может быть попробовать конденсатор подключить к еще одному АЦП.. но блин это еще один АЦП... - причем он должен быть такого же быстродействия как и основной чтобы каждый клок определять смещение
достаточно медленного АЦП. Принцип - преобразование длительности импульса в заряд, то есть по окончаниии измеряемого импульса конденсатор прекращает заряжаться, и его напряжение можно спокойно измерить. А в это время "маршевый" АЦП набивает (вернее, добивает) буфер. Потом, когда есть буфер выборок и относительная длительность импульса (фаза синхрособытия относительно клока) - к этому буферу запоминается длительность, и процедура повторяется до тех пор, пока не накопятся буферы выборок для всех желаемых фаз.
я подумал, а может быть более простой способ будет с генератором с частотой в несколько раз превышающей частоту дискретизации...-назовем этот генератор опорным
соответсвенно счетчик сдвига сбрасываем в момент синхронизации по уровню - я так понимаю для этого нужен будет какой то быстрый компаратор... и далее считаем с частотой опортного генератора (например в 8 раз больше дискретизации) - счетчик увеличивает свое значение на 1 с каждым тактом этого опорного счетчика
и далее захватывая значение с ацп - одновременно читаем значение этого счетчика. и получаем пару чисел каждый захват: 1. значение счетчика опорной частоты, которое характеризует время которое прошло с момента начала синхронизации - например если частота опорного генератора в 8 раз больше частоты захвата - то нам по идее должно хватить 3х бит... (да в принципе можно и 4 бита использовать)
2. значение АЦП в этот момент (ну на самом деле конечно будет чуть не так, так как в АЦП конвейер и нужное нам значение будет только через 4 такта (нужно смотреть по даташиту на ацп) - но это в нашем случае не важно, просто программно учтем что то значение сдвига которое мы сейчас прочитали появиться на выходе ацп только спустя 4 тактов
итого запоминать нужно 11 (12) бит
я могу захватывать и записывать в память до 12 бит
как вам такой алгоритм ?
его плюс что мы будем знать каков сдвиг от начала синхронизации у каждого захвата АЦП
сложность будет с частотой опорной.. она должна быть хотя бы раза в 4-5 выше частоты дискретизации (тогда мы получим 4-5 точек на период за счет нескольких выборок)
ну и еще нужно разобраться как сделать сброс счетчика по прохождению уровня синхронизации
после программно сортируем выборки по увеличению значения счетчика сдвига - и получаем например 5-8 точек..
по моей схеме есть частота около 240 мгц.. я её поделю на 5 и получу частоту дикретизации (захвата) в 48 мгц частота 240 мгц - будет использована для отсчета сдвига
далее какой счетчик сможет работать с такой частотой ? кстати, я так понимаю это должен быть синхронный счетчик (коты мне помогут с выбором?) ну и самое интересное - схема сброса - тут я пока пас, нужно посмотреть что сможет работать чтобы генерировать лог.0 для сброса счетчика
такая схема теоретически сможет захватывать периодические импульсы с частотами приближающимися к 48 мгц, но конечно не совпадающие по частоте (но думаю что это будет не так часто)
если я плохо объяснил то могу нарисовать примерную схему моей идеи... (скажите если нужно, мне не тяжело)
Заголовок сообщения: Re: Осциллограф своими руками.
Добавлено: Сб мар 16, 2013 23:34:28
Прорезались зубы
Зарегистрирован: Сб сен 29, 2007 17:06:15 Сообщений: 225
Рейтинг сообщения:0
не лезьте так высоко по частоте, ничего хорошего не получится. Считайте максимальной тактовой частотой в системе (снаружи, то есть по плате) - частоту дискретизации. Тем более, что пятикратное повышение частоты дискретизации - маловато, при помощи преобразователя время-напряжение можно получить намного больше.
то что можно получить больше - понятно.. другое дело какие для этого будут затраты..
в предложенной же схеме - все очень просто.. и укрупненно построит входной периодический сигнал фактически с частотой дискретизации равной частоте опорного генератора (тот от которого тактируется счетчик)
какой из логических синхронных счетчиков сможет работать на 240 мгц ? 74AC193 только до 120 мгц вроде как..
Заголовок сообщения: Re: Осциллограф своими руками.
Добавлено: Вс мар 17, 2013 00:18:56
Прорезались зубы
Зарегистрирован: Сб сен 29, 2007 17:06:15 Сообщений: 225
Рейтинг сообщения:0
интерполятор на заряде емкости - проще. Повторяю принцип: нужно один раз на развертку измерить сдвиг между синхрой и клоком АЦП. Не нужно на каждую выборку мерять. Накапливается много разверток, каждая со своим известным сдвигом. И затем эти развертки совмещаются, накладываются. Получается итоговый массив, эквивалентный одной развертке с многократно бОльшей частотой дискретизации. Чтобы правильно совместить многочисленные развертки - и нужно знать задержку между событием синхронизации и клоком АЦП.
Заголовок сообщения: Re: Цифровой осциллограф своими руками.
Добавлено: Вс мар 17, 2013 12:52:41
Прорезались зубы
Зарегистрирован: Сб сен 29, 2007 17:06:15 Сообщений: 225
Рейтинг сообщения:0
стробоскоп - это мизерная часть сложностей осциллографа. Причем, добавить его можно потом, когда будут реализован минимальный функционал осциллографа. Намного сложнее добиться правильной работы на низких (вернее, любых) частотах. Грубо говоря, намолотить выборок в буфер - любой дурак может. Сложно - их потом обработать и в картинку, и в измерения, и в спектр. Интерполятор схемно - примитив, в сущности, на ваших мегагерцах. Нужен быстрый RS-триггер, который по импульсу синхронизации включит заряд конденсатора, по ближайшему клоку АЦП - выключит. Затем АЦП меряет напряжение, и (уже чем попало, не срочно) надо сбросить напряжение на конденсаторе, подготавливая его к следующему циклу. Дальше - программные штучки, типа статистической калибровки интерполятора (чтобы не зависеть от емкости, тока, и прочих аналоговых паразитов).
Заголовок сообщения: Re: Цифровой осциллограф своими руками.
Добавлено: Вс мар 17, 2013 13:02:34
Прорезались зубы
Зарегистрирован: Сб сен 29, 2007 17:06:15 Сообщений: 225
Рейтинг сообщения:0
ВитГо писал(а):
ну 240 мгц это просто частота генерации.. не входной анализируемый сигнал... поэтому я надеюсь что развести цифру все таки не так сложно....
входной сигнал - он аналоговый. Он на этих 240МГц - уже кончается, условно говоря, своим спектром. Всё, что с ним может случиться - это завал или звон. Оно корректируется, допуски широкие (30%). А вот цифра на 240МГц - это спектр до гигагерц, это гонки фронтов, это глюки или полная неработоспособность при ошибках в дизайне.
еще раз повторю: это не программа для ПК !! это как бы эскиз корпуса осциллографа с кнопочками и экраном.. просто для того чтобы оценить - удобно пользоваться таким способом настройки или нет
интерфейс "а-ля банкомат"
предполагается что экран не сенсорный, поэтому нажимаем кнопки напротив надписей на экране..
понятное дело что в железе будет автоповтор нажатий на кнопки (здесь просто не стал заморачиваться на это)
ну и само собой на картинки на кнопках не смотрим, это я просто их обозначил чтобы они не были прозрачными в окне программы - в реале они будут большими тактовыми кнопками 6х6х7 мм
экран 320х240 3,2 дюйма
что скажите: насколько таким осциллографом будет удобно пользоваться ? что куда передвинуть или наоборот добавить (убрать) ?
p.s. в программе работают: - кнопки в основном экране (выбор масштаба, времени развертки, делителя, масштаба делителя) - кнопки управления маркерами (правда вывод разницы маркеров не делал, только отображение самих маркеров)
остальное бутафорское - открывает верхний уровень меню и все...
Вообще, если по стробоскопической части - можно просто скопировать кусок схемы из В9-5 или с7-17(я4с-88), или чего-то подобного. Сам долго мучился да и купил в9-5, сразу стало ясно откуда брались некоторые грабли, в нём их решили, теперь в9-5 можно и гиг посмотреть и полтора... Только нормально откалиброваться времени не хватает. Вышеуказанные девайсы сейчас недороги, там мало чего есть(особенно в с7-17). Рыжья там почти нет, микрухи 155 серия. А для индикатора нужен лишь показометр(хоть из телевизора, хоть из звуковухи....). Рекомендую как хорошие детские(и не очень) конструкторы!!! Схемы их вроде кто-то на qrz выкладывал.
_________________ Самая страшная ложь - это прагматичная, грубая аппроксимация с опущенными подробностями, повсеместно внедряемая, исповедуемая и выдаваемая за абсолютную безапелляционную истину!
Заголовок сообщения: Re: Цифровой осциллограф своими руками.
Добавлено: Пт июн 14, 2013 13:08:31
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19733 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Тоже хотел себе сделать, но в качестве цифровой приставки к аналоговому осциллографу.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения