PIC (микроконтроллер)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:40, 23 ноября 2016.

PIC (англ. Peripheral interface controllerпериферийный интерфейс-контроллер, ПИК) — серия микроконтроллеров с гарвардской архитектурой (то есть такой, где хранилище команд и хранилище данных — разные физических устройства; канал команд и канал данных тоже физически разделены), производимые американской компанией Microchip Technology Inc. Название серии PIC подразумевает изначальное предназначение этих микроконтроллеров для расширения возможностей ввода-вывода 16-битных микропроцессоров CP1600.[1]

Под маркой PIC фирма Microchip выпускает 8-, 16- и 32-битные микроконтроллеры и цифровые сигнальные контроллеры (DSC), чья отличительная особенность в хорошей преемственности различных семейств: программная совместимость (общие средства разработки: бесплатная IDE MPLAB, общие библиотеки, общие стеки наиболее популярных протоколов передачи данных), совместимость выводов, периферии, напряжений питания. Существует более 500 различных контроллеров со всевозможными вариациями периферии, отличающимися объёмами памяти, количеством выводов, производительностью, диапазонами напряжений питания, рабочими температурами и др.[2]

8-битные микроконтроллеры

8-битные микроконтроллеры имеют модифицированную гарвардскую архитектуру и делятся на два больших семейства: PIC10/12/16 и PIC18.

8-битные микроконтроллеры PIC10/12/16

Ядра 8-битных микроконтроллеров PIC10/12/16 могут быть построены одной из двух архитектур: BASELINE и MID-RANGE.

Архитектура базового (BASELINE) семейства

Архитектуру BASELINE имеют ядра контроллеров семейства PIC10 и часть контроллеров семейств PIC12 и PIC16. Отличительные черты:

  • разрядность: 12 бит;
  • количество поддерживаемых машинных команд: 35;
  • количество выводов (контактов): от 6 до 28;
  • дешевизна (по сравнению с другими решениями фирмы Microchip);
  • поддержка широкого диапазона напряжений питания;
  • возможность работы при низких напряжениях (применимо, например, в батарейных устройствах);
  • низкое потребление тока;
  • малые габаритные размеры корпуса;
  • наличие встроенной flash-памяти для программ.

Архитектура среднего (MID-RANGE) семейства

Архитектуру MID-RANGE имеют ядра микроконтроллеров серий PIC12 и PIC16. Отличительные черты:

  • разрядность: 14 бит;
  • количество поддерживаемых машинных команд: 35;
  • количество выводов: от 6 до 64;
  • работа в диапазоне напряжений питания от 2.0 до 5,5 В;
  • малый ток потребления;
  • поддержка системных прерываний;
  • аппаратная поддержка стека;
  • наличие встроенной flash-памяти для программ;
  • наличие энергонезависимой памяти типа EEPROM для данных;
  • поддержка периферии (USB, SPI, I²C, USART, LCD, компараторов, АЦП и т. п.);
  • производительность: 5 MIPS.

Расширенную архитектуру MID-RANGE имеют ядра новых микроконтроллеров семейств PIC12 и PIC16. Отличительные черты:

  • разрядность: 8 бит;
  • количество поддерживаемых машинных команд: 35 основных и 14 дополнительных (оптимизированных под компилятор языка C);
  • увеличенный объём памяти программ и данных;
  • более глубокий и улучшенный аппаратный стек;
  • дополнительные источники сброса;
  • поддержка периферийных устройств с модулем mTouch™ (используется для создания сенсорных пользовательских интерфейсов);
  • уменьшенное время входа в прерывание;
  • производительность увеличена на 50 %;
  • размер кода снижен на 40 %.

8-битные микроконтроллеры PIC18

