Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2008 №3

Обзор поколения 16-разрядных микроконтроллеров Microchip

Пантелейчук Алексей


В рамках предлагаемой статьи приведен краткий обзор одного из самых популярных в настоящее время поколений микроконтроллеров компании Microchip: 16-разрядных семейств dsPIC30, dsPIC33, PIC24F и PIC24H. Кратко описаны особенности основных узлов, приведена сводная сравнительная таблица основных параметров и характеристик каждого семейства. Особое внимание уделено описанию уникальных узлов, впервые реализованных в новых семействах dsPIC33, PIC24.

Однажды выпустив 16-разрядные микроконтроллеры dsPIC30, компания Microchip уверенно заняла нишу производительных 16-разрядных микроконтроллеров со встроенным ядром цифровой обработки сигналов — DSC (Digital Signal Controller). Семейство dsPIC30 оказалось весьма удачным в таких областях применения, как электроприводы для управления мощными многофазными электродвигателями, сложная медицинская аппаратура, многоканальные интеллектуальные источники питания.

В ногу со временем

Семейство dsPIC30 послужило отправной точкой для дальнейшего развития и расширения поколения 16-разрядных микроконтроллеров Microchip [1]. Благодаря своевременному вложению средств в новые производственные мощности и технологии, компания Microchip выпустила в свет три новых семейства: dsPIC33, PIC24H и PIC24F, производимых по технологии 0,25 мкм, что, прежде всего, позволило резко сократить уровень потребляемой мощности и поднять пиковую производительность до 40 MIPS.

Условно все 16-разрядные МК можно разделить на две группы (табл. 1): dsPIC30 и dsPIC33 — семейства микроконтроллеров с DSP-ядром, PIC24H и PIC24F — семейства 16-разрядных микроконтроллеров общего назначения. Самой широкой номенклатурой микроконтроллеров обладает семейство dsPIC30, как самое раннее. Это семейство делится на четыре подсемейства: общего назначения (GP — general purpose), управление двигателями (MC — motor control), управление интеллектуальными источниками питания (SMPS — Switch Mode Power Supply) и семейство Sensor Family со встроенным 12-разрядным АЦП для оцифровки, предварительной обработки и фильтрации данных с внешних датчиков.

Таблица 1. Основные сравнительные характеристики поколения 16-разрядных микроконтроллеров компании Microchip
Основные сравнительные характеристики поколения 16-разрядных микроконтроллеров компании Microchip

Системная шина

Системная шина состоит из 16-разрядной шины данных и 24-разрядной шины адреса (рис. 1). Организована линейная адресация памяти программ (8 Мбайт) и памяти данных (64 кбайт) с возможностью отображения любого 32-килобайтного окна памяти программ на фиксированную область памяти данных (PSV — Program Space Visibility). Также возможен обычный табличный доступ к памяти программ (как это реализовано в 8-разрядных микроконтроллерах Microchip).

Структурная схема микроконтроллеров семейства PIC24F

Ядро

В ядре есть набор из 16 внутренних регистров процессора с программно-аппаратным управлением стеком и аппаратным контролем над заранее указанными границами стека с генерацией соответствующего исключения. Все четыре 16-разрядных семейства имеют одинаковое процессорное ядро и, соответственно, одинаковую систему команд. Кроме того, в dsPIC30 и dsPIC33 встроено ядро ЦОС со своим дополнительным набором команд (табл. 2), любая из которых, а также подавляющая часть команд основного ядра выполняется за один командный цикл, длительность которого составляет 4 периода тактовой частоты для dsPIC30 и 2 периода для dsPIC33, PIC24H, PIC24F.

Таблица 2. Система команд ядра ЦОС микроконтроллеров семейств dsPIC30 и dsPIC33
Система команд ядра ЦОС микроконтроллеров семейств dsPIC30 и dsPIC33

Ортогональное построение системы команд позволяет добиться того, что практически любая команда поддерживает все доступные способы адресации данных. Это дает возможность значительно сократить размер конечного исполняемого кода, что в конечном итоге увеличивает скорость его выполнения.

