Alexeyslav писал(а):Симулятор не должен, это при необходимости вносится в схему эти паразитные элементы. Вручную. И это надо знать заранее, симулятор за тебя их не расставит.
Так в этом и состоит познание и цель самостоятельной разработки. Даже для любителя.
Понять КАК РАБОТАЕТ то, что сам нарисовал.
Alexeyslav писал(а):в новых вещах очень часто неожиданный обломчик выходит, если сразу начинаешь с рабочей платы.
Выходит. Если схема напаяна без всякого понимания процессов. А где как не в симуляторе можно эти процессы понять и ДЕТАЛЬНО РАССМОТРЕТЬ.
Как на макете измерить эпюры токов через затвор или разность токов между цепями? Как измерить на живой схеме мгновенную выделяемую мощность?
Что толку со схемы, если она немедленно сгорела, не научив ничему своего создателя?
Что толку со схемы, если совершенно не понимаешь ПРИЧИНЫ ее не работоспособности?
Alexeyslav писал(а):В протеусе такую ОС можно задать функционально будь то хоть ядерный реактор, лишь бы модель была известна.
Вы несколько непоследовательно переключились на ОПЫТНОГО пользователя.
Самое сложно в моделировании, таки да, СОЗДАТЬ АДЕКВАТНУЮ МОДЕЛЬ.
Но начинающий именно это делает плохо и именно это является его целью по сути. И чем "натуральнее" выглядит исходная модель, тем более скрыты от пользователя ОГРАНИЧЕНИЯ этой модели.
Протеус отличается не адекватностью моделей, а СКВОЗНЫМ МОДЕЛИРОВАНИЕМ, создающим ИЛЛЮЗИЮ адекватности.
Зачем моделировать работу семисегментного многоразрядного LED индикатора? Что, разве там куча сложных ОС? Разве из наблюдения за диаграммой не ясно какая будет на нем картинка?
Другая проблема.
А кто Вам сказал, что создание той самой модели сложной внешней ОС или сложного недетерминированного входного сигнала не есть НЕПРЕОДОЛИМАЯ для симуляции сложность. Проблема как раз и состоит в том, что начинающий любитель не осилит создание этой самой внешней модели, а более-менее опытный человек способен абстрагироваться в сечениях схемы и ему нет никакой необходимости вообще создавать единую схему тем более, что инструменты Протеуса никак не помогают выяснить адекватность модели, лишь СКРЫВАЯ эту адекватность.
Еще одно ограничение непреодолимо для любого реального симулятора. Объем потребной памяти для лога процесса и возможности инструментов симулятора СОРТИРОВАТЬ эти данные с целью ПОИСКА собственно цели отладки. Протеус в этом смысле даже ущербнее симуляторов сред разработки самих МК. Там хоть полная трассировка в логгер идет с нуля и до самого останова. Лишь бы хватило памяти операционной системы. Хотя разобраться с этим "добром" и там проблема.
Ну а об ограничениях на выбор моделей МК (включая выбор производителей), ограничениях на модели различных функциональных микросхем - я уже даже и не говорю. Зачастую по самому выбору комплектации видно любителя Протеуса...
Alexeyslav писал(а):Входные данные с АЦП можно вообще инжектировать без схемы.
Всё можно... но эти подходы годятся только чтобы отладить участки кода, а чтобы убедится что никаких неожиданностей не будет необходимо проверить в максимально рабочих условиях - со всеми реальными задержками на защелкивание в УВХ и временем преобразования АЦП и т.д. иногда это ох как критично.
Особенно на последнем этапе разработки.
Не бывает в симуляторе "максимально рабочих условий". Принципиально. Потому что самое сложное - искать ошибки в самой модели глобального алгоритма. И эти ошибки тупо кочуют в эти "максимально рабочие условия", исключая возможность их поиска.
Поэтому самым эффективным способом отладки является именно ЖЕЛЕЗНАЯ отладка с одновременным созданием ее ИНСТРУМЕНТОВ. Там где невозможны остановы или пошаговый режим дебага (сам непрерывный процесс исполнения кода при дебаге НИЧЕМ не отличается от обычной работы МК), там создают логи данных в ОЗУ, во флеше, в уарте, чтобы мониторить процесс. Создают метки на пинах в виде неких диаграмм.
Вот простой пример.
Сейчас я вместе с коллегой воюю с неким багом некоего устройства, который возникает по прошествии НЕСКОЛЬКИХ СУТОК (иногда и недели) после первого старта. Чего и как тут моделировать?
Мы даже не понимаем на каком уровне этот баг рожден. Причина сбоя (как результат) отлично известна (потеря части данных калибровки этого устройства в ЕЕПРОМе). Но в коде нет никаких участков записи в ЕЕПРОМ за исключением режима калибровки. А калибровка столь мудрена в инициализации, что предположить переход на нее из иных участков кода, минуя эту инициализацию, ну никак не поворачивается в голове.
Другой пример.
Было дело. Тот же ранее упоминавшийся деактиватор при его создании выжигал всю цепочку от выходной стойки IGBT, через драйвер и ключ-развязку до пина МК через примерно пару миллисекунд после начала процесса деактивации.
Сама непосредственная причина такой катастрофы была видна - рестарт МК, но ПРИЧИНА этого рестарта совершенно не очевидна. Выяснилось после сжигания четырех МК и восьми IGBT, не считая драйверов, что внешний защитный диод на входе компаратора МК был кремниевым и не обеспечивал своим падением защиту МК от защелкивания при протекании тока от отрицательного источника.
Протеус подобное не моделирует.
И вообще симуляторы не моделируют.
Но для поиска подобного не требуется симуляция и схема после практически не изменяется, что предполагает ВНАЧАЛЕ эту схему сделать, а потом найти в ней баг.