ТРИТОН-электронные компоненты

Поставка электронных компонентов - 718-84-05
Тритон-электронные компоненты

 

www.trt.ru

 

 

Образцы
Вы можете заказать образцы микросхем Microchip под свой проект



 
  Серия 16-разрядных микроконтроллеров общего назначения PIC24  



Основные черты:
•  Два семейства серии:
— PIC24F , низкая ценовая категория, быстродействие 16 MIPS , средняя производительность.
— PIC24H, быстродействие 40 MIPS , высокая производительность.
•  Выполнение команды за 2 такта генератора.
•  Расширенная периферия.
•  Технология PPS ( Peripheral Pin Selection ) для маловыводных корпусов.
•  Память программ: от 12 до 256 КБ.
•  Память данных: от 1 до 16 КБ.
•  Корпуса: от 18 до 100 выводов.
•  Широкие возможности по оптимизации кода на С (по размеру или быстродействию)
•  Удобства контроля в реальном времени:
— Ответ на прерывание за 5 циклов.
— Выполнение большинства инструкций за один цикл.
— Аппаратное умножение за один цикл.
— Деление 32/16 и 16/16.
•  Возможность защиты кода CodeGuard.
•  Система управления энергопотреблением nanoWatt.
•  Ток портов ввода/вывода общего назначения – 18 мА.
•  Порты толерантны к устройствам с 5 В питанием.

Растущие требования к производительности и функциональности электронных устройств приводят к появлению все более совершенных моделей микроконтроллеров. Ведущие производители электронных компонентов серьезно сконцентрировались на разработке новых 16-битных и 32-битных моделей микроконтроллеров, стоимость которых уже сопоставима с ценой лучших представителей популярных 8-битных архитектур.

Разумеется, компания Microchip не осталась в стороне и выпускает на рынок новые семейства 16-битных микроконтроллеров - PIC24F и PIC24H.

Первым семейством с 16-битной архитектурой, выпущенным Microchip на рынок стала линейка dsPIC30F. Это семейство удачно сочетает 16-битное ядро, большой набор внутренней периферии и функции цифровой обработки сигналов, такие как специфические методы адресации, MAC-инструкции, и т. п.

Тем не менее, опыт продаж dsPIC30F показал, что большинство пользователей применяют его как обычный многофункциональный 16-битный микроконтроллер, не используя при этом возможности встроенного DSP-ядра. В связи с этим, компания Microchip приняла решение о начале производства нового 16-битного семейства PIC24. Рассмотрим его подробнее.

Следует заметить, что 16-битное ядро семейств dsPIC30F и PIC24 не имеет ничего общего с популярными 8-битными семействами PIC16/PIC18. Ядро PIC24 основано на модифицированной Гарвардской архитектуре (раздельная шина команд и шина данных) с расширенным набором инструкций, имеет 16 ортогональных регистров общего назначения, векторную приоритетную систему прерываний, и другие особенности (методы адресации, аппаратные циклы), которых нет в 8-битных контроллерах Microchip.

В производство запускается две модификации - PIC24F и PIC24H, которые отличаются технологией изготовления FLASH программной памяти. Это определяет диапазон питающих напряжений – для PIC24F – 2,0…3,6 В, для PIC24H – 3,0…3,6 В. Оба варианта не имеют встроенной памяти EEPROM.

Первое семейство (PIC24F) производится по более дешевой технологии (0,25 мкм) и работает с максимальной производительностью ядра 16MIPS@32МГц. Второе семейство (PIC24H) производится с использованием более сложного техпроцесса изготовления, что позволяет добиться большей скорости работы (40MIPS@80МГц). Оба семейства поддерживают внутрисхемное программирование (ICSP) а так же самопрограммирование (RTSP). За счет изменения структуры FLASH памяти скорость программирования значительно увеличена (менее 1 секунды для контроллеров с 64 кБ программной памяти). Следует заметить, что семейство PIC24H поддерживает не более 1000 циклов перепрограммирования FLASH памяти.