Отличительные черты микроконтроллеров семейства PIC18F:

  • разрядность: 8 бит;
  • возможность подключения следующей периферии: 10-битных АЦП, компараторов, ШИМ, захват/сравнение, драйверов, ЖКИ, периферии с интерфейсами USB, CAN, I²C, SPI, USART, Ethernet, TCP/IP, ZigBee и др.;
  • производительность: до 16 MIPS;
  • объём памяти программ: до 128 кБ;
  • количество выводов: от 18 до 100;
  • поддержка технологии NanoWatt;
  • наличие программируемого генератора;
  • поддерживаемые напряжения питания: 3 и 5 В;
  • совместимость (программная, по выводам, по периферийным модулям) с другими контроллерами этого семейства и с 16-битными контроллерами других семейств.

16-битные контроллеры

Компания Microchip производит два семейства 16-разрядных микроконтроллеров (MCU) и два семейства 16-разрядных цифровых сигнальных контроллеров (DSC), что дают разработчикам совместимые платформы с обширным выбором типов корпусов, периферийных модулей и быстродействия. Основные черты всех 16-разрядных семейств:

  • разрядность: 16 бит;
  • совместимость по выводам;
  • единая система команд;
  • общие компиляторы Си и средства разработки;
  • количество выводов: от 18 до 100;
  • объём flash-памяти: от 6 до 536 Кб.

16-битные микроконтроллеры PIC24F и PIC24H

Основные особенности:

  • выполнение команды за 2 такта генератора;
  • гарантированное время отклика на прерывание — 5 командных тактов;
  • доступ к памяти (в том числе команды чтения-модификации-записи) за такт;
  • аппаратный умножитель (за такт);
  • аппаратный делитель 32/16 и 16/16 чисел (17 командных тактов);
  • диапазон питающих напряжений 1.8…3,6 В, один источник питания;
  • внутрисхемное и самопрограммирование;
  • встроенный генератор с PLL;
  • расширенная периферия (до 3-х SPI, до 3-х I2C, до 4-х UART (с поддержкой IrDA, LIN), CAN (и расширенный ECAN), USB OTG);
  • модуль измерения времени заряда (CTMU), основное применение — управление ёмкостными сенсорами;
  • ток портов ввода-вывода общего назначения — 18 мА;
  • порты толерантны к устройствам с питанием 5 В;
  • поддержка до девяти 16-битных таймеров общего назначения;
  • поддержка до восьми модулей захвата;
  • поддержка нескольких энергосберегающих режимов;
  • поддержка до двух АЦП (32 канала) с конфигурируемой разрядностью;
  • поддержка до восьми 16-битных модулей сравнения / генерации ШИМ;
  • программное переназначение выводов (PPS);
  • прямой доступ к памяти DMA (у PIC24H);
  • расширенный набор команд;
  • 16 ортогональных регистров общего назначения;
  • векторная приоритетная система прерываний;
  • другие особенности (методы адресации, аппаратные циклы).

16-битные микроконтроллеры представлены в двух модификациях — PIC24F и PIC24H, отличающихся технологией изготовления flash-памяти программ. Это определяет диапазон питающих напряжений — для PIC24F — 2,0…3,6 В, для PIC24H — 3,0…3,6 В. Контроллеры первого семейства (PIC24F) производятся по более дешёвой технологии (0,25 мкм) и работают с максимальной производительностью ядра (16 MIPS, 32 МГц). Контроллеры второго семейства (PIC24H) производятся с использованием более сложного техпроцесса, что позволяет добиться большей скорости работы (40 MIPS, 80 МГц). Контроллеры обоих семейств поддерживают внутрисхемное программирование (ICSP) и самопрограммирование (RTSP).

Контроллеры цифровой обработки сигналов dsPIC30F и dsPIC33F