В ядро ЦОС встроен модуль умножения 17×17, 40-разрядный модуль арифметического сдвига, аппаратный контроль переполнения результата, модули управления адресацией памяти, модули управления аппаратно реализованными циклами, умножение с накоплением, с предвыборкой по двум шинам X и Y, аппаратным контролем переполнения результата, его округлением и т. д. С помощью специального регистра управления ядром ЦОС возможен выбор дробного или целочисленного умножения, умножения со знаком или без учета знака, метода округления результата.

Управлением питанием

Для гибкого управления потребляемой мощностью с состав микроконтроллеров включены три режима энергосбережения: SLEEP — полный останов тактирования ядра и периферийных модулей (аналогично режиму в 8-разрядных микроконтроллерах Microchip), IDLE — останов тактирования только ядра, периферийные модули работают на рабочей тактовой частоте. Режим DOZE (в dsPIC30 отсутствует) — независимое тактирование ядра и периферийных модулей, позволяющее очень гибко управлять потребляемой мощностью микроконтроллера. Например: относительно редкая обработка данных, поступающих по внешним интерфейсам, но требующая своевременной реакции. В этом случае включенные периферийные модули тактируются номинальной тактовой частотой, а ядро — пониженной частотой, формируемой из основной частоты отдельным делителем.

Тактовый генератор

Доступны шесть источников тактовой частоты: внешний тактовый сигнал 0–40 МГц, FRC — внутренний высокочастотный программно калибруемый RC-генератор 7,37 МГц (8 МГц в PIC24F), LPRC — внутренний низкочастотный RC-генератор 512 кГц, HS — высокочастотный кварцевый генератор 10–25 МГц, LP — низкочастотный кварцевый генератор (кроме dsPIC30), ERC — внешний RC-генератор. Генераторы FRC и HS могут быть подключены к встроенному модулю ФАПЧ (PLL) (рис. 2). Возможность быстрого переключения источника тактового сигнала «на ходу» повышает гибкость управления потребляемой мощностью. Встроенный узел контроля сбоев высокочастотного генератора позволяет значительно повысить надежность конечного изделия: работа микроконтроллера в этих случаях не прекращается, так как автоматически подключается встроенный RC-генератор.

Структурная схема модуля ФАПЧ микроконтроллеров семейств dsPIC33, PIC24H и PIC24F

Контроллер прерываний

Контроллер прерываний построен на основе векторного контроллера прерываний с поддержкой приоритетов, подключен к единственному входу прерывания ядра, обслуживающему до 44 источников прерываний для dsPIC30, до 118 для dsPIC33/PIC24F/PIC24Hb и до 8 источников исключений (exceptions/traps) и программных прерываний (software traps). Каждый из источников прерываний имеет свой собственный вектор, которому можно назначить любой приоритет (до 7 уровней). Особенно стоит отметить следующую особенность: фиксированное время входа в прерывания и выхода из него (interrupt latency), что немаловажно при обработке внешних асинхронных событий, время на обработку и анализ которых должно быть заранее известно. Эта особенность крайне необходима в системах жесткого реального времени.

Контроллер прямого доступа к памяти

Контроллер прямого доступа к памяти (DMA), используя отдельную шину, позволяет осуществлять обмен между периферийными модулями и памятью данных без участия ядра процессора. Всего доступно 8 каналов DMA, каждый из которых может иметь один из 19 источников или приемников данных. Наличие девяти режимов работы позволяет выбрать оптимальный вариант работы каждого канала для конкретной задачи. Контроллер прерываний может быть настроен так, что прерывание от каждого из каналов DMA будет возникать либо после окончания пересылки всего блока данных, либо его половины.

Расширенный мультиплексор портов ввода/вывода

Расширенный мультиплексор портов ввода/вывода (PPS — Peripheral Pin Select Crossbar) позволяет встраивать в микроконтроллеры с малым числом выводов очень богатый набор периферийных модулей. Благодаря этому, в зависимости от технических требований один и тот же микроконтроллер можно использовать в различных изделиях [2]. Например, к одному аппаратному модулю UART микроконтроллера можно подключать сразу четыре устройства (рис. 3) с UART, причем переключение между устройствами может выполняться в процессе работы программы контроллера, то есть «на лету». Эта особенность также упрощает трассировку печатной платы устройства. Более того, корпус с меньшим числом выводов обходится дешевле в производстве и занимает значительно меньше места на плате устройства. Модуль PPS реализован в некоторых 18/28/44-выводных микроконтроллерах PIC24F и PIC24H. В будущем компания-изготовитель планирует размещать этот модуль и в других новых микроконтроллерах.