Высокая производительность достигается за счет переработанной системы тактирования. В отличие от предыдущих 8- и 16-битных семейств микроконтроллеров Microchip одна команды выполняется не за 4, а за 2 такта генератора. Это позволило существенно поднять производительность микроконтроллеров и при этом значительно снизить энергопотребление по сравнению с dsPIC30F.

Новое ядро имеет 16-битную шину данных, линейную память программ (поддерживается до 8 Мбайт) и линейную память данных (до 64 кБ). Важной особенностью является возможность отображения части памяти программ в память данных, что позволяет эффективно работать с таблицами констант, не используя для этого инструкции табличного чтения/записи. При этом доступ к отображенной памяти программ (только чтение) осуществляется за 2 командных такта.

Расширенная система команд позволяет получать эффективный код при использовании компиляторов языков высокого уровня. Поддерживается большое количество методов адресации (прямая, косвенная, пре- и постинкрементная, со смещением, и т. п.), трехоперандные инструкции (типа C = A + B), инструкции сдвига на произвольное кол-во бит, инструкции знакового и беззнакового умножения и деления. Используется программный стек (в отличие от аппаратного у 8-битных семейств) с контролем переполнения. Для передачи параметров в функции существует возможность выделять фрейм в стеке с помощью LINK регистра.

В отличие от dsPIC30F в рассматриваемых семействах отсутствует DSP ядро, и соответствующие инструкции и методы адресации (по модулю, бит-реверсивная адресация).

Система прерываний семейств PIC24 является векторной – каждое прерывание имеет свой вектор в ПЗУ. Кроме того, каждому прерыванию может быть присвоен приоритет от 0 до 7. Аппаратные исключения (ошибка АЛУ, сбой генератора, переполнение стека, и т. п.) так же имеют свои адреса в таблице векторов прерываний. Следует заметить, что семейства PIC24 имеют две таблицы векторов прерываний, из которых активная выбирается программно.

По сравнению с 8-битными контроллерами Microchip значительно переработаны и расширены периферийные модули.

Порты ввода-вывода.
Каждый порт кроме привычных регистров TRIS, PORT и LAT имеет регистр ODC, конфигурирующий вывод как выход с открытым стоком. Это позволит работать с внешними устройствами с напряжением питания 5 В, для которых логическая единица на выводе контроллера попадает в зону неопределенного состояния. Выводы контроллера настроенные на вход толерантны к 5 В.

Таймеры.
Контроллеры семейства PIC24F имеют пять 16-битных таймеров, из которых четыре (TIMER2 и TIMER3, TIMER4 и TIMER5) могут объединяться в два 32-битных. Все таймеры имеют регистры периода и векторы прерывания по совпадению, а так же могут работать в синхронном и асинхронном режимах.

TIMER1 имеет генератор для низкочастотного кварцевого резонатора, от которого тактируется модуль часов реального времени. Так же от этого генератора может тактироваться ядро микроконтроллера.

Контроллеры семейства PIC24H имеют до девяти 16-битных таймеров, из которых восемь могут объединяться в четыре 32-битных.

Модули захвата.
Контроллеры семейства PIC24F имеют 5 идентичных независимых модулей захвата, формирующих прерывания и сохраняющих мгновенное значение таймера при возникновении внешнего события (передний или задний фронт импульса на выводе контроллера). Модули захвата имеют настраиваемый 4-уровневый буфер FIFO, который позволяет реже обрабатывать прерывания при высокой частоте событий.

Контроллеры семейства PIC24H имеют до 8 модулей захвата.

Модули сравнения / генерации ШИМ.
Контроллеры семейства PIC24F имеют до пяти независимых модулей сравнения, устанавливающих определенное логическое состояние на выводе контроллера при совпадении значения выбранного таймера с регистром модуля. Модули сравнения позволяют генерировать на выводе контроллера одиночный импульс, серию и непрерывную последовательность импульсов. Кроме того, этот модуль может быть использован для генерации сигнала ШИМ с учетом задержек на переключение мощных MOSFET транзисторов (dead-time). Два регистра сравнения у каждого модуля позволяют генерировать центральносмещенный ШИМ сигнал.