Компания Microchip предлагает два семейства 16-тиразрядных микроконтроллеров с flash-памятью и с поддержкой команд цифровой обработки сигналов — dsPIC30F и dsPIC33F. Быстродействие (30 MIPS для dsPIC30F, 40 MIPS для dsPIC33FJ, 70 MIPS для dsPIC33EP) и эффективная система команд позволяют использовать контроллеры в системах реального времени. Особенности:

  • расширенная система команд, включающая специфические команды поддержки цифровой обработки сигналов (DSP);
  • 24-разрядные команды выполняются за 4 периода тактовой частоты у dsPIC30F и за 2 — у dsPIC33FJ(EP), за исключением команд деления, команд переходов, команд пересылки данных из регистра в регистр и табличных команд;
  • разрядность программного счётчика (24 бита) позволяет адресовать до 4 М слов программной памяти (4 М*24 бит);
  • аппаратная поддержка циклов типа DO и REPEAT, выполнение которых не требует дополнительных издержек программной памяти и времени на анализ условий окончания. В то же время эти циклы могут быть прерваны событиями прерывания в любой момент;
  • 16 рабочих регистров. В регистрах можно хранить данные, адрес или смещение адреса;
  • два класса команд: микроконтроллерные команды (MCU) и команды цифровой обработки сигналов (DSP). Оба этих класса равноправно встроены в архитектуру контроллера и обрабатываются одним ядром;
  • различные типы адресации;
  • система команд оптимизирована для получения максимальной эффективности при программировании на языке высокого уровня Си.

Если о PIC24F можно говорить, как об усечённом доработанном варианте dsPIC30F (без ядра ЦОС, с трёхвольтовым питанием и переработанным конвейером), то PIC24H — это усечённый вариант dsPIC33F. Хотя в данном сравнении нарушены причинно-следственные связи, технически оно верно. Ядро dsPIC33F полностью аналогично ядру dsPIC30F, за исключением того, что в dsPIC33F команда выполняется за два такта генератора. Семейства полностью совместимы по набору команд, программной модели и способам адресации, что позволяет использовать библиотеки и исходные коды программ, написанные для dsPIC30F. Особо следует отметить переработанную в сравнении с dsPIC30F систему тактирования. dsPIC33F, как и семейство PIC24H, имеют PLL с дробным коэффициентом умножения (настраиваемым программно), что позволяет получить сетку частот от 12,5 МГц до 80 МГц с шагом 0,25 МГц при использовании 4 МГц кварцевого резонатора. Кроме того, контроллеры dsPIC33F и PIC24H имеют два внутренних высокостабильных RC-генератора с частотами 7,3728 МГц и 32,768 кГц. Отдельный делитель тактовой частоты ядра (модуль DOZE) присутствует во всех новых контроллерах 16-битных семейств. Он позволяет уменьшить тактовую частоту, подаваемую на ядро, независимо от тактовой частоты периферийных модулей, что необходимо для уменьшения потребления в энергоограниченных приложениях. Большой выбор периферии.

Периферия общего назначения:

  • календарь и часы реального времени RTCC;
  • аппаратный подсчёт CRC;
  • расширенная периферия (SPI, I2C, UART (с поддержкой IrDA, LIN), CAN (ECAN));
  • 10- и 12-битные АЦП;
  • компараторы;
  • 10- и 16-битные ЦАП;
  • прямой доступ к памяти (DMA);
  • ведущий параллельный порт (PMP);
  • программное переназначение выводов (PPS);
  • многоуровневая система защиты кода (code guard).

Периферия, предназначенная для управления двигателями и преобразователями энергии:

  • специализированный ШИМ для управления приводом (motor control PWM);
  • интерфейс квадратурного энкодера.

Периферия для импульсных источников питания (SMPS):

  • специализированный ШИМ с высоким разрешением (SMPS PWM);
  • специализированные АЦП (SMPS ADC).

Периферия для работы со звуком:

  • 12-битный АЦП;
  • 16-битный ЦАП;
  • специализированный ШИМ (output compare PWM);
  • интерфейс кодирования данных DCI (I2S, AC97).

Периферия, предназначенная для управления графическими дисплеями:

  • ведущий параллельный порт PMP (QVGA);
  • модуль измерения времени заряда CTMU (сенсорные дисплеи touch-screen).

