АЛУ подключено непосредственно к регистрам общего назначения;
большинство команд выполняется за один машинный цикл;
многоуровневая система прерываний; поддержка очереди прерываний;
от 3 до 16 источников прерываний (из них до 2 внешних);
наличие программного стека.
Характеристики подсистемы ввода/вывода:
программное конфигурирование и выбор портов ввода/вывода;
каждый вывод может быть запрограммирован как входной или как выходной независимо от других;
входные буферы с триггером Шмита на всех выводах;
возможность подключения ко всем входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35…120 кОм);
нагрузочная способность всех выводов составляет до 20 мА, что позволяет непосредственно управлять светодиодными индикаторами.
Периферийные устройства:
Микроконтроллеры семейства Classic обладают достаточно развитой периферией. Набор периферийных устройств, имеющихся в составе того или иного микроконтроллера, зависит от конкретной модели. Перечислим все периферийные устройства, так или иначе встречающиеся в микроконтроллерах семейства:
8-разрядный таймер/счетчик с предделителем (таймер Т0);
16-разрядный таймер/счетчик с предделителем (таймер Т1);
8-разрядный таймер/счетчик с возможностью работы в асинхронном режиме (таймер Т2);
сторожевой таймер (WDT)
одно- или двухканальный 8… 10-разрядный генератор сигнала с широтно-импульсной модуляцией (ШИМ);
одноканальный 8-разрядный генератор сигнала с ШИМ;
аналоговый компаратор;
10-разрядный АЦП (6 или 8 каналов);
полнодуплексный универсальный асинхронный приемопередатчик
последовательный синхронный интерфейс SPI.
Архитектура ядра
Ядро является «сердцем» микроконтроллеров AVR.
Оно выполнено по усовершенствованной RISC (enhanced RISC) архитектуре, в
которой используется ряд решений, направленных на повышение быстродействия
микроконтроллеров. Схематическое упрощенное изображение ядра показано на
рисунке 2.5. [6]
Рисунок. 2.5 - Архитектура ядра
микроконтроллеров AVR
Далее рассмотрим особенности микроконтроллеров PIC которая производит фирма MicrochipTechnology.Эта фирма представляет нам серию микроконтроллеров PIC16ХXX,
это 8-pазpядные микроконтроллеры с сокращенным набором команд (RISK), имеют двухшинную Гарвардскую архитектуру,
за счет чего имеют большую скорость выполнения инструкций (команд), которых у них всего 35. Одна команда выполняется за
такта (кроме условных команд перехода, они за 8),
тактовой частоты, то есть, при частоте тактирования 1 МГц, скорость выполнения одной команды 4 мкс. Также существует специальная серия, предназначенная для применения в готовых изделиях, которые полностью готовы к работе. Они предназначены для однократного программирования, выпускаются в более дешевом пластиковом корпусе. Это позволяет несколько уменьшить цену. [4]
Достоинства:
Увеличивает число внутренних соединений между периферией и портами ввода-вывода
Добавляет аппаратные функции и сохраняет место на печатной плате
Программное управление комбинационной и последовательной логики - эффективное создание программируемых логических элементов
Программно-управляемые логические функции уменьшают размер кода и не требуют процессорного времени.
Примеры использования:
Модуляция данных;
Последовательная выдача питания;
Декодеры Манчестер/IrDA;
Импульсные источники питания;
Логика общего назначения;
умные системы управления;
Пример: повышающий регулятор с аналоговой
обратной связью представлен на рисунке 2.6.
Рисунок 2.6 - регулятор с обратной связью
Данное семейство микроконтроллеров используется в основном для периферийных устройств. [7]
Завершают краткий обзор, семейство мощных микроконтроллеров ARM.
На смену известным микроконтроллерам серии LPC21 <#"897069.files/image013.gif">
Рисунок 2.7- Внутренняя структурная схема
микроконтроллеров семейства LPC23
Отличительные особенности семейства LPC23xx:
ARM7TDMI-S процессор, работающий на тактовой частоте до 72 МГц;
до 512 кбайт встроенной Флэш-памяти программ;
до 64 кбайт высокоскоростного статического ОЗУ;
по 16 кбайт статического ОЗУ для Ethernet и USB интерфейсов, с возможностью использования в качестве ОЗУ общего назначения; [9]
сдвоенная система шин AHB, которая обеспечивает бесконфликтную одновременную работу Ethernet DMA, USB DMA и исполнение программы из встроенной флэш-памяти;
контроллер внешней памяти, поддерживающий работу с микросхемами flash, статической, динамической и постоянной памяти;
AHB DMA-контроллер общего назначения (GPDMA), который может быть использован с SSP интерфейсом, I2S-портом, интерфейсом для карт SD/MMC, а также для ускорения переноса содержимого памяти;
последовательные интерфейсы:
10/100 Ethernet MAC-блок с контроллером DMA, использующий MII-(MediaIndependentInterface) или RMII- (reduced MII) протокол и встроенную MIIM- (MediaIndependentInterfaceManagement) последовательную шину для связи с внешней микросхемой физического уровня Ethernet PHY;
USB Device, Host (OHCI совместимый) и OTG блоки с DMA и со встроенными физическими уровнями (PHY);
четыре UART со встроенными тактовыми генераторами и с буферами FIFO, один из которых - с полной поддержкой модемного контроля, и один - с IrDA поддержкой;
CAN 2.0B-контроллер с двумя каналами;
SPI-контроллер;
два SSP-контроллера с буферами FIFO;
три I2C-интерфейса;
I2S-интерфейс для цифровых аудио входов или выход.
вспомогательная APB периферия:
Интерфейс карт памяти SecureDigital (SD)/MultiMediaCard (MMC);
10-разрядный высокоскоростной (время преобразования 2,44 мкс) АЦП с мультиплексированием на восемь каналов, для каждого из которых смотрен индивидуальный регистр результата преобразования; [9]
10-разрядный высокоскоростной ЦАП с буферизированным выходом;
четыре таймера общего назначения с четырьмя входами захвата и четырьмя выходами сравнения. Каждый из таймеров содержит внешний счетный вход;
два ШИМ-модуля, каждый с поддержкой управления трехфазным двигателем и с возможностью установки программируемого защитного интервала, каждый модуль также имеет внешний счетный вход;
полноформатные часы реального времени (RTC) со встроенным статическим ОЗУ емкостью 2 кбайт, с индивидуальным внешним выводом питания и возможностью выбора источника тактирующих импульсов: либо с выхода программируемого делителя частоты периферийной шины, либо от часового кварца 32768 Гц;
сторожевой таймер, который может тактироваться от встроенного RС-генератора, RTC-генератора или от периферийной шины;
единое напряжение питания 3,3 В;
четыре режима снижения энергопотребления: Idle, Sleep,PowerDown, и DeepPowerdown;
четыре входа внешних прерываний;
детектор снижения напряжения питания с разными уровнями прерывания и ускоренного сброса;
сброс по включению питания;
встроенный кварцевый генератор на диапазон частот от 1 до 24 МГц; встроенный RC-генератор с тактовой частотой 4 МГц;
встроенная ФАПЧ: позволяет процессору работать с максимальной производительностью без использования высокочастотных кварцевых резонаторов; источником тактового сигнала ФАПЧ может служить как основной генератор, так и встроенные RC- и RTC-генераторы;
промышленный температурный диапазон: -40...85°С;
корпус: LQFP100, LQFP144.
Подведем итоги аналитического обзора, и сделаем выводы.
Несмотря на привлекательность и многозадачность микроконтроллеров ARM, главным критерием отказаться от использования в проекте отладочных плат на основе микроконтроллеров ARM, послужило отсутствие необходимости использования столь широких возможностей микроконтроллеров.
Оптимальным решением стал выбор
микроконтроллеров AVR, за оптимальные показатели и широкие возможности дешёвых
возможностей расширения на базе отладочных плат.
3. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Для программирования AVR-микроконтроллеров существует немало средств разработки, основным языком программирования является стандартный C++ <https://ru.wikipedia.org/wiki/C%2B%2B>, с использованием вложенных библиотек низко уровневых языков, для согласования и отладки программируемого периферийного оборудования также (используется компилятор AVR-GCC <https://ru.wikipedia.org/wiki/GNU_AVR_toolchain>).
ведется целиком через собственную программную оболочку (IDE), В этой оболочке имеется текстовый редактор <https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80>, менеджер проектов, препроцессор <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80>, компилятор <https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80> и инструменты для загрузки программы в микроконтроллер. Оболочка написана на Java <https://ru.wikipedia.org/wiki/Java> на основе проекта Processing <https://ru.wikipedia.org/wiki/Processing>, работает под Windows <https://ru.wikipedia.org/wiki/Windows>, Mac OS X <https://ru.wikipedia.org/wiki/Mac_OS_X> иLinux <https://ru.wikipedia.org/wiki/Linux>.
Основными инструментами для программирования микроконтроллеров являются AmtelStodioи Arduino СС.
Среда разработки скомпонована с библиотекой AVR Libc <#"897069.files/image014.jpg">
Рисунок 3.1 - AmtelStodio
Как и на многих других платформах, возможности среды программирования Arduino могут быть существенно расширены за счет использования библиотек. Библиотеки расширяют функциональность программ и несут в себе дополнительные функции, например, для работы с аппаратными средствами, функции по обработке данных и т.д. Ряд библиотек устанавливается автоматически вместе со средой разработки, также для согласования оборудования собственной разработки предусмотрено написание собственных библиотек, для работы непосредственно с железом.
Библиотека в Ардуино это не что иное, как дополнительный класс. Поэтому, прежде всего, необходимо определить функции для библиотеки как класс.
Библиотека должна иметь как минимум два файла:
заголовочный файл (расширение. h);
файл с исходным кодом (расширение .cpp).
В первом файле содержится описание самого класса, переменные, константы. Кода программы здесь нет. А второй файл содержит программный код методов. Разрабатывать и редактировать файлы библиотеки можно в любой среде разработки для C++ или в текстовом редакторе, желательно с подсветкой синтаксиса.
библиотеки, использованные в проекте разработки «ИСУ»:
EEPROM <#"897069.files/image015.jpg">
Рисунок 4.1-структурная схема
5. ВЫБОР ЭЛЕМЕНТОВ «ИСУ»
Проектируя автоматизированную информационную систему управления отопительным котлом, «ИСУ» необходимо выбрать следующие элементы:
отладочную плату на микроконтроллере.дисплей с тачскрином.
Понижающий Блок питания для отладочной платы.
Датчик температуры в контуре теплообменника котла.
Датчик температуры в подающем шнеке (датчик прогорания пеллет)
Датчик дымовых газов.
Два магнитных реле для силовых агрегатов до 2 Квт.
Управляемый Мк диммер (устройство регулирования мощности) до 2Квт.
Начиная выбор отладочных плат мой
выбор пал на довольно заурядную модель из всего многочисленного семейства
отладочных плат,представлена на рисунке 5. 1. [12]
Рисунок 5.1- MegaADK
имеет следующие характеристики:
|
- рабочее напряжение |
5В; |
|
- напряжение питания |
7-12В; |
|
- напряжение питания |
6-20В; |
|
- цифровые входы/выходы |
54 ; |
|
- аналоговые входы |
16; |
|
- максимальный ток одного вывода |
40 мА; |
|
- максимальный выходной ток вывода |
3.3V ;50 мА; |
|
- Flash-память |
256 КБ; |
|
- SRAM |
8 КБ; |
|
- EEPROM |
4 КБ; |
|
- тактовая частота |
16 МГц; |
MegaADK имеет следующие входы и выходы каждый из 54 цифровых выводов Mega, используя функции pinMode() <#"897069.files/image017.jpg">
Рисунок 5.2 - LCDTFTdisplay
Характеристики LCDTFT дисплея:
Диагональ 3’2 Разрешение 320 х 240
Соотношение сторон экрана 4: 3
Углы обзора верх/низ/лево/право 45/65/65/65
Яркость кд/м2 250
Контрастность 500:1
Ток потребления, мА 220
Монитор совместим с контроллерами
Arduino Mega2560. Так как монитор работает с уровнями сигналов 3,3 В,
несовместимыми с Arduino, необходимо использовать преобразователь уровней нам
понадобится несколько микросхем 74hc541pw. Микросхема изображена на рисунке
5.3.[12]
Рисунок 5.3 -74hc541pw
) Понижающий блок питания.
Блок питания Робитон 600 изображен
нарисунке5.4.
Рисунок 5.4 - блок питания Робитон
600
Технические характеристики блока питания:
очень легкий и компактный;
соответствует последним стандартам: сниженное энергопотребление и высокий КПД;
защита от перегрузок;
защита от короткого замыкания;
Тип электросхемы- Импульсный;
Напряжение питания: 100В-110В, 220В-240В;
Выходной ток (макс.): 600 мА; [12]
Этот продукт является результатом последних разработок ROBITON, нацеленных на повышение эффективности использования и экономии электроэнергии. Импульсные блоки питания ROBITON серии ImpulseEfficient обладают улучшенными характеристиками и сниженным энергопотреблением. на 95% сокращены потери электроэнергии в режиме ожидания и до 70% эффективней по сравнению с трансформаторными блоками питания
Это импульсные блоки питания - блоки питания на основе принципиально новой схемы. У них более высокий КПД по сравнению с традиционными блоками питания. И большие значения тока при меньшем размере корпуса. Данная схема также обеспечивает автоматическую защиту от короткого замыкания и защиту от перегрузок. При этом они значительно легче и компактней, чем обычные блоки питания. Это самые современные блоки питания для современной техники! [10]
-5) датчик температуры теплоносителя.
Датчик температуры герметичный ИПТГ
(выход 4-20 мА) рисунок 5.5
Рисунок 5.5- ИПТГ
Датчик температуры герметичный ИПТГ предназначен для измерения температуры жидких и газообразных сред. Датчик имеет простую конструкцию и небольшие габариты. Датчик выполнен в металлическом корпусе со степенью защиты IP54. Выходной сигнал 4- 20 мА. Диапазоны измерения в пределах от -50°С до 200°С. [12]
) Датчик температуры шнека.
Датчик температуры герметичный IFM Electronic, рисунок 5.6.
Рисунок 5.6-IFM Electronic
Датчик температуры герметичный IFM Electronic предназначен для измерения температуры жидких и газообразных сред. Датчик имеет простую конструкцию и небольшие габариты. Датчик выполнен в металлическом корпусе со степенью защиты IP64. Выходной сигнал 4- 20 мА. Диапазоны измерения в пределах от 0°С до 600°С.