Контроллеры семейства PIC24H имеют до 8 модулей сравнения / генерации ШИМ.

Модуль SPI™.
Контроллеры семейств PIC24F и PIC24H имеют до двух 16-битных модулей SPI с 8-уровневым буфером FIFO и скоростью обмена до 16 Мбит/с. Модули могут работать в режимах «ведущий», «ведомый», «ведущий с кадровой синхронизацией». Последний режим позволяет подключать к контроллеру современные голосовые кодеки.

Модуль I2C™.
Контроллеры семейств PIC24F и PIC24H имеют до 2 модулей I2C, поддерживающих режимы «ведомый» и «ведущий» с возможностью арбитража и 8- и 10-битной адресации. Имеется возможность прерывания по совпадению адреса с задаваемой маской.

Модуль USART.
Контроллеры семейств PIC24F и PIC24H имеют до двух модулей UART с возможностью 8- и 9-битного обмена. Основными особенностями этих модулей являются наличие линий аппаратного управления потоком (CTS и RTS), 4-уровневого буфера FIFO на приемнике и на передатчике, а так же кодер и декодер спецификации IrDA®. Тактовый генератор модуля имеет 16-битный предделитель, который обеспечивает установку скорости обмена от 15 бит/с до 1 Мбит/с при тактовой частоте 32 МГц.

Параллельный порт.
Модуль параллельного 8-битного порта поддерживает 16-битную адресацию, и может быть использован для коммуникации с внешней памятью, ЖКИ индикаторами и другими устройствами с параллельной шиной. Модуль имеет 2 вывода CS (chip-select), возможность конфигурации активных уровней управляющих линий, автоинкремент/декремент адреса, выбор активных уровней шин данных и адреса, конфигурацию задержек. Модуль может работать как в режиме ведущего, так и в режиме ведомого. Параллельный порт присутствует только в контроллерах семейства PIC24F.

Модуль часов реального времени с календарем.
Модуль тактируется от генератора таймера TIMER1 и имеет возможность аппаратной калибровки. Данные в регистрах хранятся в формате BCD, существует возможность гибкой настройки системы тревог. Учет високосных годов и перевод времени зимнее/летнее должен осуществляться программно. Модуль присутствует только в контроллерах семейства PIC24F.

Модуль вычисления CRC.
Модуль предназначен для вычисления циклического избыточного кода с произвольным полиномом. Модуль имеет 16-уровневый FIFO данных, и прерывание по завершению вычисления. Модуль доступен только в контроллерах семейства PIC24F.

10-битный АЦП.
Контроллеры семейства PIC24F имеют один 10-битный АЦП последовательного приближения (до 16 каналов) с частотой преобразования 500 тыс. выборок в секунду. Формирователь напряжения для схемы выборки хранения имеет дифференциальный вход, что позволяет оцифровывать сигнал с дифференциальных датчиков без использования промежуточного усилителя. Частота преобразования может быть увеличена, при этом происходит потеря младших разрядов результата.

АЦП имеет буфер на 16 слов, заполнение буфера происходит по заданной последовательности – возможно автоматическое поочередное сканирование выбранных каналов. Прерывание возникает при заполнении буфера на заданное количество уровней. Результаты преобразования могут быть представлены как дробные или целые числа, знаковые или беззнаковые.

Контроллеры семейства PIC24H имеют до двух АЦП с расширенной функциональностью (4 устройства выборки-хранения с дифференциальными формирователями, что позволяет проводить одновременное измерение по четырем дифференциальным каналам). Разрядность АЦП определяется пользователем – возможно использование АЦП как 12-битного при частоте преобразования 500 тыс. выборок в секунду, либо как 10-битного при частоте преобразования 1,1 млн выборок в секунду. Каждый модуль АЦП может иметь до 32 каналов. Возможна синхронная работа преобразователей, при этом эквивалентная частота преобразования удваивается.

12-битный АЦП.
Контроллеры семейства PIC24H имеют до двух 12-битных АЦП последовательного приближения (до 32 каналов) с частотой преобразования 500 тыс. выборок в секунду. Функциональность 12-битного АЦП аналогична 10-битному АЦП семейства PIC24F, рассмотренному выше (одно УВХ).

