Дипломная (вкр): Проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рисунок 9 - Сигналы на входе и выходе аналогового компаратора

.3.10 Программирование устройств

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

Часто оборудования для программирования оказывается слишком дорогим, особенно для радиолюбителей и предприятий малого бизнеса. Но в некоторых случаях для программирования требуется весьма простое и доступное оборудование. К примеру, некоторые модели PIC и AVR микроконтроллеров программируются очень легко. Существует также устройства, которые не требуют оборудования для программирования, на пример, МК Basic STAMP, или имеют встроенный аппаратно-программный блок, избавляющий от необходимости использования внешнего оборудования, кроме источника повышенного напряжения для программирования, как МК 68НС05.

Очень важный аспект, касающийся программирования устройств, заключается в том, что может ли устройство быть запрограммировано в системе. Это называется внутрисистемное программирование (ВСП) - от английского In-System Programming (ISP). Если МК допускает возможность такого программирования, то это означает, что он может быть смонтирован на плату с пустой памятью программ, которая затем может быть запрограммирована без какого либо влияния на остальные компоненты схемы. Это может стать важным обстоятельством при выборе МК. Использование ВСП избавляет МК от необходимости покупать специальный программатор, дает возможность обновлять программное обеспечения без изменения расположенных на плате аппаратных средств и позволяет производителям создавать запас готовых изделий, которые могут легко модифицироваться в соответствии с поступающими заказами.

.4 Основные типы интерфейсов МК

.4.1 Подключение переключателей и подавление «звона» контактов

При замыкании и размыкании переключателей в цепи возникают импульсные помехи, вызванные дребезгом контактов. Эти помехи обычно называют «шумом» или «звоном». Такое явление часто возникает в системах на базах МК, где для ввода данных используется клавиатура, и «звон» может восприниматься как многократное нажатие клавиши (рисунок 10). «Звон» возникает при установке и разрыве контакта путем нажатия на клавишу.

а)                                  б)

Рисунок 10 - а) схема ключа; б) дребезг контактов

Чтобы устранить данный эффект, используются специальные схемы или программные методы для подавления «звона». Один из простых схемотехнических способов устранения «звона» состоит в подключении RC-цепи. В этой схеме время, требуемое для заряда разряда конденсатора до порогового напряжения, маскирует «звон» контактов при переключении. Можно также установить триггер Шмитта между схемой ключа и МК, чтобы усилить эффект подавления «звона». Недостатки этого метода - дополнительные затраты на компоненты, которые должны быть установлены на плате, и дополнительное время, требуемое для заряда/разряда RC-цепи. Все это может затруднить использование данной схемы, так как для некоторых ключей с большим уровнем шумов дополнительная задержка может составить десятые доли секунды. Значительно лучший способ избавиться от «звона» - сделать это программно. Если уровень напряжения на выходе ключа не изменяется в течение 20мс, то можно считать, что «звон» окончился, и больше изменения состояний не ожидается.

.4.2 Световая индикация

Очень часто вывод данных реализуются с помощью светодиодов LED (Light Emitting Diode), которые достаточно дешевы и легко подключаются к МК. Обычно для свечения светодиода требуется ток более 16 мА, что для большинства МК находится в диапазоне допустимых значений выходных токов. Следует помнить, что светодиод является диодом, пропуская ток только в одном направлении.

Типичная схема подключения светодиода к выводу МК показана на рисунке 11. В этой схеме светодиоды будут светиться, когда МК выдает сигнал «0» (низкое напряжение). Когда вывод работает в качестве входа данных или на него выводится «1», то светодиод будет выключен.

Резистор сопротивлением 220 Ом используется для ограничения тока, т.к. слишком большой ток может вывести из строя МК и светодиод. Некоторые МК содержат ограничители тока на выходных линиях, что устраняет потребность в ограничивающем резисторе. Но все же целесообразно, на всякий случай, включить этот резистор, чтобы гарантировать, что короткое замыкание на «землю» или напряжение питания Vcc, не выведет из строя МК:

Рисунок 11 - Подключение светодиода к микроконтроллеру

.4.3 Семисегментный индикатор

Вероятно, самый простой вывод числовых десятичных и шестнадцатеричных данных - это использование семи сегментного индикатора (ССИ). Такие индикаторы были очень популярны в 70х годах, но впоследствии их место заняли жидкокристаллические индикаторы (ЖКИ). Но светодиодные индикаторы до сих пор являются полезными приборами, которые могут быть включены в схему без больших усилий для создания программного обеспечения. Включая определенные светодиоды (зажигая сегменты), можно выводить десятичные числа (рисунок 12).

