Микроконтроллеры РIC. Обзор, характеристики, достоинства


История создания PIC –контроллеров.

Прообразом контроллеров семейства PIC с RISC –архитектурой послужил периферийный контроллер ( Peripheral Interface Controller — PIC), разработанный в 1975 году отделением компании General Instrument Microelectronics Inc для поддержки ввода–вывода 16–разрядного про­цессора. Поскольку к контроллеру не предъявлялось высоких требований по об­работке данных, он имел ограниченный набор команд, при этом почти все команды в нем выполнялись за один машинный цикл. Другая особенность контроллера — использование Гарвардской архитектуры, основанной на разделении шин и обла­стей памяти для данных и команд.

Позже отделение компании General Instrument выделилось в самостоятельную фирму ( Microchip Technology Ltd .), которая в конце 1980–х годов разработала и изготовила первые модели микроконтроллеров семейства Р1С16С5х. Дальней­шее развитие и совершенствование контроллеров шло по пути расширения со­става периферийных устройств и набора команд, совершенствования технологии и улучшения характеристик. За прошедшие годы фирмой выпущено несколько семейств PIC, каждое из которых постоянно пополняется новыми моделями (вер­сиями).

Обзор PIC– контроллеров.

В настоящее время фирма Microchip выпускает пять семейств микроконтроллеров:

● PIC 16 C 5 X включает недорогие контроллеры с минимальным набором периферийных устройств:

● Р I С12Сххх содержит МК в миниатюрном 8–выводном корпусе со встроенным тактовым генератором и модулем 8–разрядного АЦП (для некоторых моделей);

● Р I С16х/7х/8х/9х объединяет МК с развитой периферией (таймеры–счетчики с опциями захвата/сравнения, широтно–импульсные модуляторы, аналоговые компараторы, АЦП, контроллеры последовательных интерфейсов);

● Р IC 17С4х/5хх включает высокопроизводительные МК с расширенной систе­мой команд и обширной периферией. Микроконтроллеры этого семейства имеют встроенный аппаратный умножитель 8 r 8, выполняющий операцию ум­ножения за один машинный цикл;

● Р I С18Сххх — новое семейство с оптимизированным под использование Си–компилятора RISC –ядром и частотой внутренней шины до 10 МГц.

Потребителям предоставляются три модели микроконтроллеров семейства PICMicro с различными сочетаниями характеристик и свойств.

Младшие модели.

К ним относятся МК серии 16С5х и 8–выводные МК серии 12С5хх, которые реализуют нижний уровень возможностей микроконтроллеров семейства PICMicro и используются для создания небольших и простых приложе­ний. Они выполняют подмножество команд старших моделей и программно со­вместимы с ними. Младшие модели сыграли большую роль в развитии семейства PICMicro . Однако ограниченные возможности обработки прерываний, малый объем доступной памяти программ и RAM , отсутствие внутрисистемного про­граммирования и портов ввода/вывода с расширенными функциями, снижение стоимости технологических затрат явились причинами перехода к моделям мик­роконтроллеров среднего уровня, которые продавались по такой же (и даже бо­лее низкой) цене, как и МК младших моделей.

Средние модели.

Модели среднего уровня образуют законченную линию микроконтроллеров (серия 16Схх) с множеством различных функций и получили наиболее широкое распространение. Они имеют такую же базовую архитектуру, как микроконтроллеры младших моделей, но существенно отличаются возможно­стями обработки прерываний.

Старшие модели.

Микроконтроллеры старших моделей (серии 17Схх) раз­рабатывались для взаимодействия с другими цифровыми устройствами. Поэтому в них отсутствуют имеющиеся в моделях среднего уровня АЦП и устройства для подключения датчиков. В контроллерах используются 16–битные команды, спо­собные адресовать по 128К байт памяти программ и памяти данных (64К слов по 16 бит). Для чтения/записи памяти программ в МК используется модифицированное ядро центрального процессора, позволяющее различным командам обращаться ко всем регистрам процессора. Это повышает гибкость микроконтроллеров и расширяет области их применения. Младшие и средние модели такой возможно­стью не обладают. Кроме того, в старших моделях PICMicro имеется несколько векторов прерываний, в то время как в микроконтроллерах среднего уровня ис­пользуется только один вектор прерывания.

