Измерения | Осц.-пр. к ПК версия 2 (упрощенная) |
|
---|---|---|
Протестировал программу под Windows XP и исправил несколько багов. И несколько мыслей относительно более "продвинутого" самопального цифрового осциллографа, как и обещал. FIFO, это конечно хорошо, но вроде как выходит слишком дорого по критерию у.е./КБ. Во всяком случае, подходящих дешевых микросхем FIFO я не нашел. Кроме того, в любом случае потребуется несколько цифровых микросхем низкой степени интеграции или ПЛИС. Судя по Возможно, вариант ПЛИС + обычное ОЗУ не так уж плох. Но, нужна грамотная прошивка и тщательный расчет (задержки распространения и т.д.), иначе не может быть и речи о частотах в десятки - сотни МГц* (в чем собственно и была беда с первым вариантом приставки - сложная конструкция с неудовлетворительными параметрами). Кратко относительно архитектуры такой приставки (одноканальный вариант). * АЦП должен иметь возможность перевода выходов в Z-состояние. Остается обеспечить адресацию ОЗУ во время чтения/записи, деление тактовой частоты с изменяемым коэффициентом (ДПКД), формирование такта для АЦП и сигнала WE для ОЗУ. Все это может быть реализовано в ПЛИС. Требования к ПЛИС небольшие, соответственно ее стоимость порядка 150..300р. Один из вариантов прошивки ПЛИС (эквивалентная схема): * Мультиплексор 2->1, управляемый МК, для коммутации двух тактовых входов. Один вход от микроконтроллера (используется при чтении выборки из ОЗУ), другой - от ВЧ генератора с частотой, равной макс. частоте дискретизации. Сигнал с этого мультиплексора идет на предварительный делитель. Это словесный портрет, надеюсь, не слишком запутанный. Вроде как все достаточно просто, но дьявол в деталях -- а точнее, в задержках распространения. Прошивку ПЛИС на Verilog, соответствующую вышесказанному, слепил и отмоделировал в Quartus II. Надо сказать, с Verilog HDL я знаком довольно поверхностно, т.е. мог сделать что-то не слишком оптимально и вообще напортачить. Но вроде как работать должно. Оценка максимальной частоты проводилась при помощи специально написанной программки, для исключения (по возможности) ошибок. Предельная частота зависит от параметров АЦП, ОЗУ и ПЛИС. Предварительно, можно сказать следующее: при использовании 10-наносекундного ОЗУ, АЦП AD9057BRS-80 и ПЛИС EPM7032-10 можно получить приблизительно 60МГц гарантировано (т.е. строго соблюдая указанные производителем параметры цикла записи ОЗУ). Обсуждение предложенного варианта и различных альтернатив категорически приветствуется : ) В принципе, все компоненты для проверки в "железе" у меня есть. Макет первого варианта приставки тоже остался, хотя его придется переделывать (и вряд ли оно будет работать без нормальной ПП, т.е. печатную плату надо делать тоже). М.б. к осени чего-то родится : ) Ниже представлены упомянутые наработки. |
|
|
Исходник прошивки ПЛИС на Verilog (разрядность адреса = 3 для удобства работы с симулятором). |
|
|
Результат симуляции с установкой выхода пред. делителя f/1, частота 50МГц. |
|
|
Результат симуляции с установкой выхода пред. делителя f/4, частота 50МГц/4. |
|
|
А почему в предпоследней диаграмме (для сигнала addr) там, где стоит значение 000 (или 111), идут две линии? |
|
|
addr в данном случае 3-х разрядный, число между двумя линиями - его текущее значение в двоичном коде. Сами линии никакой информации не несут, таково условное обозначение. То же самое относится к prescaler_ctrl (порт управления коэфф. деления, 2 разряда). Все остальные сигналы однобитовые, линии показывают их уровни. |
|
|
Судя по Обдумывал как раз потому, что не хотел (и не хочу) связываться с ПЛИС. Вот например CY7C429-10AC (4Кх9 50МГц) стоит 10 у.е. Вполне "компенсирует" отсутствие ПЛИС. Но работать с ней проще. Думал заказать ее, но менее трех штук никак не хотят продавать. А убивать 30 у.е. на эксперименты как-то не хочется. Так что сейчас подыскиваю что-нить подешевле/подоступней. З.Ы. Подобный FIFO от IDT стоит в 3 раза дороже... есть над чем подумать. |
|
|
Я имел в виду другое: нужно ли рисовать для addr две линии там, где все три канала принимают одно значение. |
|
|
Dron_Gus>Вот например CY7C429-10AC (4Кх9 50МГц) стоит 10 у.е. Вполне "компенсирует" отсутствие ПЛИС. Но работать с ней проще. Вот, я и говорю, ~2.5у.е./КБ у FIFO против ~0.1у.е./КБ у обычной SRAM. К стоимости SRAM надо добавить стоимость ПЛИС, это еще ~5..10у.е -- но все равно должно быть на порядок дешевле FIFO из расчета у.е./КБ при объеме ОЗУ >= 32КБ. Была мысль, что плохо искал - а нет, тоже примерно такие цены на FIFO попадались (смотрел в основном Cypress). C ПЛИС + ОЗУ мороки действительно намного больше на таких частотах : ( Нужен ли размер выборки больше 4..8К сэмплов -- я пока не решил (для себя). Andy>нужно ли рисовать для addr две линии там, где все три канала принимают одно значение. Это симулятор рисует (Quartus), ничего не поделаешь : ) Вообще вроде как стандарт. Там еще есть возможность вывести каждый бит адреса, но наблюдать неудобно будет. |
|
|
Ну для начала зачем больше 4 кило? На экране все равно все не влезет. Конечно если не деать экранную лупу. Но даже с 4 кило она будет 4х. З.Ы. я, как очень ленивый, продолжаю гнуть свою линию... в сторону упрощения (удорожания) |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |