- •Микропроцессоры и микроконтроллеры
- •Микропроцессоры
- •Микропроцессоры
- •Микропроцессоры
- •Микропроцессоры
- •Микропроцессоры
- •Микропроцессоры
- •Микроконтроллеры
- •Микроконтроллеры – общая архитектура
- •Микроконтроллеры PIC
- •16-битные микроконтроллеры PIC
- •16-битные микроконтроллеры PIC24F и PIC24H - особенности
- •32-битные микроконтроллеры PIC
- •Микроконтроллеры AVR
- •Семейства микроконтроллеров AVR
- •Семейства микроконтроллеров AVR
- •Устройства ввода-вывода МК AVR
- •Аппаратная вычислительная платформа Arduino
- •Аппаратная часть Arduino
- •Микроконтроллеры MSP430
- •Микроконтроллеры MSP430
- •Архитектура MSP430
- •Архитектура MSP430
- •Характеристики некоторых микроконтроллеров MSP430G2xx
- •Отладочный модуль MSP430 LaunchPad (MSP-EXP430G2)
16-битные микроконтроллеры PIC
Компания Microchip Technology Inc. производит два семейства 16-и разрядных микроконтроллеров (MCU) и два семейства 16-и разрядных цифровых сигнальных контроллеров (DSC), которые дают разработчикам совместимые платформы с обширным выбором типов корпусов, периферийных модулей и быстродействия. Общие атрибуты всех 16-и разрядных семейств — это совместимость по выводам, общая система команд и, соответственно, общие компиляторы Си и средства разработки. Широкая линейка 16-битных контроллеров включает контроллеры от 18 до 100 выводов с объемом flash памяти от 6 Кб до 536 Кб.
16-битные микроконтроллеры PIC24F и PIC24H
16-битные микроконтроллеры представлены в двух модификациях — PIC24F и PIC24H, которые отличаются технологией изготовления FLASH программной памяти. Это определяет диапазон питающих напряжений — для PIC24F — 2,0…3,6 В, для PIC24H — 3,0…3,6 В. Первое семейство (PIC24F) производится по более дешевой технологии (0,25 мкм) и работает с максимальной производительностью ядра 16MIPS@32МГц. Второе семейство (PIC24H) производится с использованием более сложного техпроцесса изготовления, что позволяет добиться большей скорости работы (40MIPS@80МГц). Оба семейства поддерживают внутрисхемное программирование (ICSP), а также самопрограммирование (RTSP).
Основные особенности:
выполнение команды за 2 такта генератора, гарантированное время отклика на прерывание — 5 командных тактов,
доступ к памяти (в том числе инструкции чтения-модификации-записи) за 1 командный такт, аппаратный умножитель (за 1 такт) , аппаратный делитель 32/16 и 16/16 чисел (17 командных тактов),
расширенная периферия (до 3-х SPI, до 3-х I2C, до 4-х UART (с поддержкой IrDA, LIN), CAN (и расширенный ECAN), USB OTG),
модуль измерения времени заряда (CTMU), основное применение — управление емкостными сенсорами,
16-битные микроконтроллеры PIC24F и PIC24H - особенности
до девяти 16-битных таймеров общего назначения, до восьми модулей захвата, ряд энергосберегающих режимов,
до двух АЦП (32 канала) с конфигурируемой разрядностью, до восьми 16-битных модулей сравнения / генерации ШИМ, программное переназначение выводов (PPS),
прямой доступ к памяти DMA(у PIC24H),
расширенный набор инструкций, 16 ортогональных регистров общего назначения, векторная приоритетная система прерываний, и другие особенности (методы адресации, аппаратные циклы).
32-битные микроконтроллеры PIC
Семейство 32-разрядных микроконтроллеров PIC32 выделяется значительно увеличенной производительностью и объемом памяти на кристалле по сравнению с 16-разрядными микроконтроллерами и контроллерами цифровой обработки сигналов PIC24/dsPIC. Контроллеры PIC32 также оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы — те же, что у PIC24, и 16-битный параллельный порт, который может использоваться, например, для обслуживания внешних микросхем памяти и жидко- кристаллических TFT-индикаторов. Семейство PIC32 построено на ядре MIPS32®, с конкурентоспособной комбинацией низкого потребления энергии, быстрой реакции на прерывание, функциональностью средств разработки и лидирующем в своем классе быстродействием. Такое быстродействие достигнуто благодаря эффективному набору инструкций, 5-ступенчатому конвейеру, аппаратному умножителю с накоплением и несколькими (до 8) наборами 32-разрядных регистров ядра.
Особенности:
ядро MIPS32 M4K, частота тактирования 80 МГц, большинство команд выполняются за 1 такт генератора,
порты ввода/вывода относятся к основному частотному диапазону, т.о., к примеру, можно управлять портами с тактовой частотой;
дополнительный частотный диапазон организуется для периферии из основного посредством программно настраиваемого делителя, т.о. частота тактирования периферии может быть снижена для снижения энергопотребления;
28-, 44-, 64- и 100-выводные корпуса, до 128 кБ SRAM и 512 кБ Flash с кэшем предвыборки; совместимость по выводам и отладочным средствам с 16-битными контроллерами Microchip;
аппаратный умножитель-делитель с независимым от основного ядра конвейером, оптимизированным по скорости выполнения;
набор расширенных инструкций MIPS16e™ — набор 16-битных инструкций, позволяющий на некоторых приложениях снизить объем кода на 40 %;
независимый от основного ядра контроллер USB.
Микроконтроллеры AVR
AVR — семейство восьмибитных микроконтроллеров фирмы Atmel, затем Microchip. Год разработки — 1996.
Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim) — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром. Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке. Новое ядро было запатентовано и получило название AVR.
Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:
Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31); Некоторые команды работают только с регистрами r16…r31;
Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.
Семейства микроконтроллеров AVR
Стандартные семейства:
•tinyAVR (ATtinyxxx):
•Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;
•Число линий ввод-вывода 4–18 (общее количество выводов 6–32);
•Ограниченный набор периферийных устройств.
•megaAVR (ATmegaxxx):
•Флеш-память до 256 Кб; SRAM до 8 Кб; EEPROM до 4 Кб;
•Число линий ввода-вывода 23–86 (общее количество выводов 28–100);
•Аппаратный умножитель;
•Расширенная система команд и периферийных устройств.
•XMEGA AVR (ATxmegaxxx):
•Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;
•Четырёхканальный DMA-контроллер;
•Инновационная система обработки событий.
На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:
•со встроенными интерфейсами USB, CAN, контроллером LCD;
•со встроенным радиоприёмопередатчиком — серии ATAхxxx, ATAMxxx;
•для управления электродвигателями — серия AT90PWMxxxx;
•для автомобильной электроники;
Семейства микроконтроллеров AVR
•для осветительной техники.
•Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).
•Устройства ввода-вывода МК AVR
•Многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов ввода/вывода задаётся программно.
•В качестве источника тактовых импульсов может быть выбран:
кварцевый резонатор;
внешний тактовый сигнал;
внутренний RC-генератор (частота 1, 2, 4, 8 МГц).
Внутренняя Флеш-память команд до 256 KБ (не менее 10 000 циклов перезаписи).
Внутреннее EEPROM данных до 4 КБ (100 000 циклов).
Внутренняя SRAM до 8 KБ время доступа 1 такт.
Внешняя память объёмом до 64 КБ (Mega8515 и Mega162).
Таймеры c разрядностью 8, 16 бит.
ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.
Аналоговые компараторы.
Устройства ввода-вывода МК AVR
АЦП (ADC) с дифференциальными входами, разрядность 10 бит (12 для XMEGA AVR):
программируемый коэффициент усиления перед АЦП 1, 10 и 200;
опорное напряжение 2,56 В.
Различные последовательные интерфейсы, включая:
двухпроводной интерфейс TWI, совместимый с I²C;
универсальный синхронно/асинхронный приёмопередатчик UART/USART;
синхронный последовательный порт Serial Peripheral Interface (SPI).
USB серия AT90USBxxxx.
CAN серия AT90CANxxx.
LCD серии ATmega169 и ATmega329.
Датчики температуры ATtiny25, ATtiny45, ATtiny85.
Аппаратная вычислительная платформа Arduino
Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунок печатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно. Микроконтроллеры ATmega328 дёшевы и стоят около 200 рублей.
Интегрированная среда разработки Разработчик Arduino Software
Написана на Java
Операционная система Кроссплатформенная
Лицензия LGPL или GPL license Сайт http://www.arduino.cc
Аппаратная часть Arduino
Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5В или +3,3В. Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях керамическим резонатором). В микроконтроллер предварительно прошивается загрузчик BootLoader, поэтому внешний программатор не нужен.
На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие рассылаемые платы, например, Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-Serial FTDI FT232R. В версии платформы Arduino Uno в качестве конвертера используется микроконтроллер Atmega8 в SMD-корпусе. Данное решение позволяет программировать конвертер так, чтобы платформа сразу определялась как мышь, джойстик или иное устройство по усмотрению разработчика со всеми необходимыми дополнительными сигналами управления. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-Serial или кабеля.
Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых входов/выходов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти сигналы доступны на плате через контактные площадки или штыревые разъемы. Также доступны несколько видов внешних плат расширения, называемых «shields» («щиты»), которые присоединяются к плате Arduino через штыревые разъёмы.
Микроконтроллеры MSP430
Линейка микроконтроллеров Texas Instruments насчитывает три вида устройств:
•MSP430 - 16-битные микроконтроллеры;
•C2000 - 32-битные микроконтроллеры;
•Stellaris - 32-битные микроконтроллеры с архитектурой ARM Cortex MF4.
MSP430 - семейство микроконтроллеров фирмы «Texas Instruments» с низким энергопотреблением. Первый контроллер с аббревиатурой MSP430 появился в 1999 году. Отличительными характеристиками микроконтроллеров семейства MSP430 являются следующие.
•Архитектура со сверхнизким потреблением, позволяющая увеличить время работы при питании от батарей:
•ток сохранения содержимого ОЗУ — не более 0.1 мкА;
•ток потребления в режиме часов реального времени — не более 0.8 мкА;
•ток потребления в активном режиме — 250 мкА/MIPS.
•Высокоэффективная аналоговая подсистема, позволяющая выполнять точные измерения:
•таймеры, управляемые компаратором;
•многоканальный АЦП.
•16-битное RISC ЦПУ:
•большой регистровый файл устраняет ограничения рабочего регистра;
•произведённое по меньшему техпроцессу ядро позволяет снизить потребление и уменьшает стоимость кристалла;
•оптимизировано для современных языков программирования высокого уровня;
•набор команд состоит всего из 27 инструкций, поддерживается 7 режимов адресации;