32-битные микроконтроллеры

Отличительные черты семейства 32-разрядных микроконтроллеров PIC32:

  • разрядность: 32 бита;
  • ядро: MIPS32 M4K;
  • частота тактирования ядра: до 120 МГц (для серии MX) и до 200 МГц (для серии MZ);
  • выполнение большинства команд за 1 такт генератора;
  • производительность: 1.53 Dhrystone MIPS/МГц;
  • порты ввода-вывода относятся к основному частотному диапазону, таким образом, к примеру, можно дёргать портами с тактовой частотой;
  • дополнительный частотный диапазон организуется для периферии из основного посредством программно настраиваемого делителя, таким образом, частота тактирования периферии может быть снижена для снижения энергопотребления;
  • количество выводов: 28, 44, 64 и 100;
  • объём SRAM: до 128 кБ;
  • объём flash-памяти: 512 кБ с кэшем предвыборки;
  • совместимость по выводам и отладочным средствам с 16-битными контроллерами фирмы Microchip;
  • аппаратный умножитель-делитель с независимым от основного ядра конвейером, оптимизированным по скорости выполнения;
  • набор расширенных 16-битных команд MIPS16e™, позволяющий уменьшить размер кода некоторых программ на 40 %;
  • независимый от основного ядра контроллер USB.

Семейство 32-разрядных микроконтроллеров PIC32 выделяется значительно увеличенной производительностью и объёмом памяти на кристалле в сравнении с 16-разрядными микроконтроллерами и контроллерами цифровой обработки сигналов PIC24/dsPIC. Контроллеры PIC32 также оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы — те же, что у PIC24, и 16-битный параллельный порт, что можно использовать, например, для обслуживания внешних микросхем памяти и жидкокристаллических TFT-индикаторов. Семейство PIC32 построено на ядре MIPS32®, отличающегося низким потреблением энергии, быстрой реакцией на прерывания, функциональностью средств разработки и лидирующим в своём классе быстродействием 1.53 Dhrystone MIPS/МГц. Такое быстродействие достигнуто благодаря эффективному набору команд, 5-ступенчатому конвейеру, аппаратному умножителю с накоплением и несколькими (до 8) наборами 32-разрядных регистров ядра.

Средства отладки

Для программирования микроконтроллеров семейства PIC применяют фирменные программаторы-отладчики IC PROG, ICD-2, ICD-3, REAL ICE, Pickit, PicKit2, Pickit3. Эти программаторы позволяют не только программировать, но и отлаживать код. Возможности: пошаговое выполнение, установка точек останова, просмотр содержимого оперативной и программной памяти, просмотр содержимого стека.

Источники

  1. Википедия [Электронный ресурс]: PIC — материал из Википедии — свободной энциклопедии: Версия 81990955, сохранённая в 21:48 UTC 20 ноября 2016 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://ru.wikipedia.org/w/index.php?title=PIC&oldid=81990955.
  2. Wikipedia [Электронный ресурс]: PIC microcontroller — материал из Википедии — свободной энциклопедии: Версия 749989230, сохранённая в 06:21 UTC 17 ноября 2016‎ / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://en.wikipedia.org/w/index.php?title=PIC_microcontroller&oldid=749989230.

Ссылки

  • Microchip [Электронный ресурс]: Официальный сайт компании / Дата обращения: 23.11.2016. Режим доступа: http://www.microchip.com/.
  • Техподдержка Microchip [Электронный ресурс]: Официальный русскоязычный сайт / Дата обращения: 23.11.2016. Режим доступа: http://microchip.com.ru/.
  • Форум Микро-Чип [Электронный ресурс]: Форум по продукции Microchop / Дата обращения: 23.11.2016. Режим доступа: http://www.microchip.su/.
  • Всё о микроконтроллерах [Электронный ресурс]: Сайт о PIC-МК для начинающих / Дата обращения: 23.11.2016. Режим доступа: http://chipmk.ru/.