Каждый светодиод в индикаторе имеет свой буквенный идентификатор (A, B, C, D, E, F, G), и одна из ножек светодиода подключена к соответствующему внешнему выводу. Вторые ножки всех светодиодов соединены вместе и подключены к общему выводу. Этот общий вывод определяет тип индикатора: с общим катодом или с общим анодом.

Подключение индикатора к МК осуществляется весьма просто: обычно индикатор подключают как семь или восемь (если используется десятичная точка) независимых светодиодов. Наиболее важной частью работы при подключении к МК нескольких ССИ является назначения линий вводе вывода для каждого светодиода. Решение этой задачи в начале выполнения проекта упростит вам монтаж разводки и отладку устройств в дальнейшем. Типичный способ подключения нескольких индикаторов состоит в том, чтобы включить их параллельно и затем управлять протеканием тока через общие выводы отдельных индикаторов. Так как величина этого тока обычно превышает допустимое значение выходного тока МК, то для управления оком включается дополнительные транзисторы, которые выбирают, какой из индикаторов будет находиться в активном состоянии.

Рисунок 12 - Семи сегментный индикатор

На рисунке 13 показано подключение к МК четырех ССИ. В этой схеме МК выдает данные для индикации, последовательно переходя от одного индикатора к другому. Каждая цифра будет высвечиваться в течении очень короткого интервала времени. Это обычно выполняется с помощью подпрограммы обслуживания прерываний таймера. Чтобы избежать мерцания изображения, подпрограмма должна выполняться со скоростью, обеспечивающий включение индикатора, по крайней мере, 50 раз в секунду. Чем больше цифр, тем чаще должны следовать прерывания от таймера. Например, при использовании восьми ССИ цифры должны выводиться со скоростью 400 раз в секунду.

Рисунок 13 - Подключение к МК четырех ССИ


2. Среды для разработки устройства

.1 NI Multisim - интерактивный эмулятор схем


Программа Multisim, которая является удобным и ориентированным на конечного пользователя инструментом для проектирования и изучения различных электронных схем. Программа имеет достоинства:

наличие гибкой системы приборов, по внешнему виду и характеристикам приближенных к промышленным аналогам;

наличие обширной библиотеки электронных компонентов + большое количество дополнительных библиотек, что позволяющей собрать практически любую схему;

наличие простого и легко осваиваемого интерфейса и системы отката на несколько шагов назад или вперёд соответственно (Ctrl +Z), благодаря которым сборка и анализ исследуемой схемы могут происходить намного быстрее, что экономит время.

NI Multisim - это интерактивный эмулятор схем, который позволяет создавать схемы за минимальное время.

Благодаря NI Multisim описание схемы стало простым и понятным. Представление ввиде электронной таблицы позволяет одновременно изменять характеристики любого количества элементов.

Интерфейс пользователя состоит из нескольких основных элементов, которые представлены на рисунке 14 [10].

В NI Multisim есть специальные компоненты под названием "интерактивные элементы" их можно изменять во время эмуляции. К интерактивным элементам относятся переключатели, потенциометры, малейшие изменения элемента сразу отражаются в имитации.


Рисунок 14 - Среда NI Multisim


2.1.1 Обзор компонентов

Компоненты - это основа любой схемы, это все элементы, из которых она состоит. NI Multisim оперирует с двумя категориями компонентов: реальными (real) и виртуальными (virtual) (рисунок 15).

У реальных компонентов, в отличие от виртуальных есть определенное, неизменяемое значение и свое соответствие на печатной плате. Виртуальные компоненты нужны только для эмуляции, пользователь может назначить им произвольные параметры. Например, сопротивление виртуального резистора может быть произвольным, даже 3,86654 Ома. Виртуальные компоненты помогают разработчикам при проверке с помощью схем с известными значениями компонентов. В NI Multisim есть и другая классификация компонентов: аналоговые, цифровые, смешанные, анимированные, интерактивные, цифровые с мультивыбором, электромеханические и радиочастотные [11].

Рисунок 15 - Виртуальные и реальные компоненты

.1.2 Интерактивные компоненты

Некоторые элементы схемы NI Multisim могут реагировать на действия пользователя. Изменение этих элементов сразу отражается на результатах эмулирования. Компоненты управляются с помощью клавиш, указанных под каждым элементом.

