«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Да дочитал тред до конца впечетляет... Но ближе как говорится к делу. Вот мои мысли. Блок схема по модельно 1 Аналоговый управляемый усилитель: Основная функция обеспечение входного сигнала для АЦП в соответствии с разрешённым входным диапазоном. Так же может осуществлять подавления постоянной составляющей. Коэффициент усиления управляется с микроконтроллера. Также может иметь функции тестирования (установки нуля). В системе имеется два аналогичных усилителя X и Y. 2 ЦАП Основная функция очень проста дать цифровое представлении — выборку в соответствии с частотой определяемой управляемым генератор. Требуется только определить режим работы (мгновенное значение или среднее) при частотах значительно меньше чем максимальная частота выборки ЦАП. В системе имеется два аналогичных ЦАП X и Y. 3 Память + мультиплексор адреса + счётчики (указатели) записи\чтения Данные блоки необходим рассматривать совместно. Т.к. Двухадресное ОЗУ довольно дефицитная и дорогая вещь, особенно при больших объёмах. То есть резон реализовать двухадресное ОЗУ как набор дискретных элементов. Более подробно работа будет разобрана далее. В системе имеется два набора аналогичных модулей. 4 Управляемые генераторы Основная задача генерация набора частот для тактирования выборок АЦП и тактирования счётчика (указателя) кэш ОЗУ на запись. Частоты задаются с микроконтроллера. Набор часто может быть предопределённым. 5 Схема сравнения выборок Ключевая схема осциллографа определяющая совместно с микроконтроллером режим работы осциллографа. Рассмотрение функций будет показываться для каждого режима работы. Процедуры установки режимов работы аналоговой части не рассматриваются! 5.1 Режим асинхронной записи по каналам. В данном режиме микроконтроллер задаёт частоту выборок для каждого канала. И стартует начало записи в ОЗУ. Считчики сбрасываются в ноль и при каждом такте производят приращение своего значения что увеличивает указатель записи. По наступлению переполнения адреса для микроконтроллера генерируется прерывание и прекращается запись в ОЗУ. Микроконтроллер производит считывание данных из ОЗУ для анализа или отображения. После чтения микроконтроллер асинхронно повторяет запуск выборки снова. С точки зрения ПО это самый ресурсоёмкий режим т.к. весь анализ делается за счёт ПО. И данный режим позволяет проводить развёртку X-Y. 5.2 Режим синхронизации по уровню канала Y В данном режиме микроконтроллер записывает в схему сравнения выборок некоторое значение выборки и режим сравнения (стало равно, стало меньше, стало больше). Задаёт частоту выборок через управляемый генератор. Каждая выборка из АЦП попадает на схему сравнения и сравнивается со значением в ней (рассмотрим вариант «стало меньше»). Т.е. Предыдущая выборка больше текущей и текущая выборка меньше или равна значению для сравнения (т.е. в терминах аналогового осциллографа синхронизация по спаду ). При наступлении данного события разрешается работа счётчика (указателя) записи. Важно, что пока не наступит переполнение адреса и чтение микроконтроллером повторно запуск записи в ОЗУ не происходит. 5.3 Режим синхронизации по уровню канала X Режим аналогичен синхронизации по уровню канала Y но данные берутся не с ЦАП канала X Возможные проблем если в схеме сравнения прописаны не достижимые данные или не правильный режим синхронизации то микроконтроллер не получит прерывания что данные готовы. Поэтому может рекомендоваться сперва провести выборку по режиму 5.1 и на основе его наложить ограничения на режимы синхронизации. Режим «стало равно» можно использовать для построения управляемого цифрового регистратора, когда вместо АЦП используются данные с цифровой схемы а в схеме сравнения прописано условие начала записи . Данная схема позволит использовать не очень мощные микроконтроллеры как для передачи данных на ПК так и для отображения их на локальном мониторе. Так же для более оптимальной работы на малых частотах выборок можно усложнить схему что бы прерывание об окончании записи производить не по физическому переполнению адреса, а раньше. Т.к. для примера если будем писать 1К выборок то при частотах до 10 Кгц это будет здорово мерцать (будет видно перерисовку). Но самый главный вопрос об организации двухадресного кэш-ОЗУ
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Двигаем дальше. Производим декомпозицию нашей блок схемы на модули. Сразу необходимо отметить что данная декомпозиция не является окончательно она может измениться при выявлении новых или изменения старых требований. (См. красные линии) 1 Аналоговая часть (более подробно) Её функция получить аналоговый сигнал и отдать его выборку в цифровую часть. Её блочная схема видится следующим образом (См. Analog module.pdf) Думаю что в основном все ясно. Вопрос в том что речь в этом треде шла про осциллограф размеров с сотовый пока не рассмтривается. Вопрос сжатия схем будет происходит на следующем этапе. Ряд замечаний и уточнений. 1 Если мы будем делать такой модуль то можем получить очень универсальную схему когда аналоговая часть в зависимости от возможностей и желаний конструктора будет иметь разную реализацию. Через I2C можно будет передать всю конфигурацию и параметры модуля. 2 Про внешние органы управления. Я думаю что ни кто не будет спорить что повернуть ручку входного делителя (аттенюатора) на порядок удобней чем лазить по меню и выбирать чувствительность. Аналогично подавление постоянной составляющей (кнопка она и в африке кнопка а не пункт меню) 3 Преобразователь напряжения лучше иметь свой на каждый канал 4 Есть возможность создания модуля только для Data record
Риски и сложности реализации 1 Т.к. Модуль может тактироваться высоким частотами для задания частоты выборки может потребоваться контроль разводки CLK. 2 Вытекающая проблема из пункта выше? модуль будет отдавать на такой же частоте выборки опять же могут возникнуть сложности с синхронизацией.
Предположения 1 Если обратиться к общей блок схеме то можно сделать предположение что управляемый генератор выборок необходимо будет перенести в данный модуль, особенно если это будет какой то одночиповый и управляемый по I2C. 2 Вполне возможно что придётся так же переносить и модуль сравнения выборок. Правда в этом случаи это уже будет совсем не аналоговый модуль а границу придётся проводит перед АЦП.
Добавлено спустя 29 минут 32 секунды: Тему можно закрывать Берем всю часть из этой схемы http://radiokot.ru/konkurs/36/ Меняем контроллер на более можный + LCD и вперед под танки.
Я тут человек новый, но мне показалось по этому треду, как тут бились из производительности микронтроллера, похоже все хотя сделать за счет ПО. Хотя сам для себя я пилить тему буду по любому.
Я тут уже давно говорил: выберите АЦП, память и контроллер - сделаю на ПЛИС всю автоматику по записи-чтению выборок из памяти. Так все никак с мертвой точки не сдвинется...
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
а вот интересно, хоть один "общественный" проэкт осциллографа был доведен до конца? в лучшем случае останавливались на полпути а в большинстве все заканчивается разговорами... и тут уже 25 страниц накрапали, "а воз и ныне там"