Микроконтроллеры NXP Semiconductors на базе архитектуры Cortex-M0
Архитектура ARM и Cortex
Архитектура ARM была разработана одноименной английской компанией, организованной в 1990 году. Компания ARM была образована в результате слияния Apple Computer, Acorn Computer Group и VLSI Technology. Название ARM происходит от Advanced RISC Machines — это 32-битная микропроцессорная архитектура с сокращенным набором команд (RISC). Отметим, что компания специализируется только на разработке микропроцессорных ядер и периферийных блоков, при этом не имеет производственных мощностей по выпуску микроконтроллеров. ARM поставляет свои разработки в электронной форме, на основе которой производители конструируют собственные микроконтроллеры.
Клиентами компании ARM являются свыше 60 компаний — производителей полупроводников. NXP Semiconductors имеет долгосрочные партнерские отношения с ARM, что позволяет выделить ее в отдельную категорию среди большинства производителей микроконтроллеров на основе ARM-архитектуры, которым приходится постоянно продлевать лицензию на применение продуктов компании ARM.
В связи с большим разнообразием встраиваемых систем, а следовательно, и требований, предъявляемых к микроконтроллерам, все производители стараются предложить наиболее широкий выбор МК. Компания NXP предлагает на рынке МК на базе трех семейств архитектуры Cortex-M (рис. 1). При этом сохраняется совместимость средств разработки и программного кода «снизу вверх». Рассмотрим более подробно семейства МК на базе архитектуры Cortex-M0 от NXP.
LPC1100 — самый дешевый МК на базе Cortex-M0
Семейство МК LPC1100 на базе ядра Cortex-M0 — это наиболее бюджетные микроконтроллеры в линейке продуктов компании NXP, они призваны вытеснить с рынка 8- и 16-битные микроконтроллеры. Семейство содержит 22 микроконтроллера и является оптимальным вариантом для новых разработок за счет большей производительности, простоты разработки, пониженного энергопотребления и существенного сокращения размера кода для исполнения любых 8- и 16-разрядных приложений. Для разработчиков, желающих перейти на масштабируемую ARM-архитектуру и продолжить ее использование в дальнейших своих разработках, линейка LPC1100 является хорошим стартом. Для быстрого освоения и создания проектов компания NXP предлагает широчайший выбор инструментов для разработки.
LPC1100 содержит в себе ядро Cortex-M0 (рис. 2), работающее на частоте до 50 МГц, 8–32 кбайт Flash, 2–8 кбайт ОЗУ и основной набор интерфейсов: I2C, SPI/SSP (Synchronous Serial Port), UART с поддержкой RS-485 интерфейса, четыре таймера, 10-битный АЦП с мультиплексированием на 8 каналов, а также встроенный блок управления питанием (PMU), что позволяет разработчику создать недорогое многофункциональное устройство, затратив при этом минимум средств и времени. Доступные корпуса — LQFP48 и HVQFN33.
LPC1102 — самый миниатюрный МК с ARM-ядром
LPC1102 предназначен для приложений, требующих сочетания высокой производительности ядра Cortex-M0 и ультраминиатюрных размеров на плате.
Микроконтроллер содержит 32 кбайт Flash, 8 кбайт ОЗУ, поставляется в ультракомпактном 16-выводном корпусе WLCSP (wafer level chip-size package) размером 2,17×2,32 мм, с толщиной 0,6 мм и шагом в 0,5 мм (рис. 3). Этот МК имеет в своем составе 4-канальный 10-битный АЦП, UART, SPI, два 32-битных и два 16-битных таймера, а также один 24-битный таймер. При потреблении не более 130 мкА/МГц в активном режиме LPC1102 имеет встроенный RC-генератор с точностью ±1% при температуре от –40 до +85 °С и напряжении 2,7–3,6 В.
LPC11C00 — полностью интегрированное решение для CAN-сетей
Семейство LPC11C00 — это первое полностью интегрированное решение для простых CAN-сетей. Оно объединяет в себе МК на базе Cortex-M0 и набор драйверов C_CAN, прошитых во Flash, а в LPC11C22 и LPC11C24 есть CAN-трансивер физического уровня (табл. 1).
Таблица 1. Семейство LPC11 C00
Тип | Flash/RAM, кбайт | UART | I2C/Fast+ | SPI | C_CAN | C_CAN трансивер | GPIO | ADC/ каналов | Корпус |
LPC11C12FBD48/301 | 16/8 | 1 | 1 | 2 | 1 | Нет | 40 | 8 | LQFP48 |
LPC11C14FBD48/301 | 32/8 | 1 | 1 | 2 | 1 | Нет | 40 | 8 | LQFP48 |
LPC11C22FBD48/301 | 16/8 | 1 | 1 | 2 | 1 | Да | 36 | 8 | LQFP48 |
LPC11C24FBD48/301 | 32/8 | 1 | 1 | 2 | 1 | Да | 36 | 8 | LQFP48 |
Драйверы CANopen, расположенные в ПЗУ микросхемы, сопровождаются простыми API-функциями, что позволяет быстро интегрировать системы на базе LPC11C00 в сетевые приложения на основе стандарта CANopen. Пользователю доступны следующие функции API:
- установка и инициализация CAN;
- отправка и прием сообщений CAN;
- информация о состоянии CAN;
- ускоренная связь по протоколу CANopen SDO;
- примитивы сегментированной передачи по протоколу CANopen SDO;
- обработчик переключения на более медленную связь по протоколу CANopen SDO.
Физический уровень CAN в LPC11C22/C24 соответствует стандарту ISO 11898-2 для двухпроводной сбалансированной сигнальной схемы и оптимизирован для работы в сфере автомобильных датчиков и высоконадежных промышленных CAN-сетей. Функция управления энергопотреблением, интегрированная в микроконтроллер, позволяет отключать трансивер от шины при пропадании или отсутствии питания.
Из основных характеристик семейства следует отметить следующие: ядро Cortex-M0 с тактовой частотой до 50 MГц; контроллер CAN 2.0 B C_CAN со встроенными драйверами CANopen; встроенный трансивер TJF1051 (только в LPC11C22/C24); UART, 2 SPI и I2C (FM+); RC-генератор на 12 MГц; многоуровневое обнаружение кратковременного падения напряжения питания (BOD); 8-канальный 10-битный АЦП; высокая устойчивость к ESD (8 кВ трансивер/6,5 кВ микроконтроллер); CAN-трансивер с низким электромагнитным излучением (EME) и высокой устойчивостью к электромагнитным полям (EMI) (рис. 4). Микроконтроллеры этого семейства выпускаются в корпусе LQFP48.
LPC11U00 — решение для простых USB-устройств
Серия LPC11U00 является расширением семейства LPC1100: в эти МК добавлен Full Speed USB 2.0 интерфейс. МК оснащены Flash-памятью объемом до 32 кбайт и памятью SRAM объемом 6 кбайт, поддерживают различные последовательные интерфейсы, интерфейс смарт-карт, имеют 4 системных таймера с функцией ШИМ, 8-канальный 10-битный АЦП и до 40 контактов ввода/вывода общего назначения (GPIO). Серия LPC11U00 выпускается в миниатюрных корпусах TFGBGA48 размером 4,5×4,5 мм (этот корпус наилучшим образом подходит для мобильных и потребительских приложений малого форм-фактора), а также в стандартных корпусах LQFP48 и HVQFN33.
LPC11U00 обеспечивает максимальную производительность USB-интерфейса (рис. 5) благодаря поддержке до 10 конфигурируемых конечных точек, гибким возможностям управления архитектурой буфера, определяемого пользователем, более быстрой пост-обработке USB-данных и надежной работе USB-интерфейса в асинхронном режиме. В микроконтроллере LPC11U00 буферы конечных точек, в отличие от стандартных реализаций USB-интерфейса, располагаются не в USB-модуле, а в системном ОЗУ, так что центральный процессор имеет прямой доступ к USB-пакетам.
Для сокращения сроков вывода продукции на рынок и снижения стоимости разработки компания NXP предлагает готовые к использованию USB-решения с программными драйверами USB-контроллера, не требующими сложной настройки и авторских отчислений с продаж. Микроконтроллер LPC11U00 сертифицирован форумом конструкторов USB (USB Implementers Forum, USB-IF), таким образом, пользователи могут быть уверены в том, что их разработки гарантированно соответствуют спецификации USB и совместимы с имеющимися USB-решениями. В серию LPC11U00 сейчас входят три типа микроконтроллеров (табл. 2).
Таблица 2. Семейство LPC11U00
Тип | Flash, кбайт | RAM | UART | I2C, FM+ | SPI/SSP | USB | ADC, каналов | Корпус | |
CPU, кбайт | USB, кбайт | ||||||||
LPC11U12 | 16 | 4 | 2 | 1 | 1 | 2 | 1 | 8 | LQFP48/HVQFN33 |
LPC11U13 | 24 | 4 | 2 | 1 | 1 | 2 | 1 | 8 | LQFP48 |
LPC11U14 | 32 | 4 | 2 | 1 | 1 | 2 | 1 | 8 | LQFP48/HVQFN33/ TFGBGA48 |
LPC1200 — семейство МК для промышленной автоматики
LPC1200 расширяет портфель микроконтроллеров на базе ядра Cortex-M0, предлагая широкий выбор объемов Flash-памяти в диапазоне от 32 до 128 кбайт с шагом 8 кбайт (рис. 6). Платформа LPC1200 специально создавалась для того, чтобы предоставить возможности модификации в соответствии с запросами клиентов, поэтому она максимально соответствует многочисленным требованиям энергосберегающих систем и систем управления энергопотреблением.
Семейство LPC1200 предлагает большое количество комбинаций Flash- и SRAM-памяти, обеспечивая разработчикам максимальную гибкость для оптимизации функций и стоимости продуктов при сохранении размера посадочного места (табл. 3). Кроме того, небольшой 512-байтный сектор стирания Flash-памяти обеспечивает несколько дополнительных преимуществ в разработке, таких как более точная эмуляция EEPROM, поддержка загрузки любым последовательным интерфейсом и простота объектного программирования при снижении необходимого объема буфера RAM на кристалле.
Таблица 3. Сравнительная характеристика семейства LPC1200
Тип | Flash/RAM, кбайт | Количество таймеров | UART | I2C | SSP | ADC | Количество компараторов | I/O, пин. | F, МГц | U, В | Корпус |
LPC1224 | 48/4 | 4 | 2 | 1 | 1 | 1×10 | 2 | 55 | 33 | 3,3 | LQFP48/LQFP64 |
LPC1225 | 80/8 | 4 | 2 | 1 | 1 | 1×10 | 2 | 55 | 33 | 3,3 | LQFP48/LQFP64 |
LPC1226 | 96/8 | 4 | 2 | 1 | 1 | 1×10 | 2 | 55 | 33 | 3,3 | LQFP48/LQFP64 |
LPC1227 | 128/8 | 4 | 2 | 1 | 1 | 1×10 | 2 | 55 | 33 | 3,3 | LQFP48/LQFP64 |
Следующие модифицированные решения LPC1200 будут иметь дополнительные функции, например интегрированный драйвер сегментного дисплея 40×4.
Инструментарий для микроконтроллеров NXP
NXP имеет несколько компаний-партнеров, разрабатывающих и выпускающих инструменты разработки, отладки и программное обеспечение для микроконтроллеров, таких как C-компиляторы, отладчики, симуляторы, RTOS, оценочные платы, эмуляторы и многое другое. В число таких партнеров входят наиболее популярные компании: Keil, IAR, Hitex, Embedded Artists, Phytec, Code Red и другие.
Keil
Помимо профессиональной среды разработки uVision, Keil предлагает отладочные комплекты для семейств LPC1100, LPC11C00 и LPC1200, сравнительные характеристики которых представлены в таблице 4.
Таблица 4. Сравнительные характеристики отладочных комплектов Keil
Отладочный комплект | MCU | XTAL, МГц | MCU Clock, МГц | RAM/Flash, кбайт | Количество кнопок | I/O порт LEDs |
MCB1114 | LPC1114 | 12 | 50 | 8/32 | 4 | 8 |
MCB11C14 | LPC1114 | 12 | 50 | 8/32 | 4 | 8 |
MCB1200 | LPC1227 | 12 | 33 | 8/128 | 4 | 8 |
IAR
Компания IAR предлагает отладочные комплекты для семейств LPC1100, LPC11C00 (табл. 5). Для семейства LPC1200 выпуск отладочного комплекта запланирован на II квартал 2011 года.
Таблица 5. Сравнительные характеристики отладочных комплектов IAR
Отладочный комплект | MCU | LCD | MCU Clock, МГц | RAM/Flash, кбайт | Количество кнопок | I/O порт LEDs |
IAR KickStart Kit для LPC1114 | LPC1114 | Да | 50 | 8/32 | 2 | 2 |
IAR KickStart Kit для LPC11C14 | LPC1114 | Да | 50 | 8/32 | 2 | 2 |
LPCxpresso
Компания NXP совместно с Embedded Artists и Code Red создала набор инструментов для разработки и отладки серии LPCXpresso.
Инструменты LPCXpresso рассчитаны как на новичков, так и на опытных разработчиков. Пользователи платформы LPCXpresso могут проводить оценку, изучать и разрабатывать собственные приложения, используя единый, простой в использовании интерфейс и не лишаясь при этом расширенных функций, которые обычно доступны в мощных дорогостоящих средах разработки.
LPCXpresso использует мощную интегрированную среду разработки (IDE) на базе Eclipse (рис. 7), которая имеет интуитивно понятный пользовательский интерфейс, специально разработанный компанией NXP и оптимизированный под Cortex-M компилятор, библиотеки и отладчик LPC-Link JTAG/SWD, а также плату для разработки (рис. 8). Таким образом, пользователи получают все необходимые инструменты для ускорения разработки продуктов и их выхода на рынок.
Заключение
Совокупность возможностей микроконтроллеров NXP на базе ядра Cortex-M0, простоты разработки и большого выбора отладочных средств позволяет разработчикам электроники легко реализовать свои идеи и создать универсальные и недорогие устройства за короткие сроки и с минимумом затрат.