Например, на рисунке 16 приведено несколько компонентов: клавиша А увеличит сопротивление потенциометра до 100% от указанной величины (1 кОм). Чтобы уменьшить сопротивление необходимо нажать Shift и А [11].

Рисунок 16 - Примеры интерактивных компонентов

2.1.3 Характеристики компонентов

Проводник компонентов (Component Browser) - это место, где выбираются компоненты, чтобы разместить их на схеме. Горячая клавиша по умолчанию для размещения компонента - Ctrl+W или двойной щелчок мышью. Курсор мыши примет форму компонента, пока вы не выберите место на схеме для компонента. В проводнике компонентов отображается текущая база данных, в которой хранятся отображаемые элементы.

В NI Multisim они организованы в группы (groups) и семейства (families). Также в проводнике отображается описание компонента, модель и печатная плата или производитель (рисунок 17) [11]:

Рисунок 17 - Проводник компонентов

.1.4 Генератор сигналов

Генератор сигналов (function generator) - это источник напряжения, который может генерировать синусоидальные, пилообразные и прямоугольные импульсы. Можно изменить форму сигнала, его частоту, амплитуду, коэффициент заполнения и постоянный сдвиг. Диапазон генератора достаточен, чтобы воспроизвести сигналы с частотами от несколько герц до аудио и радиочастотных.

У генератора сигналов есть три терминала - источника импульсов. Общий центральный терминал определяет положение нуля [12].

Рисунок 18 - Символ генератора сигналов

Рисунок 19 - Лицевая панель генератора сигналов.

.1.5 Осциллографы

В NI Multisim есть несколько модификаций осциллографов, которыми можно управлять как настоящими. Они позволяют устанавливать параметры временно развертки и напряжения, выбирать тип и уровень запуска измерений. В Multisim есть следующие осциллографы:2-х канальный и 4-х канальный [12].

Рисунок 20 - Символ осциллографа

2.2 Proteus - среда для проектирования и отладки

- среда для проектирования и отладки электронных устройств, в т.ч. выполненных на основе микроконтроллеров различных семейств. Предоставляет возможности ввода схемы в графическом редакторе, моделирования её работы и разработки печатной платы, включая трехмерную визуализацию её сборки. Уникальной чертой среды Proteus является возможность эффективного моделирования работы разнообразных микроконтроллеров (PIC, 8051, AVR, HC11, ARM7/LPC2000 и др.) и отладки микропрограммного обеспечения [13].

Среда PROTEUS имеет огромную библиотеку электронных компонентов, а недостающие - можно сделать самостоятельно. Предусмотрена поддержка SPICE-моделей, которые часто предоставляются производителями электронных компонентов [13].

В комплект профессиональной версии входят инструменты USBCONN для подключения моделируемой схемы к реальному USB порту компьютера и COMPIM для подключения к COM-порту ПК [13].

Среда PROTEUS совместима с популярными средами разработки микропрограммного обеспечения, в т.ч.:

CodeVisionAVR (только МК AVR)

IAR (любые МК)

- ICC (МК AVR, msp430, ARM7)

WinAVR (МК AVR)

Keil (МК 8051 и ARM)

- HiTECH (МК 8051 и PIC)

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

Программный пакет Proteus VSM позволяет собрать схему любого электронного устройства и симулировать его работу, выявляя ошибки, допущенные на стадии проектирования и трассировки. Программа состоит из двух модулей. ISIS - редактор электронных схем с последующей имитацией их работы. ARES - редактор печатных плат, оснащенный автотрассировщиком Electra, встроенным редактором библиотек и автоматической системой размещения компонентов на плате. Кроме этого ARES может создать трехмерную модель печатной платы.

Proteus VSM включает в себя более 6000 электронных компонентов со всеми справочными данными, а также демонстрационные ознакомительные проекты. Программа имеет инструменты USBCONN и COMPIM, которые позволяют подключить виртуальное устройство к портам USB и COM компьютера. При подсоединении к этим портам любого внешнего прибора виртуальная схема будет работать с ним, как если бы она существовала в реальности. Proteus VSM поддерживает следующие компиляторы: CodeVisionAVR и WinAVR (AVR), ICC (AVR, ARM7, Motorola), HiTECH (8051, PIC Microchip) и Keil (8051, ARM). Существует возможность экспорта моделей электронных компонентов из программы PSpice [13].

Источник: https://www.bibliofond.ru/detail.aspx?id=863615