Открыть сервис

PIC

PIC — это семейство 8-битных, 16-битных и 32-битных микроконтроллеров (MCU), производимых американской компанией Microchip Technology (ранее — General Instrument и Arizona Microchip). Микроконтроллеры PIC (Peripheral Interface Controller — контроллер периферийного интерфейса) представляют собой однокристальные микрокомпьютеры, которые объединяют на одном кристалле процессорное ядро, память программ (ПЗУ/Flash), память данных (ОЗУ) и набор периферийных устройств (таймеры, порты ввода-вывода, АЦП, ШИМ, интерфейсы связи). Они широко применяются во встраиваемых системах, бытовой электронике, автомобильной промышленности, промышленной автоматизации и образовательных проектах благодаря низкой стоимости, простоте использования и широкой линейке моделей.

История

Происхождение

История PIC началась в 1975 году, когда компания General Instrument (GI) разработала микросхему PIC1650. Изначально она предназначалась для управления периферийными устройствами в составе больших вычислительных систем. В отличие от современных микроконтроллеров, PIC1650 имел гарвардскую архитектуру с раздельной памятью команд и данных, что позволяло повысить производительность.

Развитие в 1980-х

В 1985 году подразделение GI, занимавшееся микроконтроллерами, выделилось в компанию Arizona Microchip Technology. В 1989 году компания представила первое поколение 8-битных PIC — серию PIC16C5x, которая стала коммерчески успешной. Эти микроконтроллеры использовали RISC-архитектуру (Reduced Instruction Set Computer) с 33 командами, что было революционным для того времени.

Эра Flash-памяти

В 1996 году Microchip выпустила модель PIC16F84 — первый PIC с электрически стираемой памятью программ (Flash). Это позволило многократно перепрограммировать микроконтроллеры без ультрафиолетового стирания, что резко упростило разработку и отладку. С этого момента PIC стал массово использоваться в любительских и образовательных проектах.

Современный этап

В 2000-х годах Microchip расширила линейку: появились 16-битные PIC24 и dsPIC (с DSP-блоком), а в 2010-х — 32-битные PIC32 на ядре MIPS32. В 2018 году Microchip приобрела компанию Atmel (производителя конкурирующих AVR), но продолжила развивать обе платформы. На 2024 год семейство PIC насчитывает более 1000 моделей, от крошечных 8-ногих PIC10 до мощных 32-битных PIC32MZ.

Архитектура

Гарвардская архитектура

Микроконтроллеры PIC используют модифицированную гарвардскую архитектуру, в которой память программ (Flash) и память данных (ОЗУ) физически разделены и имеют разные шины. Это позволяет одновременно выбирать следующую команду и выполнять текущую, что повышает быстродействие. Разрядность командной шины обычно больше разрядности данных: например, для 8-битных PIC команды имеют длину 12, 14 или 16 бит.

RISC-ядро

Ядро PIC основано на RISC-принципах: большинство команд выполняются за один тактовый цикл (кроме команд перехода). Количество команд варьируется от 33 (базовые модели) до 84 (продвинутые 16-битные). Типичные команды включают загрузку/сохранение, арифметику, логические операции, битовые операции и условные переходы.

Регистровая модель

Все регистры в PIC, включая порты ввода-вывода и периферийные модули, отображаются в единое адресное пространство данных (ОЗУ). Это упрощает программирование: доступ к периферии осуществляется как к обычным ячейкам памяти. Регистры общего назначения (GPR) и специальные регистры (SFR) расположены в одной области.

Классификация

По разрядности

  • 8-битные PIC (PIC10, PIC12, PIC16, PIC18) — самая массовая линейка. Производительность до 16 MIPS, память до 128 Кбайт Flash. Применяются в простых устройствах: пульты, датчики, игрушки.
  • 16-битные PIC (PIC24, dsPIC30/33) — производительность до 70 MIPS, память до 512 Кбайт. dsPIC имеют встроенный DSP-блок для цифровой обработки сигналов. Используются в аудио, управлении двигателями, измерительных приборах.
  • 32-битные PIC (PIC32MX, PIC32MZ) — на ядре MIPS32, производительность до 200 МГц, память до 2 Мбайт. Поддерживают операционные системы реального времени (FreeRTOS). Применяются в сложных системах: медицинская техника, автомобильная электроника.

По поколениям

  • Базовое (Baseline) — PIC10, PIC12, PIC16 с 12-битными командами. Минимум периферии, низкая цена.
  • Среднее (Mid-Range) — PIC16 с 14-битными командами. Расширенная периферия (АЦП, ШИМ, компараторы).
  • Высшее (High-End) — PIC18 с 16-битными командами. Улучшенная архитектура, поддержка C-компиляторов, аппаратное умножение.

Периферийные модули

Типичный PIC содержит набор встроенных периферийных устройств, которые можно настраивать программно:

  • Порты ввода-вывода (GPIO) — от 6 до 144 выводов с возможностью подтяжки, прерываний по изменению уровня.
  • Таймеры/счётчики — 8- и 16-битные, с предделителями и возможностью захвата/сравнения.
  • Аналого-цифровой преобразователь (АЦП) — разрядность 8–12 бит, скорость до 1 млн выборок/с.
  • Широтно-импульсная модуляция (ШИМ) — до 16 каналов, используется для управления двигателями, светодиодами.
  • Интерфейсы связиUART (RS-232, RS-485), SPI, I²C, CAN (для автомобильных PIC), USB (для PIC18 и PIC32).
  • Компараторы и операционные усилители — для аналоговой обработки сигналов.
  • Модули LCD/OLED — для прямого управления дисплеями.