Ссылки

  • 16-бит MSP430 • MCS-96 • MCS-296 • PIC24 • MAXQ • Nios • 68HC12 • 68HC16
    32-бит ARM • MIPS • AVR32 • PIC32 • 683XX • M32R • SuperH • Nios II • Am29000 • LatticeMico32 • MPC5xx • PowerQUICC • Parallax Propeller

    Производители Analog Devices • Atmel • Silabs • Freescale • Fujitsu • Holtek • Hynix • Infineon • Intel • Microchip • Maxim • Parallax • NXP Semiconductors • Renesas • Texas Instruments • Toshiba • Ubicom • Zilog • Cypress • Интеграл • Миландр
    Компоненты Регистр • Процессор • SRAM • EEPROM • Флеш-память • Кварцевый резонатор • Кварцевый генератор • RC-генератор • Корпус
    Периферия Таймер • АЦП • ЦАП • Компаратор • ШИМ-контроллер • Счётчик • LCD • Датчик температуры • Watchdog Timer
    Интерфейсы CAN • UART • USB • SPI • I²C • Ethernet • 1-Wire
    FreeRTOS • μClinux • BeRTOS • ChibiOS/RT • eCos • RTEMS • Unison • MicroC/OS-II • Nucleus • Contiki
    Программирование JTAG • • Программатор • Ассемблер • Прерывание • MPLAB • AVR Studio • MCStudio
    Эта статья или раздел носит выраженный рекламный характер.
    Это не соответствует правилам Википедии. Вы можете помочь проекту, исправив текст согласно стилистическим рекомендациям Википедии.

Характеристики контроллеров.

Следует отметить, что различный аппарат­ный состав и характеристики имеют не только микроконтроллеры разных се­мейств, но и модели (версии) одного семейства. Однако общим для большинства моделей контроллеров является:

● RISC –архитектура (с двухступенчатым конвейером), обеспечивающая выпол­нение большинства команд процессора за один машинный цикл;

● Гарвардская архитектура (с раздельными шинами данных и программ), обес­печивающая одновременный доступ к памяти данных и программ;

● КМОП технология, обеспечивающая:

• полностью статический режим работы, при котором остановка тактового генератора не приводит к потере логических состояний внутренних узлов;

• широкий диапазон напряжений питания (2…6 В) и температур (–40…+70 °С);

• малое энергопотребление;

● наличие таймера–счетчика с программируемым предварительным делителем, сторожевого таймера с встроенным R С–генератором, таймера–счетчика реаль­ного времени — ТМ R 0, регистра состояния — STATUS ; регистра косвенной адресации — FSR и др.

● прямой и косвенный режимы адресации; режим пониженного энергопотреб­ления.

В качестве примера в табл. 6.1.1 приведены показатели МК средних моделей.

