Modern technology gives us many things.

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

82

Время на прочтение 3 мин Количество просмотров 8.3K Open source *CAD/CAM *Программирование микроконтроллеров *DIY или Сделай сам

В этой заметке я решил рассказать о SimulIDE https://simulide.com/ Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. SimulIDE кроссплатформенный и работает под Linux, Windows и Mac. Далее будут рассмотрены основные возможности этого симулятора и рассказано о моих личных впечатлениях от работы с данной программой.

Загрузка и установка

SimulIDE разрабатывается по модели с открытым исходным кодом, но доступны и бинарные пакеты для всех трёх поддерживаемых платформ. Сайт проекта доступен по данной ссылке: https://simulide.com/ Репозиторий с исходными кодами упрятан довольно глубоко: https://launchpad.net/simulide Бинарные пакеты для релиза и релиз-кандидатов можно найти здесь: https://launchpad.net/simulide/+download

Для Linux предлагается архив tar.gz, который содержит скомпилированную версию со всеми библиотеками. Нужно распаковать этот архив например в домашний каталог или в /opt и запустить бинарный файл simulide из командной строки или файлового менеджера.

Для Windows имеется portable версия в виде zip-архива, который нужно также распаковать и запустить файл simulide.exe

Краткий обзор возможностей программы

После запуска программы открывается главное окно, которое представляет собой редактор схемы. В комплекте с SimulIDE идёт большое количество примеров, которые находятся в каталоге examples в дистрибутиве программы. На скриншоте показана схема осциллографа на МК Atmega328p, в котором используется монохромный графический ЖКИ. Чтобы запустить симуляцию, нужно нажать на кнопку Power circuit на панели инструментов.

Читать на TechLife:  «Русский автомобиль»: «По всей вероятности, с Dongfeng у ВАЗа получилось так же, как с FAW. То есть, не получилось»

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

Главное окно SimulIDE с примером схемы

В отличие от например Qucs-S или проприетарного Ltspice моделирование в SimulIDE полностью интерактивное. Можно подключать виртуальные измерительные приборы как в Electronics Workbench или Proteus. В программе имеется внушительный набор аналоговых и цифровых компонентов, в том числе библиотека ИМС ТТЛ и КМОП логики. Самое главное, что поддерживаются различные 8-битные микроконтроллеры семейств Atmega, Attiny, PIC10, PIC12, PIC16 и 8051. Также поддерживается Arduino. Можно моделировать и схемы без микроконтроллеров. Движок моделирования используется упрощённый собственной разработки, а не SPICE. Модели транзисторов также используются сильно упрощённые для ключевого режима. Для моделирования каких-либо сложных аналоговых схем SimulIDE не годится. Моделирование в частотной области (анализ АЧХ) не поддерживается. У меня, например, не получилось запустить генератор на RC-цепи и двух инвертерах. Анимированный GIF ниже показывает моделирование переходного процесса в колебательном контуре.

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

Интерактивное моделирование колебательного контура

Пример: моделирование простой схемы на МК Atmega328p

Рассмотрим пошаговый пример, как смоделировать в SimulIDE схему на микроконтроллере. В качестве примера будем использовать моргалку светодиодом на МК Atmega328p. Светодиод подключается к выводу PB0. Исходный текст программы следующий.

#include <avr/io.h> #include <util/delay.h> #define LED_PIN PORTB0 int main (void) { DDRB |= (1<<DDB0); for(;;) { PORTB |= (1<<LED_PIN); _delay_ms(1000); PORTB &= ~(1<<LED_PIN); _delay_ms(1000); } }

Данную программу следует скомпилировать при помощи avr-gcc любым способом и получить HEX-файл. Теперь можно приступать к моделированию. Запускаем SimulIDE и на поле схемы размещаем МК, резистор 100 Ом и светодиод, которые берём с левой панели. МК находятся в группе Micro. Компоненты соединяем проводами. Редактирование схем в SimulIDE интуитивно понятно и с ним проблем возникнуть не должно. Получается следующая схема:

Читать на TechLife:  Ключевой навык успешной карьеры в ИТ или 8 заблуждений на проектах

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

Схема на МК Atmega328p

Теперь нужно указать для МК файл с прошивкой. Для этого щёлкаем правой кнопкой по компоненту и выбираем Load firmware. Затем выбираем HEX-файл. Теперь если в свойствах компонента (Properties) отображается прошивка:

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

Диалог свойств МК

Теперь можно запускать симуляцию. Для этого нажимаем кнопку Power circuit на панели инструментов, и светодиод начинает мигать. Результат показан на анимированном GIF ниже.

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

Моделирование схемы

Как видно, процесс моделирования чрезвычайно простой по сравнению с ранее упомянутыми Qucs-S и LTSpice. Но за простоту нужно платить тем, что не поддерживаются настоящие модели SPICE и отсутствует полноценное аналоговое моделирование.

Выводы и мои впечатления

На мой взгляд в настоящее время моделирование МК PIC и AVR, которое реализовано в SimulIDE, может иметь весьма ограниченное применение. Вот появилась бы эта программа лет на 15 пораньше, цены бы ей не было. Сейчас даже радиолюбители переползают на 32-битные МК. В своих самоделках я уже перешёл на 32-битные МК. AVR и PIC по-моему полностью устарели. В том, чтобы делать новые разработки на 8-битниках я особенных преимуществ не вижу. Так что для меня лично SimulIDE практически бесполезен. Но возможно тем, кто продолжает делать устройства на 8-битных МК, этот симулятор сможет упростить отладку. Ну и для использования в учебном процессе SimulIDE будет весьма полезен из-за простоты освоения и интерактивной симуляции.

Теги:

  • simulide
  • микроконтроллеры
  • радиолюбители

Хабы:

  • Open source
  • CAD/CAM
  • Программирование микроконтроллеров
  • DIY или Сделай сам

Источник

Каталог товаров с купонами и промокодами онлайн

Оставьте ответ

Ваш электронный адрес не будет опубликован.

©Купоно-Мания.ру