Компараторы.
Контроллеры семейства PIC24F имеют два компаратора с генератором опорного напряжения. Характеристики и функциональность компараторов аналогичны модулям в 8-битных семействе PIC18. Семейство PIC24H компараторов не имеет.

Модуль DMA.
Модуль DMA (прямой доступ к памяти) присутствует только в контроллерах семейства PIC24H. Он позволяет эффективно передавать данные между периферией (SPI, UART, АЦП, CAN и т. д.) и ОЗУ без использования программных ресурсов. Для этого в семейство PIC24H добавлен блок 2 кБайт двухпортовой памяти ОЗУ. Модуль DMA имеет восемь идентичных каналов, каждый из которых может быть гибко настроен для приема и передачи блока данных, слова (16-бит), байта. При этом используется косвенная адресация с постинкрементом, либо ping-pong адресация.

Модуль CAN.
Модуль CAN присутствует только в контроллерах семейства PIC24H. В сравнении с аналогичным модулем в контроллерах PIC18 он значительно переработан и имеет 16 фильтров на прием, 3 маски на прием, FIFO буферы на прием и на передачу.

Следует отметить, что впервые в практике Microchip контроллеры семейств PIC24F и PIC24H имеют JTAG интерфейс, позволяющий проводить граничное сканирование устройства, программировать FLASH память программ и проводить внутрисхемную отладку. Стандартный ICSP интерфейс так же будет присутствовать в каждом контроллере PIC24, что позволит использовать привычные средства разработки и производства (ICD2, PROMATE 3, и т. п.)

Возможность защиты кода CodeGuard.
Система защита интеллектуальной собственности CodeGuard позволяет размещать на одном ядре коды разных производителей, сохраняя их авторское право, и разделять между этими кодами аппаратные ресурсы (память, прерывания и периферию). Flash -память может быть подразделена на три сегмента с различными системными функциями и привилегиями доступа:
•  Загрузочный сектор ( Boot Sector ) имеет высший уровень привилегий, т.е. доступ ко всем остальным секторам. Предназначен для закрытого хранения алгоритмов обновления прошивки.
•  Защищенный сектор ( Secure Sector ) имеет средний уровень привилегий. Предназначен для хранения защищаемого кода.
•  Основной сектор ( General Sector ) имеет низкий уровень привилегий. В нем хранится код конечного пользователя.

Нужные области оперативной памяти могут быть отмечены как защищенные, т.е. строго привязанные к загрузочному и защищенному секторам. Система защиты открывает доступ к определенным точкам входа в программе защищенного сектора, при этом считать, модифицировать или повлиять на ход выполнения этого кода невозможно.

Мультиплексируемая периферия (Peripheral Pin Select — PPS)
Важной задачей при создании микроконтроллеров общего назначения является предоставление пользователю широкого набора различной периферии. Однако это приводит к назначению нескольких функций на один вывод, что особенно часто встречается в маловыводных корпусах.

Мультиплексируемая периферия решает эту проблему, позволяя пользователю самому выбирать входные и выходные выводы для нужного ему модуля. Для этой цели отведены до 26 специальных выводов, помеченных как RP ( Remappable Peripheral ) и два набора управляющих регистров: один – на вход, второй – на выход.

Мультиплексированию подлежит только цифровая периферия: UART , SPI , таймеры и модули захвата/сравнения и внешние входы прерываний.

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

Таблица основных различий семейств PIC24F и PIC24H

PIC24F

PIC24H

Ядро

16 MIPS 16-bit Core

40 MIPS 16-bit Core

Память

16-128 KB Flash

12-256 KB Flash

4-8 KB RAM

1-16 KB RAM

DMA

Периферия

ADC 10-bit, 16 каналов

2x ADC 12-bit, 16 каналов

RealTime Clock Calendar (RTCC)

Cyclic Redundancy Check (CRC)

PMP

CAN


 
 

Daname.DesignLab
(495) 668-26-46                 © Тритон-электронные компоненты 2005                triton@trt.ru