Содержание

  • 1 8-битовые микроконтроллеры 1.1 8-битовые микроконтроллеры PIC10/12/16 1.1.1 Архитектура базового (BASELINE) семейства
  • 1.1.2 Архитектура среднего (MID-RANGE) семейства
  • 1.2 8-битовые микроконтроллеры PIC18
  • 2 16-битовые контроллеры
      2.1 16-битовые микроконтроллеры PIC24F и PIC24H
  • 2.2 Контроллеры цифровой обработки сигналов dsPIC30F и dsPIC33F
  • 3 32-битовые микроконтроллеры
  • 4 Средства отладки
  • 5 См. также
  • 6 Примечания
  • 7 Ссылки
  • Достоинства контроллеров.

    К достоинствам микроконтроллеров PIC следу­ет отнести:

    ● высокую производительность, которая позволяет реализовывать различные устройства, работающие в реальном времени с большими скоростями (си­стемы управления автомобильными и электрическими двигателями, видеоиг­ры и др.). В частности, производительность Р I С16С5х при частоте тактирова­ния в 20 МГц составляет 5 MIPS (Million Instruction Per Second — миллионов инструкций в секунду). Высокая производительность достигается благодаря использованию:

    • RISC –процессора, большинство команд которого выполняется за один ма­шинный цикл (команды перехода и операции табличного чтения выполня­ются за два цикла);

    • двухступенчатого конвейера, совмещающего выполнение текущей команды с выборкой из памяти следующей команды;

    • Гарвардской архитектуры, обеспечивающей одновременное считывание команд (12, 14 или 16 бит) и данных (8 или 1 бит);

    ● малое энергопотребление, открывающее широкие возможности для создания устройств с батарейным питанием, питанием от телефонной линии, солнеч­ных батарей (мобильные телефоны, электронные сторожа и др.). Для микро­контроллеров PIC 17, имеющих широкий набор аппаратных средств, потреб­ление тока составляет:

    • менее 5 мА при 5 В, 4 МГц;

    • 100 мкА при 4,5 В, 32 кГц;

    • менее 1 мкА при 5 В в режиме ожидания;

    ● мощную поддержку разработок, которую осуществляет фирма Microchip .

    В качестве средств поддержки разработчику приложений предоставлены ассемблер MPASM и макроассемблер, симулятор MPSIM, интегрированная система отладки для Windows MPLAB, программный, внутрисхемный и отла­дочный эмуляторы, универсальный программатор и компилятор С. Кроме того, имеются библиотеки для работы с фиксированной и плавающей точкой, с последовательным интерфейсом и с аналого–цифровым преобразователем, а также большое количество документированных примеров применения мик­роконтроллеров PIC в различных областях с исходными текстами. Обилие средств поддержки разработчика способствует сокращению сроков создания приложений;

    ● совместимость, проявляющуюся в том, что программы для микроконтролле­ров более ранних семейств PIC16C5X и PIC16CXX могут быть легко перене­сены на семейство устройств PIC17CXX;

    ● разнообразие используемых способов программирования «внутри» каждого семейства PIC.

    Фирма Microchip выпускает:

    • микроконтроллеры с ультрафиолетовым стиранием, в которых память мо­жет быть очищена и контроллер перепрограммирован с помощью програм­матора PRO МАТЕ фирмы Microchip для функционирования в любом режи­ме, например, в режиме с использованием RC –генератора. Эти микроконт­роллеры предназначены для экспериментальных разработок и отладки программ;

    • однократно программируемые контроллеры ( One – Time Programming PROM — OTP ), изготовленные в пластиковом корпусе, позволяют пользователю за­писать в память программу и биты конфигурации только один раз. Они применяются в тех случаях, когда нет необходимости часто менять со­держание программы или конфигурацию микроконтроллера в выпускаемом устройстве;

    • контроллеры, программируемые изготовителем по заказу пользователя ( Quality TP — QTP ). Этот сервис, предлагаемый фирмой Microchip , пред­назначен для устоявшегося кода программы;

    • контроллеры с серийными номерами ( SQTP ), программируемые изготови­телем по заказу пользователя. В этих МК несколько определенных пользо­вателем ячеек содержат номер, уникальный для отдельного устройства. Серийный номер может быть случайным, псевдослучайным и последова­тельным. Его можно использовать как код доступа, пароль или идентифи­катор;

    • масочные контроллеры ( ROM ), в которых используются масочные ПЗУ. Та­кие контроллеры, имеющие низкую стоимость, изготавливаются для мас­сового потребителя или при больших объемах заказа;

    ● высокую надежность, низкую стоимость и др.

    Благодаря указанным достоинствам микроконтроллеры находят широкое и разнообразное применение.

    Стек

    В процессорах стек используется для хранения адресов возврата из подпрограмм и прерываний, а так же, для передачи параметров в подпрограммы и возвращаемых значений. Кроме того, стек может использоваться для временного размещения любой необходимой информации. Однако, в Microchip PIC нет полноценного стека. Стек имеет фиксированный размер, в зависимости от семейства, и располагается вне адресного пространства памяти программ и памяти данных.

    Микроконтроллеры BaseLine

    имеют стек глубиной два 12-разрядных слова, не доступный программно, для хранения адресов возврата из подпрограмм. Адрес возврата заносится в стек при выполнении инструкции CALL и извлекается оттуда инструкцией RETLW. Таким образом, глубина вложенных вызовов подпрограмм равна двум. Прерывания в этих микроконтроллерах не реализованы. Некоторые микроконтроллеры, которые можно назвать Enhanced BaseLine, например, PIC16F570 имеют стек глубиной четыре 12-разрядных слова и могут обслуживать прерывания. Адрес возврата из прерывания помещается в стек при возникновении прерывания, а извлекается инструкцией RETFIE. Других отличий нет.

    Микроконтроллеры Mid-range

    отличаются от BaseLine только увеличенной до 8 уровней глубиной стека и длиной хранимого слова 14 разрядов. Кроме того, извлекать адрес возврата из стека может дополнительная инструкция RETURN. Каких либо иных отличий от BaseLine нет.

    Микроконтроллеры Enhanced Mid-range

    получили стек глубиной 16 уровней хранящий 15-разрядные адреса возвратов из подпрограмм и прерываний. Однако, этот стек уже доступен программно. Указатель текущей позиции в стеке хранится в младших 4 разрядах регистра STKPTR, а содержимое указываемого им слова в регистрах TOSL и TOSH. Причем в TOSH используются только младшие 7 бит. Все три регистра доступны для чтения и записи, что позволяет программе использовать стек для хранения своих данных. Специальных инструкция POP и PUSH нет, необходимо вручную изменять регистр STKPTR.
    Внимание, при доступе к стеку нужно исключить возможность возникновения прерываний, а лучше, запрещать их
    .

    Можно еще отметить своеобразный одноуровневый стек для сохранения регистров STATUS, WREG,BSR, PCLATH, FSR0L, FSR0H, FSR1L и FSR1H. Причем эти сохраненные копии доступны программно, так, например, регистру FSR0L соответствует сохраненная копия FSR0L_SHAD. Поскольку прерывания не могут быть вложенными такого одноуровневого хранилища достаточно.

    Микроконтроллеры PIC18

    имеют схожую с Enhanced Mid-range организацию работы со стеком. Только глубина стека увеличилась до 31 слова из 21 разряда. Указатель стека занимает 5 младших разрядов регистра STKPTR, там же расположились признаки переполнения и исчерпания стека. Добавился регистр TOSU, по аналогии с PCHATHU. Появились команды POP и PUSH, которые просто передвигают STKPTR.
    Внимание, при доступе к стеку нужно исключить возможность возникновения прерываний, а лучше, запрещать их
    . На рисунке ниже не показаны два бита состояния стека в регистре STKPTR.

    Так же, имеется одноуровневый стек для сохранения регистров при возникновении прерывания. Однако, сохраняются только регистры STATUS, WREG и BSR. Причем сохраненные копии программно не доступны. Зато появилась возможность использовать это хранилище при вызове подпрограмм и возврате из подпрограмм. Для этого нужно добавить параметр FAST в инструкции вызова и возврата. Обратите внимание, что можно сохранить только одну копию регистров! Причем, если произойдет прерывание между вызовом и возвратом, то содержимое регистров будет утеряно!

    Рейтинг
    ( 1 оценка, среднее 4 из 5 )
    Понравилась статья? Поделиться с друзьями:
    Для любых предложений по сайту: [email protected]