Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
10 Микропроцессоры и микроконтроллеры.pptx
Скачиваний:
35
Добавлен:
19.01.2023
Размер:
593.52 Кб
Скачать

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 режимов адресации;