Встроенные системы управления Лекция 6 Аппаратное обеспечение распределенных информационно-управляющих систем встраиваемого класса А. Астапкович Государственный университет аэрокосмического приборостроения, СПб, 2012 История развития Микроконтроллер представляет собой микросхему, предназначенную для создания специализированных систем управления встраиваемого класса От классического микропроцессора микроконтроллер отличается наличием широкого спектра периферийных модулей, обеспечивающих возможность компактной реализации элементов распределенных систем управления Микроконтроллеры были разработаны позже микропроцессоров и берут начало от микроконтроллера Intel 8048, выпущенного в 1976 г. Взрывной характер распространения этой технологии обеспечил микроконтроллер Intel 8051 с гарвардской архитектурой , выпущенный в 1980 г. Типовое применение микроконтроллеров Система управления современным автомобилем распределенная (сетевая) и состоит из нескольких сотен электронных узлов. Платформа Обобщенная структура платформы Структура интеллектуального узла Локальное управление Сигналы с аналоговых сенсоров Локальная индикация Сигналы с цифровых входов Питание Цифровой интерфейс • Разработка современных систем требует использования ряда технологий, совокупность которых принято называть платформой. • Платформа представляет собой набор взаимоувязанных решений по элементной базе, по способу организации сетевой структуры и по применяемым технологиям разработки программного обеспечения. Классификация микроконтроллеров Микроконтроллеры предназначены для использования во встраиваемых системах управления для самых разнообразных применений. Универсальное аппаратное решение для слишком широкого круга применений было бы относительно громоздким и дорогим. В силу этого микроконтроллеры разрабатываются и производятся специализированными семействами, ориентированными на использование в определенном классе устройств. Для классификации микроконтроллеров используется способ представления обрабатываемых данных, а именно 4-8-16-32 бита. В системах управления промышленного назначения широко используются 8-битные микроконтроллеры. Обзор рынка Более 90 % всех производимых микропроцессоров и микроконтроллеров используется во встраиваемых системах управления. В 2000 г было произведено 365 миллионов микропроцессоров и 6.4 миллиарда микроконтроллеров. Компания Motorola Renesas (Hitachi+Mitsubishi) Состояние рынка 8-битных микронтроллеров в Доля рынка % Объем продаж млн. $ 22 15 Microchip 14 ST Micro 9 Philips 8 Atmel 6 Суммарный объем рынка в 2003-2004 году 880 600 560 36 32 24 4 млрд. $ Ведущие компании Обзор рынка Микроконтроллеры Microchip Платформа Microchip АРХИТЕКТУРА МИКРОКНТРОЛЛЕРА Архитектура микроконтроллеров Архитектура микроконтроллера обеспечивает возможность реализации полного цикла обработки данных “измерение-вычисление-выработка сигналов управления” на одном кристалле в составе распределенной системы управления. Архитектура микроконтроллеров кроме вычислительного ядра, характерного для микропроцессоров, включает в себя память программ, память данных, модули АЦП для обработки аналоговых сигналов от датчиков, модули выработки сигналов управления ШИМ и модули специализированных, как правило, последовательных шин: SPI, I2C . Часто используются модифицированная гарвардская архитектура. Современные микроконтроллеры имеют в своем составе перепрограммируемую память для долговременного хранения данных, а также подсистемы обеспечения надежности и управления энергопотреблением. Архитектура современного микроконтроллера Система тактирования Память программ Память данных Подсистема обеспечения надежности Дешифратор команд CPU Управления энергопотреблением Система управления конфигурацией Конфигурационные регистры Система прерываний Регистры общего назначения Регистры конфигурирования, управления и работы периферийных модулей Периферийные модули универсальные порты цифрового ввода-вывода модули АЦП, захвата сравнения, ШИМ, коммуникационные модули таймерные модули Контроллер прерываний в PIC18F4220/4320 Обработка прерываний S-II 5 S-I 4 H-0 3 S-0 H-1 3 1 1 1 2 H-2 3 t1 t2 t3 t4 t5 t6 t7 t8 Время 1выполнение команд основной программы ; 2,3- работа аппаратных модулей периферии; 3 – работа аппаратной компоненты системы прерываний; 4,5 – выполнение команд обработчиков прерываний; Конфигурируемый двухуровневый с возможностью выбора приоритета для конкретного периферийного модуля . Контроллер прерываний использует 10 8-битных регистров : RCON, INTCON, INTCON2, INTCON3,PIR1, PIR2, PIE1, PIE2, IPR1, IPR2 Система прерываний микроконтроллеров Принципиально важной составляющей архитектуры микроконтроллера являются периферийные модули. Управление ими осуществлением программным способом и включает в себя операции конфигурирования, включения/выключения, и запуска для выполнения базовой функции модуля. Базовую функцию выполняется автономно за счет соответствующей аппаратной реализации конкретного модуля. Современный микроконтроллер может иметь несколько десятков периферийных модулей, соответственно, применительно к многоканальной системе управления речь идет об организации управления их параллельной работы. Система прерываний микроконтроллеров предназначена в первую очередь именно для этого. Контроллеры прерываний в разных микроконтроллерах реализуются по-разному. Система команд Используется также классификация микроконтроллеров по набору и способу реализации системы команд. В современных микроконтроллерах популярно использование набора команд RISC (Reduced Instruction Set Command) Микроконтроллеры с такой системой команд обычно называют RISC-микроконтроллеры. RISC архитектура обеспечивает возможность увеличения быстродействия и минимизацию энергопотребления. В ряде микроконтроллерах используется и набор MISC (Minimized Instruction Set Command) и CISC (Complete Instruction Set Command). RISC микроконтроллеры проще в реализации и требуют меньшего количества транзисторов для реализации CPU по сравнению с CISC и MISC архитектурами. Семейство nanoWatt Technology (Microchip) Семейство nanoWatt Technology (Microchip) Параметр Частота Память - программ,байт/команд - данных, байт - EEPROM, байт Периферийные модули Универсальные I/O порты Таймеры Стандартные модули захвата, сравнения, ШИМ Модуль 10 битного AЦП Модули последовательных интерфейсов Модуль пар. интерфеса Источников прерываний Количество команд Типы корпусов PIC18F2220 PIC18F2320 PIC18F4220 PIC18F4320 31 Кгц-40 Мгц 31 Кгц-40 Мгц 31 Кгц-40 Мгц 31 Кгц-40 Мгц 4096/2048 512 256 A,B,C 4 2 8192/4096 512 256 A,B,C 4 2 4096/2048 512 256 A,B,C,D,E 4 1 8192/4096 512 256 A,B,C,D,E 4 1 2 10 каналов SPI (I2C) UART нет 19 75 28 SPDIP 28 SOIC 2 10 каналов SPI (I2C) UART нет 19 75 28 SPDIP 28 SOIC 1 13 каналов SPI (I2C) UART да 20 75 40 PDIP 44 TQFP 44 QFN 1 13 каналов SPI (I2C) UART да 20 75 40 PDIP 44 TQFP 44 QFN Конструктивное исполнение Архитектура PIC18F4220/4320 Особенности архитектуры PIC18F4220/4320 СPU содержит схему аппаратного умножения 8*8, которая выполняется за один командный цикл. Для обеспечения возможности работы с массивами служат регистры неявной адресации. Модифицированная гарвардская архитектура. В специальных режимах имеется возможность использования памяти программ для хранения данных, которая для старшего представителя клона составляет 8Кбайт. При этом память программ обеспечивает возможность реализации до 100 000 циклов перезаписи и сохранения целостности данных до 40 лет. Архитектура микроконтроллера дополнена периферийным модулем электрически перепрограммируемой памяти EEPROM размером 256 байт. Этот модуль обеспечивает возможность хранения данных прикладной программы в процессе функционирования устройства и их восстановления после повторного включения питания. Тип используемой памяти обеспечивает до одного миллиона циклов перезаписи и сохранения целостности данных до 40 лет. Формат команд Синтаксис для регистров специального назначения (SFR) и регистров данных для конкретных применений один и тот же. Примеры команд Универсальный порт ввода-вывода Порт двунаправленный Нагрузочная способность до 25 ма Имеет внутренние подтяжки Имеется возможность генерации прерываний Регистр управления прерываниями ПЕРИФЕРИЙНЫЕ МОДУЛИ Модуль аналого-цифрового преобразования Многоканальный модуль обеспечивает возможность аналого-цифрового преобразования напряжений, получаемых с 10 (в старших представителяхсемейства 13) измерительных элементов датчиков. Преобразование осуществляется поочередно, канал за каналом, и управляется программным способом. При аналого-цифровом преобразовании осуществляется зарядка входного конденсатора до уровня действующего на входе канала напряжения, а потом осуществляется преобразование этого значения в числовой формат. Новой возможностью модуля для этого семейства является возможность программным способом задавать временные параметры этих двух этапов. Таймерные модули Микроконтроллеры семейства имеют в составе своей периферии 4 таймерных модуля. Каждый из этих таймеров обладает особенностями, а их совокупность обеспечивает разработчика широким спектром возможностей по реализации систем управления реального времени. Таймер0 имеет программно управляемый предделитель, обеспечивающий возможность управления частотой прерываний с параметром, выбираемым из ряда 2-4…256. Периферийный модуль Timer1 обеспечивает возможность реализации на нем часов реального времени и потребляет 1.1 мкА при использовании собственной внешней частотозадающей цепочки 32 кГц и питании от независимого 2 В источника. Таймер 3 может работать независимо, либо в тандеме с Timer1, использующем его как источник. Каждый из этих таймеров реализован на двух 8-битных регистрах, т.е. это фактически 16 битные таймера, но для корректной работы с ними требуется соответствующим образом написанные обработчики прерываний. Модуль Timer0 Режим 8 битного таймера Режим 16 битного таймера Коммуникационный модуль Модуль модуля синхронного последовательного интерфейса ( Master Synchronous Serial Port - MSSP) обеспечивает возможность связи с последовательными EEPROM, сдвиговыми регистрами, чипами АЦП преобразований и т.п. Работает в двух режимах последовательного интерфейса SPI и I2C Управление энергопотреблением Три режима работы RUN - ядро включено, периферия включена IDLE - ядро выключено, периферия включена SLEEP - ядро выключено, периферия выключена Пониженное энергопотреблением Выход из SLEEP происходит при наличии внешних сигналов Энергопотребление: PRI_RUN 150 мкА 1 PRI_IDLE 37 мкА 1 SEC_RUN 14 мкА 32 SEC_IDLE 5.8 мкА 32 RC_RUN 110 мкА 1 RC_IDLE 52 мкА 1 SLEEP 0.1 мкА 1 МГц МГц кГц кГц МГц МГц МГц 2В 2В 2В 2В 2В 2В 2В Подсистема обеспечения надежности В основе построения всей подсистемы лежит тот факт, что микроконтроллер представляет собой сложную систему, образуемую электронными компонентами и становиться системой программного управления при наличии стабильного питания и наличия тактирующих импульсов. Подсистема включает в себя : • три таймера : Power-up, Oscillator Start-up, Watch-dog; • схем рестарта программы при включении питания и при обнаружении провалов питающего напряжения Power-on Reset и Brown-out Reset; • монитора наличия тактирующих импульсов (Fail-Safe Clock Monitor). Сторожевой таймер Основное назначение сторожевого таймер - контроль хода выполнения программы с целью предотвращения зацикливания. Этот таймерный модуль при переполнении приводит к рестарту программы, в отличие от других таймерных модулей, которые генерируют сигналы прерываний. Минимальное время срабатывания для этого таймера составляет 4 мсек, максимальное – несколько больше 2 мин. и соответствует максимальному значению коэффициента постделителя. Соответственно, программное обеспечение должно быть организовано таким образом, чтобы в течение выбранного интервала рестарта программы из-за срабатывания сторожевого таймера, регистр этого таймера очищался (инициализировался нулем). В противном случае осуществляется рестарт программы. Очистка осуществляется с помощью специальной команды CLRWDT ПОДДЕРЖКА РАЗРАБОТЧИКОВ Поддержка разработчиков Успех компании Microchip не в последнюю очередь обусловлен последовательным применением закона SONY об изделиях массового применения Google : Microchip Application Notes Поддержка разработчиков PIC18 AN885 Brushless DC (BLDC) Motor Fundamentals Brushless Direct Current (BLDC) motors are one of the motor types rapidly gaining popularity. BLDC motors are used in industries such as Appliances, Automotive, Aerospace, Consumer, Medical, Industrial Automation Equipment and Instrumentation. As the name implies, BLDC motors do not use brushes for commutation; instead, they are electronically commutated. BLDC motors have many advantages over brushed DC motors and induction motors. A few of these are: Better speed versus torque characteristics , High dynamic response , High efficiency , Long operating life , Noiseless operation . Higher speed ranges In addition, the ratio of torque delivered to the size of the motor is higher, making it useful in applications where space and weight are critical factors. In this application note, we will discuss in detail the construction, working principle, characteristics and typical applications of BLDC motors Базовые схемотехнические решения Контроль положения Запитывание обмоток статора осуществляется на основании измерения текущего положения ротора, который представляет собой пространственную сборку из постоянных магнитов. Текущее положение ротора определяется с помощью датчиков Холла, которые встроены в статор. Обработка сигналов с датчиков Холла позволяет правильно запитать катушки статора, обеспечив тем самым вращающий момент. Временная диаграмма работы Сигналы датчиков Действующие силы и момент Токи в обмотках для 6 стадийного процесса Базовые программные решения Свободная раздача библиотек math_code CODE ;--------------------------------------------------------------------; 24-BIT ADDITION _24_BitAdd GLOBAL _24_BitAdd movf BARGB2,w,1 addwf AARGB2,f,1 movf btfsc incfsz addwf BARGB1,w,1 _C BARGB1,w,1 AARGB1,f,1 movf btfsc incfsz addwf return BARGB0,w,1 _C BARGB0,w,1 AARGB0,f,1