Программирование

Среды разработки

  • MPLAB X IDE — официальная среда от Microchip на базе NetBeans. Поддерживает все PIC, включает симулятор, отладчик и компиляторы.
  • MPLAB XC — семейство C-компиляторов (XC8, XC16, XC32) с оптимизацией под разные линейки.
  • Arduino IDE — сторонняя поддержка через плагины (например, для PIC32).
  • SDCC — бесплатный C-компилятор для 8-битных PIC (с ограничениями).

Языки

  • Ассемблер — традиционный способ, даёт полный контроль над ресурсами. Используется в критичных по времени задачах.
  • C — основной язык для современных разработок. Microchip предоставляет библиотеки периферии (PLIB) и драйверы.
  • BASIC — через компиляторы Proton BASIC или mikroBasic (для образовательных целей).
  • MikroC — коммерческий компилятор с визуальным конфигуратором.

Программаторы и отладчики

  • PICkit — недорогой программатор/отладчик (PICkit 3, PICkit 4, PICkit 5).
  • ICD (In-Circuit Debugger) — профессиональные отладчики (ICD 3, ICD 4).
  • MPLAB Snap — бюджетный отладчик с поддержкой USB.
  • Bootloader — позволяет загружать прошивку через UART или USB без программатора.

Применение

Бытовая электроника

PIC используются в пультах дистанционного управления, стиральных машинах, микроволновых печах, термостатах, электронных игрушках. Например, PIC16F84A был популярен в самодельных устройствах благодаря простоте.

Автомобильная промышленность

Микроконтроллеры PIC применяются в системах управления двигателем (ECU), подушках безопасности, антиблокировочной системе (ABS), климат-контроле, бортовых компьютерах. Специализированные серии (PIC18FxxKxx) имеют CAN-интерфейс и работают при температурах до +125 °C.

Промышленная автоматизация

PIC используются в программируемых логических контроллерах (ПЛК), датчиках, исполнительных механизмах, системах учёта энергии. dsPIC с DSP-блоком применяются для управления электродвигателями (частотные преобразователи, сервоприводы).

Медицинская техника

Измерительные приборы (глюкометры, тонометры), инфузионные насосы, портативные мониторы — все эти устройства часто базируются на PIC32 из-за низкого энергопотребления и высокой точности АЦП.

Образование и хобби

Благодаря низкой цене (от $0.5) и обилию документации, PIC популярны среди радиолюбителей и студентов. Существуют отладочные платы (PICDEM, Curiosity), а также книги и онлайн-курсы по PIC-программированию.

Преимущества и недостатки

Преимущества

  • Широкий ассортимент — более 1000 моделей, от ультрабюджетных до высокопроизводительных.
  • Низкое энергопотребление — некоторые модели (PIC24F) потребляют менее 1 мкА в спящем режиме.
  • Простота архитектуры — лёгкое освоение для начинающих.
  • Высокая надёжность — промышленный диапазон температур, стойкость к помехам.
  • Долгосрочная доступность — Microchip гарантирует выпуск моделей в течение 10–15 лет.

Недостатки

  • Устаревшая архитектура — 8-битные PIC имеют ограниченную производительность и память по сравнению с ARM-конкурентами.
  • Сложность экосистемы — MPLAB X IDE громоздкая, а компиляторы XC имеют платные версии с полной оптимизацией.
  • Ограниченная поддержка C — для 8-битных PIC C-компиляторы менее эффективны, чем ассемблер.
  • Закрытость — в отличие от AVR, PIC не имеют открытых спецификаций ядра (кроме PIC32).

Конкуренты

Основные конкуренты PIC на рынке микроконтроллеров:

  • AVR (Atmel/Microchip) — прямая альтернатива 8-битным PIC, популярна в Arduino.
  • STM32 (STMicroelectronics) — 32-битные ARM Cortex-M, доминируют в высокопроизводительном сегменте.
  • PSoC (Infineon) — программируемые аналоговые и цифровые блоки.
  • MSP430 (Texas Instruments) — ультранизкое энергопотребление.
  • ESP32 (Espressif) — встроенный Wi-Fi и Bluetooth.

Интересные факты

  • Название «PIC» изначально расшифровывалось как «Programmable Intelligent Computer» (программируемый интеллектуальный компьютер), но позже было изменено на «Peripheral Interface Controller».
  • Первый PIC (PIC1650) производился по технологии NMOS, современные модели — по CMOS (0.18–0.35 мкм).
  • В 1990-х годах PIC были одними из первых микроконтроллеров, доступных для самостоятельной сборки радиолюбителями (через наборы «PIC Programmer»).
  • В России PIC популярны в учебных заведениях: многие вузы используют их для обучения основам микропроцессорной техники.
  • Microchip ежегодно проводит конкурс «Microchip Masters» среди разработчиков на PIC.

Источники

  • Microchip Technology Inc. — официальная документация (datasheets, application notes, reference manuals).
  • «PIC Microcontrollers: An Introduction to Microchip PIC Microcontrollers» — John Iovine.
  • «Programming 16-Bit PIC Microcontrollers in C» — Lucio Di Jasio.
  • Журнал «Радио» — статьи по PIC-программированию (1990–2020-е).
  • Сайт EasyElectronics.ru — обзоры и уроки по PIC.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →