Как смоделировать Arduino?
QUCS-это единственное программное обеспечение с открытым исходным кодом, которое предлагает моделирование (и проектирование компоновки печатных плат [в будущем]) электрических цепей. Но проблема с QUCS заключается в том, что он находится в стадии разработки, и многие важные функции еще не доступны в нем.
Я хочу смоделировать плату Arduino Uno в ней для моей схемы. Кто-нибудь знает, как имитировать Arduino или любой другой микроконтроллер в нем?
P.S. Также любое другое программное обеспечение с открытым исходным кодом для моделирования и проектирования печатных плат?
@user263210, 👍1
Обсуждение6 ответов
Лучший ответ:
Моделирование программы микроконтроллера является обычным делом, но не как часть схемы, если только вы не занимаетесь системами на микросхемах.
Смоделируйте микроинтерфейсы и смоделируйте периферийные устройства отдельно
Аналоговые системы не могут быть точно смоделированы только с помощью ручных вычислений, поэтому моделирование часто является необходимым шагом (кроме того, реальные схемы могут вести себя иначе, чем модель). Непрограммируемые цифровые системы детерминированы в своем поведении, но только в том случае, если интерфейсы являются правильными - жесткие спецификации импедансов и такие часто означают, что здесь также требуется моделирование. Вообще говоря, для обоих моделирование становится обязательным, когда система не является абсолютно простой. Микроконтроллеры, с другой стороны, достаточно детерминированы, чтобы не требовать никакого моделирования: они делают то, что им говорят, за исключением очень, очень редких случаев (например, одно событие, вызванное излучением). Теперь то, что им говорят, может привести к сбоям, но это уже другая история*. Поэтому обычно аналоговые или цифровые схемы вокруг микроконтроллера получают эквивалентные интерфейсы, основанные на поведении и физических характеристиках микроконтроллера, и моделируются отдельно.
*: По мере того как код становится все более и более сложным, становится все труднее и труднее следить за тем, что может делать микроконтроллер. Неожиданные сбои могут возникнуть, например,из-за параллельного доступа (хотя я не могу сказать, что это распространено в микропространстве) или недостаточных ресурсов (именно поэтому динамическое выделение [malloc, new] крайне не рекомендуется, поэтому распределение ресурсов известно во время компиляции) и т. Д. Обычно именно поэтому требуются тесты, и пошаговая отладка используется как средство обнаружения любой возникшей ошибки. Но по своей сути микроконтроллеры очень предсказуемы, и, за исключением определенных случаев, не стоит проходить моделирование (не путайте моделирование и тесты, тесты всегда требуются!).
Преимущества микроконтроллерных тренажеров
Однако симуляторы микроконтроллеров существуют. Они особенно полезны для наблюдения за тем, что происходит внутри микроконтроллера, когда код выполняется шаг за шагом: стек вызовов, наблюдение за переменными, векторы прерываний и т.д. Это также можно сделать на реальном оборудовании, используемом в отладчиках схем, но симуляторы дешевле, а также позволяют сэкономить на циклах стирания/записи EEPROM и избежать повреждения вашего микроконтроллера, если вы опасаетесь, что окружающие его устройства могут быть неправильно настроены (некоторые контроллеры очень дороги, особенно если они подходят для медицинских, военных или аэрокосмических применений). Я видел такие ICD и симуляторы для изображений микрочипов (MPLABX), но должны быть эквиваленты для AVR (микро, который находится на Arduino) или, возможно, даже интегрирован в среду, удобную для arduino (хотя я в этом сомневаюсь). Возможно, вы захотите взглянуть сюда.
Если у вас глубокие карманы: имитаторы смешанных сигналов
Наконец, существуют симуляторы смешанных сигналов, которые позволяют моделировать аналоговые, программируемые и непрограммируемые цифровые схемы одинаково; один компонент будет иметь аналоговую модель SPICE, другой-модель VHDL, а блоки АЦП/ЦАП будут автоматически добавлены симулятором между этими устройствами в зависимости от указанной вами технологии логического ввода/вывода. Они чрезвычайно дороги (тот, который я использовал, - Cadence Virtuoso), вы не захотите этого делать, если только вы не создаете интегральную схему или что-то критическое.
P. S: В печатной плате DesignSpark v3 есть LTspice. Хотя я никогда не пробовал эту функцию, я использовал LTspice напрямую.
Обратите внимание, что ваше открытие "QUCS-единственное программное обеспечение с открытым исходным кодом [...]" неверно. Существует множество симуляторов с открытым исходным кодом. Я согласен, что QUCS очень удобный для пользователя.
Проголосовали против открытия вашего ответа, обвинив пользователя в том, что он ничего не знает., @Nick Johnson
Тогда все справедливо. Я не уверен, что согласен с тем, что "С другой стороны, микроконтроллеры достаточно детерминированы, чтобы не требовать какого - либо моделирования", хотя программы детерминированы, но мы все равно их тестируем., @Nick Johnson
Тогда получает от меня +1. :), @Nick Johnson
Вы можете использовать 123d.circuits.io для моделирования и проектирования печатных плат для схем Arduino.
Посмотрите на это, например.
В более общем плане в предыдущем ответе говорится, что схемы на основе микроконтроллеров не моделируются. Возможно, это верно, когда затраты на прототипирование невелики (хотя я в этом сомневаюсь), но в SoC или сложной встроенной системе микроконтроллеры, безусловно, моделируются как часть общей системы.
Иногда в качестве модели высокого уровня, такой как символьный симулятор, или иногда как часть общей среды моделирования смешанных сигналов, в которой цифровая часть обычно моделируется на уровне RT.
Смотрите мой блог, в котором будут объяснены все шаги по адресу http://tutorial4you.weebly.com/blog/arduino-simulation-on-proteus
Чтобы добавить в список ответов на симуляторы, попробуйте Micro-Cap 12. Первоначально это было несколько тысяч долларов, но сейчас компания прекратила свою деятельность и предоставила их бесплатно. Довольно круто.
Как смоделировать Arduino? Что такое лучший симулятор Arduino?
Ниже приведены основные функции симулятора wokwi arduino simulator
Это бесплатно :)
• Поддержка нескольких файловых проектов
• Поддержка большинства известных библиотек Arduino
• Все что компилируется в Arduino IDE будет компилироваться на симуляторе
• Поддерживается всеми браузерами
• Компилируется с новейшей Arduino IDE
• Поддержка FastLED и многих других периферийных устройств
• Загрузка или установка не требуется
• Легко поделиться кодом и проектом всего одним щелчком мыши.
• Поддерживается Автозаполнение смарт - кода, автоматическое форматирование кода
• Предоставляет демонстрационные примеры стандартной библиотеки
• Проект также может быть скомпилирован при запуске в мобильных браузерах
• Пытается быть ближе к реальным схемам – Пример – Отскок кнопки, как в реальном оборудовании
• Поддержка Arduino Mega, Arduino Nano, Arduino UNO, ATtiny85
• Поддержка выполнения инструкций по сборке
• Обеспечивает питание светодиодов и функции FPS для проектов FastLED
• Поддержка множества периферийных устройств Arduino для проекта – ультразвуковых датчиков, скользящих переключателей, неопиксельной матрицы, потенциометра, серводвигателей, OLED-дисплеев SSD1306, датчиков температуры и влажности, поворотного номеронабирателя, мембранной клавиатуры и многого другого
• Также поддерживается последовательный монитор.
Веб-сайт: https://wokwi.com
Вот несколько примеров
попробуйте это : simulIDE
google : simulIDE для изображения arduino
поддерживает также : pic tiny atr arduino ..
наслаждайтесь!
- Моделирование Arduino Mega 2560 с GSM модулем с использованием Proteus
- Есть ли симулятор Arduino или эмулятор, который работает на OS X?
- Переключатель TinkerCAD, кажется, не работает (всегда закрыт)
- Tinkercad arduino simulator целые числа выводятся как большие числа, чем они есть?
- Почему светодиод всегда горит в proteus?
- Arduino Uno - Аналоговый симулятор схем
- Сервопривод начинает трястись, когда я добавляю SIM900.begin(19200);
- Как я могу использовать методы в digitalWrite(): digitalWrite(int, "methodHere")?
[Oshonsoft](http://www.oshonsoft.com/avr.html) есть отличный *AVR симулятор*. Вам будет трудно найти симулятор Arduino **board** с открытым исходным кодом - тем более что плата представляет собой не что иное, как кристалл, источник питания и удобные разъемы. Отсюда необходимость в чем - то, что имитирует микроконтроллер в ядре конкретной платы. Симулятор Oshonsoft имеет почти все необходимое для тестирования кода и включает в себя полный список всех регистров и их значений, просматриваемых инструкция за инструкцией. Это не бесплатно, но (на мой взгляд) лучшее, что вы можете получить за свои деньги., @CharlieHanson
Я думаю [Labcenter Proteus](https://www.labcenter.com/) является лучшим вариантом для имитации Arduino с различными цифровыми и аналоговыми кругами до сих пор..., @Brethlosze
Меня смущает этот (неправильный) ответ, который не исправлен. KiCad - это зрелая EDA с открытым исходным кодом, с circuit simulator (SPICE) и довольно приличной библиотекой компонентов-так что вы не ограничены пассивными схемами., @hardyVeles