Обучение

Тимофей Носов (лекция 30 минут)     3 сентября 2010 г.

Моделирование работы микроконтроллеров в Proteus или как зашить ПИК в Протеусе

Proteus – многофункциональная программа. Одна из функций – моделирование работы микроконтроллеров с непосредственным взаимодействием (управлением) во время работы. Кратко рассмотрим механизм моделирования. Выбираются необходимые элементы и устройства из библиотек, указываются электрические связи, указывается прошивка и запускается симуляция в реальном времени. И всё. Не нужно собирать макетных плат и опытных образцов. Значительную часть отладки можно сделать в Протеусе. Экономится колоссальное количество времени (и деталей).

 

Где скачать и как установить – всё это здесь. Приступаем к ознакомлению с программой. У меня стоит версия ISIS 7 Professiona 7.6 SP4.

Запускаем. Идём в библиотеку элементов (нажимаем выделенное красным).
 


 

Открывается новое окно с категориями элементов
 


 

Можно найти нужные элементы перебором в категориях, но проще по названиям.
 


 

Дважды щелкаем по обнаруженному элементу. Этот элемент добавляется к списку выбранных элементов.
 


 

Даже этого одного элемента достаточно чтобы уже оценить элементарные проекты. Но мы сейчас наберем немного других элементов, чтобы не возвращаться к этому вопросу.
 


 

В данном случае я набрал всякой ерунды для примера (вы их тоже найдите и посмотрите). Множество из компонентов анимированы, т.е. их можно покрутить и повертеть во время симуляции и посмотреть на реакцию приборов и индикаторов. Собственно это и привлекает в работе симулятора.

 

Теперь научимся делать электрические связи.
 


 

1. Цмыкаем компонент в нашем списке (выделить).

2. Цмыкаем в поле редактора (вставить).

3. Цмыкаем в поле редактора повторно (фиксация).

Колесом мыши увеличиваем-уменьшаем зум (масштаб).

Кинем в редактор еще что-нибудь, например, индикатор.
 


 

Компоненты можно перемещать и вращать. Для этого цмыкаем по компоненту правой кнопкой мыши и выбираем нужное действие.
 


 

В данном случае я повернул к лесу задом, а к себе передом. Таким образом, располагаем компоненты более удобно относительно друг друга.

 

Как сделать электрические соединения? Я использую 3 вида соединений: напрямую, через шину, через указатели. Напрямую, т.е. вывод с выводом объединяется электрической линией.
 


 

Наводим указатель мыши на вывод до появления выделения, цмыкаем, затем ведем линию к другому выводу до появления выделения, снова цмыкаем. Ок, соединение сделано. Если соединение не нужно, то цмыкаем по соединению правой кнопкой мыши.

 

Если нужно несколько выводов объединить, то тянем линию до предполагаемой точки объединения и двойным цмыком соединяем – образуется точка.
 

 

Соединений может быть очень много, особенно в цифровой технике. Соединения линиями настолько путаны и в результате захламляют схему. Можно использовать соединение в шину.
 


 

Выбираем на панели шину.
 


 

Одинарным цмыком указываем начало шины. Тянем шину, одинарным цмыком указываем повороты, двойным цмыком указываем конец шины.

 

Шина может разветвленной.
 


 

Далее вывода компонентов соединяем с шиной. Наводим указатель мыши на вывод компонента до появления выделения, цмыкаем, тянем до шины линию до появления выделения, снова цмыкаем для фиксации линии.
 


 

Для того, чтобы программа понимала что с чем соединяется в шине, мы должны именовать линии.
 


 

Цмыкаем на линию правой кнопкой мыши и выбираем в меню Place Wire Label.
 


 

В открывшемся окне либо выбираем имеющиеся именования, либо вручную дописываем новое + Ок. Я именую линии именами выводов микроконтроллера (и вам рекомендую). В результате рядом с линией появляется именование, которое однозначно указывает её соединение в шине. Несколько выводов может быть объединено между собой; для этого вы присваиваете линиям одни и те же имена.

 

Однако, иногда более удобно использовать указатели (терминалы).
 


 

Цмыкаем как на рисунке выше. Затем кидаем терминал в поле редактора, крутим и объединяем.
 


 

Теперь нам надо именовать терминал. Дважды цмыкаем по терминалу. В открывшемся окне либо выбираем имеющиеся именования, либо вручную дописываем новое + Ок (аналогичное окно из примера выше).
 


 

В результате получаем нечто похожее на это
 


 

Понятное дело, что в данном случае можно было по-простому объединить прямыми линиями. Но мне этот вариант больше нравится, т.к. сразу видно какая линия к какому выводу микроконтроллера идёт.
 

 

Будем считать, что объединили. Дальше нам надо указать используемую прошивку. Дважды цмыкаем по микроконтроллеру. Открывается следующее окно.

  


 

Сразу указываем нужную частоту. Затем цмыкаем на обзор и в стандартном окне диалога находим прошивку (*.hex файл). Нажимаем Ок.

 

Важный момент! Линии питания у микроконтроллера явно не указаны. По-умолчанию микроконтроллер уже запитан. По умолчанию микроконтроллер уже  тактируется, т.е. кварц не нужен. И это радует. Также радует, что микроконтроллеров (и соответствующих прошивок) может быть несколько в одном проекте Протеуса.

 

Всё готово. Обязательно сохраняемся, т.к. в сложных проектах симуляция может не запуститься без сохранения.
 

 

Как запустить симуляцию? Да всё просто. Как в проигрывателе (или выигрывателе) цмыкаем эти кнопки.
 

 

Видим сообщения; для просмотра цмыкните по ним.

Также видим загрузку процессора вашего ПК. Бывает, что не хватает сил ПК и процент загрузки по максимуму. Иногда это может привести к зависанию симуляции. Как лечить? Закрываем все посторонние программы (проигрыватели, антивирусы, другие окна) и заново запускаем. Симуляция довольно тяжелый процесс для ПК.

 

Что еще полезного есть?

 


Источник напряжения.

Нажимаем 1-2.

Двойным цмыком на 3.

Открывается новое окно.

Выбираем 4.

Ставим нужное напряжение 5.

 


Виртуальные измерительные приборы.

Кратко прокомментирую те, которые реально полезны для меня.

Осциллоскоп 4х канальный – можно отслеживать последовательность, длительность и уровни цифровых сигналов.

Виртуальный терминал – обмен данными с микроконтроллером по UART (виртуальный COM-порт и терминал).
I2C дебагер – анализ пакетов данных.

Сигнал генератор – периодически нужен (не забудьте его "минус" соединить с общим проводом  Vss).

Разные вольтметры – ну это понятно.

 

Разумеется, в библиотеках можно обнаружить кучу компонентов – как аналоговых, так и цифровых. Очень много PIC-микроконтроллеров разных семейств. Дополнительные настройки компонента вызываются двойным цмыком.


Уверен, что со временем вы сделаете массу открытий в Протеусе. 

 

Файлы:

Проект Протеуса с прошивкой

Софт
Proteus VSM: дистрибутивы, лекарства, руссификаторы


Назад

Просмотров: 95644

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.