Новые микроконтроллеры семейства PIC компании Microchip. Сохранение передовых позиций на рынке встраиваемых систем
В 2008–2009 годы компания выпустила две новые серии МК – PIC18F1xK50 и PIC18F1xK22 в 20-выводных корпусах. Новые микросхемы серии K50 имеют несколько последовательных интерфейсов – USB 2.0, I2C, SPI и USART, что позволяет организовывать обмен данными между USB и другими интерфейсами. Кроме того, они оснащены 9-канальными, 10-разрядными АЦП и двумя компараторами, что существенно расширяет возможности ввода данных. Микроконтроллеры серии К22 не имеют USB-модуля, но обладают повышенным быстродействием.
Характеристики микроконтроллеров серии PIC18F1xK50 представлены в табл.1.
RISC-Ядро
Дополнительно к стандартным 75 командам ядра микроконтроллеров серии PIC18 новые МК PIC18F1xK50 поддерживают дополнительные восемь команд с косвенной и индексной адресацией, расширяющие функциональность ядра. В ядре новых МК для многих стандартных команд ядра МК серии PIC18 также реализована индексная адресация со смещением. Расширение системы команд по умолчанию запрещено. Для разрешения расширенных команд служит специальный бит XINST микроконтроллера. Таким образом, реализуется полная программная совместимость со стандартным ядром, если пользователь работает с новыми микроконтроллерами со старым программным обеспечением.
Расширенные команды предназначены для улучшения оптимизации программ и возможности создания рентерабельного кода на языках высокого уровня, например на Си. Наряду с прочим, расширенные системы команд позволяют компиляторам языков высокого уровня эффективно выполнять такие операции над данными, как:
* автоматическое размещение и освобождение области программного стека при входе и выходе из подпрограмм;
* вызов функции по указателю;
* манипулирование с указателями на программный стек;
* работа с переменными, расположенными в программном стеке.
Максимальная тактовая частота микроконтроллеров серии K50 составляет 48 МГц при напряжении питания 2,7–5,5 В, и 20 МГц при напряжении 1,8–2,7 В.
Интерфейсы
Модуль USB контроллеров PIC18F1xK50 поддерживает низкоскоростную (Low Speed – 1,5 Мбит/с) и полноскоростную (Full Speed– 15 Мбит/с) спецификации USB 2.0. Микросхемы контроллеров содержат двухпортовую оперативную память емкостью 256 байт, выделенную для работы с USB, поддерживают 16 конечных точек (по восемь на вход и на выход). Как и старшие микроконтроллеры семейства PIC18, новые МК содержат все компоненты, необходимые для прямого подключения к USB-хосту – встроенный USB модуль с трансивером, подтягивающие резисторы на линиях D+ и D- для задания скорости передачи шины. Но контроллеры серии К50 не способны работать с внешним USB-трансивером.
Устройства на базе МК семейства PIC18F1xK50 могут питаться от шины USB, от собственного источника питания или от комбинированного источника питания. Хост или хаб USB имеет резисторы с сопротивлением ~15 КОм, подтягивающие напряжение к "земле". При подключении микроконтроллера к шине USB и наличии внешних подтягивающих резисторов к напряжению источника питания, он может определять изменение состояния на выводах D+ и D-, выставлять флаг прерывания и включать модуль USB. Функция обнаружения USB-хоста, которая переводит микроконтроллер в режим пониженного энергопотребления, когда USB-соединение отсутствует, – важная особенность новых МК компании.
Помимо модуля USB контроллеры имеют модуль последовательного интерфейса EUSART и модуль синхронного последовательного интерфейса MSSP. Модуль EUSART поддерживает работу с интерфейсами RS-485, RS-232 и LIN 2.0. Благодаря наличию внутреннего стабилизированного и подстраиваемого RC-генератора, а также возможности автоматического определения скорости принимаемых данных МК может работать без внешнего кварцевого генератора. Модуль синхронного последовательного интерфейса MSSP позволяет работать в привилегированном (Master) и подчиненном (Slave) режимах с интерфейсами SPI и I2C.
Аналоговая периферия
Микроконтроллеры серии PIC18F1xK50 содержат всю присущую МК семейства PIC стандартную аналоговую периферию – 10-разрядный АЦП, два аналоговых компаратора, фиксированный и программируемый источник опорного напряжения. Из нововведений следует отметить наличие встроенного прецизионного источника фиксированного опорного напряжения на три значения – 1,024 В, 2,048 и 4,096 В. Источник опорного напряжения может использоваться как база для программируемого источника опорного напряжения (простейший ЦАП), может подключаться на вход АЦП и компараторов.
Выход программируемого источника опорного напряжения может также подключаться к входу АЦП и компараторов, а также поступать на вывод микроконтроллера для использования совместно с его внешними цепями.
Два встроенных аналоговых компаратора предоставляют полезные функции, независимые от исполняемого программного кода. Входной мультиплексор компараторов позволяет подключать их входы к тому или иному выводу микроконтроллера и источникам опорного напряжения. Выход компаратора может поступать на выходной порт МК, может вызывать прерывания, выводить МК из энергосберегающего режима ожидания (Sleep), а также выключать его ШИМ-модуль.
Интегрированный RS-триггер в связке с компараторами позволяет пользователям обрабатывать различные параметры окружающей среды – от регистрируемой температуры и влажности до данных емкостного контактного датчика, а также реализовывать импульсные преобразователи энергии, управление мощными светодиодами и многое другое.
Порты ввода-вывода.
Необычная особенность портов ввода-вывода контроллеров серий PIC18F1xKxx – это возможность затягивания фронтов выходных сигналов для минимизации электромагнитных излучений при переключении портов. Программист может выбирать "нормальный" режим или затянуть фронт переключения портов в десять раз. Эта особенность может пригодиться, например, при управлении по длинным линиям ЖК-индикаторами, сигнализаторами и другими устройствами, не требующими высокоскоростных сигналов управления.
Микроконтроллеры серии K50, как и все контроллеры К-серий, выполнены по 0,35-мкм КМОП-технологии. Максимальное напряжение питания ядра МК составляет 3,6 В. Однако МК "F" версии (PIC18F1xK50) имеют встроенный регулятор источника питания на напряжение 3,2 В (табл.2), обеспечивающий работу МК в диапазоне напряжения питания 1,8–5,5 В. При этом вся периферия также функционирует во всем диапазоне питающих напряжений, за исключением выводов RA1 и RA2 (D+ и D-), которые могут работать как входы с уровнями напряжения до 3,6 В или как линии USB-интерфейса. МК версий "LF" (PIC18LF1xK50) не имеют встроенного регулятора напряжения питания, поэтому они рассчитаны на напряжение питания 1,8–3,6 В.
Новые микроконтроллеры совместимы по выводам со всеми 20-выводными контроллерами компании Microchip, правда, один их вывод выделен для подключения конденсатора, предназначенного для стабилизации внутреннего регулятора напряжения USB-модуля. Совместимость по выводам как с предыдущими контроллерами, так и с выпущенным позже семейством PIC18F1xK22 (контроллеры с аналогичными характеристиками, но без модуля USB), позволит унифицировать печатную плату под системы, выполняющие различные задачи, или с минимальными доработками интегрировать USB-интерфейс в существующую разработку.
Микроконтроллеры PIC18F1xK50 выпускаются в 20-выводных корпусах типа SSOP, SOIC, PDIP и миниатюрном корпусе QFN размером 5×5 мм. Диапазон рабочих температур составляет -40…125°С.
Поскольку МК PIC18LF1xK50 выполнены по технологии экстремально-низкого потребления – eXtrime Low Power (XLP), потребляемый ими ток в режиме ожидания составляет 24 нА, потребляемый ток сторожевого таймера – 450 нА, таймера 1 – 790 нА (в режиме часов реального времени с кварцевым генератором на частоту 32768 Гц).
Новые контроллеры поддерживаются всеми средствами отладки компании Microchip (программаторами-отладчиками PICkit2, PICkit3, ICD-2, ICD-3 и внутрисхемным эмулятором REAL ICE). Однако, как и для всех МК с малым числом выводов, для внутрисхемной отладки необходим специальный отладочный модуль. На плате отладочного модуля установлен специальный микроконтроллер PIC18F14K50-ICD, который содержит модуль теневой отладки и имеет дополнительные выводы, выделенные для внутрисхемной отладки.
В помощь разработчику компания Microchip выпускает демонстрационный комплект Low Pin Count USB Development Kit (номер для заказа DV164126). Этот демонстрационный комплект содержит все устройства, необходимые для начала работы и освоения маловыводных микроконтроллеров с USB (см. рисунок):
* демонстрационную плату с микроконтроллером PIC18F14K50 и одну плату без установленных компонентов для самостоятельной сборки;
* отладочный модуль для внутрисхемной отладки контроллеров семейства PIC18F1xK50;
* внутрисхемный отладчик-программатор PICkit2;
* компакт-диск с необходимым программным обеспечением, примерами программ и лабораторными работами для освоения USB-микроконтроллеров.
Новые USB-контроллеры поддерживаются готовыми USB-библиотеками копании Microchip. Пакет программ MCHPFS USB Framework содержит программы реализации различных классов USB-устройств. Для контроллеров PIC18F14K50 приведены примеры реализации коммуникационного CDC класса (виртуальный COM-порт через USB), различных устройств взаимодействия человек-машина (манипулятор мышь, джойстик, пользовательское устройство), устройство хранения данных – MSD, составное устройство (реализация HID и MSD через одно USB-соединение).
Микроконтроллеры Microchip PIC18F1xK22
Выпущенные компанией Microchip МК PIC18F13K22 и PIC18F14K22 отличаются от МК серии PIC18F1xK50 отсутствием модуля полноскоростного USB 2.0 и увеличенной до 64 МГц тактовой частотой ядра (табл.3).
При напряжении питания 1,8 В потребляемый ток МК серии PIC18F1хK22, которые также выполнены по технологии nanoWatt XLP, в режиме Sleep составляет всего 34 нА, сторожевого таймера –300 нА, таймера с кварцевым генератором на частоту 32 КГц – 800 нА.
Благодаря низкой цене, ультранизкому потреблению, малым габаритам, обширной коммуникационной и аналоговой периферии новые XLP МК серий PIC18F1xK50 и PIC18F1xK22 найдут широкое применение в преобразователях интерфейсов, датчиках, периферийных USB-контроллерах. Совместимость кода со старшими семействами и готовые примеры реализации различных классов USB-устройств помогут программистам легко и быстро освоить новые семейства маловыводных микроконтроллеров компании Microchip.