Пример подключения и работы нескольких внешних устройств с одним модулем UART

Серия микроконтроллеров SMPS

Серия микроконтроллеров SMPS (Switch Mode Power Supply) специально спроектирована для работы в составе интеллектуальных многоканальных импульсных источников питания [3]. В будущем компания Microchip планирует выпускать микроконтроллеры серии SPMS не только в семействе dsPIC30, но и в новом семействе dsPIC33.

Простота перевода проектов на новые семейства

Вне зависимости от размера памяти все члены семейств dsPIC33, PIC24H и PIC24F имеют одинаково богатый набор периферийных модулей, что позволяет осуществлять плавный переход на новое поколение и расширять возможности приложения. Совместимая схема расположения выводов в значительной степени упрощает замену микроконтроллеров, размещенных в 64-выводных корпусах, на микроконтроллеры в 80-выводных и в 100-выводных корпусах. Более того, одинаковая схема размещения выводов между семействами PIC24H и dsPIC33, аналогично тому, как это осуществлено для семейств PIC18 и dsPIC30, расширяет возможность наращивать производительность приложения, при этом отпадает необходимость смены фирмы-производителя.

Средства разработки

Все четыре семейства поддерживаются общей бесплатной средой разработки MPLAB IDE [4] со встроенным полным симулятором, ассемблером ASM30 и отдельно приобретаемым недорогим компилятором MPLAB C30 [5], построенным на базе популярного бесплатного компилятора GNU C с открытым исходным кодом. Компания Microchip выпускает обширный набор одноплатных модулей для ознакомления МК и разработки проектов на базе 16-разрядных микроконтроллеров dsPIC30/33 и PIC24F/H.

Заключение

В заключение можно привести неофициальные сравнительные данные производительности [6] семейств 16-разрядных микроконтроллеров компании Microchip с распространенными семействами 16/32-разрядных микроконтроллеров конкурирующих компаний (табл. 3, 4).

Таблица 3. Сравнительная производительность семейств dsPIC30 и dsPIC33 в 16-разрядных арифметических операциях
Сравнительная производительность семейств dsPIC30 и dsPIC33 в 16-разрядных арифметических операциях
Таблица 4. Сравнительная производительность семейств dsPIC30 и dsPIC33 при копировании 16-разрядных блоков данных
Сравнительная производительность семейств dsPIC30 и dsPIC33 при копировании 16-разрядных блоков данных

Подводя итоги, можно отметить, что выбор компании Microchip направления дальнейшего развития и вложения сил оказался весьма удачным. На свет вышло, пожалуй, самое удачное поколение 16-разрядных микроконтроллеров dsPIC30/dsPIC33/PIC24F/PIC24H, получившее высокую популярность среди разработчиков и производителей.

Причиной этому стало акцентирование внимания не только на тактовой частоте, собственном потреблении и богатстве периферийных модулей, зачастую требующих корректировки в последующих версиях кристаллов — Errata, что часто «отпугивает» разработчиков и производителей, а на таких «узких» местах, которые можно встретить во многих микроконтроллерах других производителей. Например, заранее известное (детерминированное) время входа в обработчики прерываний и выхода из них, минимизация числа тактов на выполнение любых команд и заранее вычисляемое время выполнения любого участка кода, минимальный набор команд, ориентированных на их гибкое применение в компиляторах языков высокого уровня.

Несмотря на стремительно растущую популярность 32-разрядных микроконтроллеров, поколение dsPIC30/dsPIC33/PIC24F/PIC24H твердо и уверенно занимает свою нишу в медицинской и промышленной аппаратуре, в которой всегда требуется повышенная надежность, большая функциональность, высокая производительность, малые габариты и низкая стоимость.

Литература

  1. Поколение 16-разрядных микроконтроллеров компании Microchip. www.microchip.com/dspic
  2. Расширенный мультиплексор портов ввода/вывода в PIC24. www.microchip.com/pps
  3. Новые микроконтроллеры dsPIC30 серии SMPS. Новости электроники. 2007. № 13.
  4. Среда разработки MPLAB IDE. www.microchip.com/mplab
  5. С-компилятор MPLAB C30. www.microchip.com/C30
  6. http://benchmarks.caxapa.ru

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке