Микроконтроллеры NXP Semiconductors
на базе архитектуры Cortex
Алексей ЕГОРОВ
В последние несколько лет микроконтроллеры общего применения на базе ядер ARM7 и ARM9 получили широкое распространение на рынке микроэлектроники. Усилия разработчиков микроконтроллеров, направленные на внедрение в свои разработки этих ядер, привели к появлению более 300 разновидностей 32-битных микроконтроллеров. В числе производителей таких микроконтроллеров одну из ведущих позиций занимает компания NXP Semiconductors. Дальнейшим развитием линейки микроконтроллеров NXP стал выпуск ряда семейств процессоров на базе архитектуры Cortex. Микроконтроллеры NXP на базе этой архитектуры имеют ряд преимуществ по сравнению с предыдущими семействами. Эти преимущества позволили преодолеть очередной барьер увеличения производительности и уменьшения энергопотребления, а благодаря новым технологиям — уменьшить стоимость устройств. Поэтому микроконтроллеры NXP быстро завоевали популярность среди разработчиков электроники.
Архитектура ARM и Cortex
Архитектура ARM была разработана одноименной английской компанией, организованной в 1990 году. Компания ARM была совместно образована компаниями Apple Computer, Acorn Computer Group и VLSI Technology. Название ARM происходит от “Advanced RISC Machines” — это 32-битная микропроцессорная архитектура с сокращенным набором команд (RISC). Следует заметить, что ком-
с
с
с
с
с
с
с
с
с
с
с
с
ЕТМ-интерфейс
8К кэш-инструкций
MMU
ARM9TDMI
8К кэш-данных
MMU
Буфер записи
Модуль управляющей логики и интерфейса шины
сч см о>
2
^ Интерфейс
сопроцессора
АМВА ASB-интерфейс
гг
Рис. 1. Структура ядра ARM922T
пания специализируется сугубо на разработке микропроцессорных ядер и периферийных блоков, при этом не занимается производством микроконтроллерных устройств. Компания ARM поставляет свои разработки в электронной форме, на основе которых производители конструируют свои собственные микроконтроллеры.
Клиентами компании ARM являются свыше 60 компаний, производителей полупроводников. NXP имеет долгосрочные партнерские отношения с ARM, что позволяет выделить NXP в отдельную категорию среди производителей микроконтроллеров на основе ARM-ядра, которым приходится постоянно продлевать лицензию на применение продуктов компании ARM.
В настоящее время архитектура ARM занимает лидирующие позиции и занимает 82% рынка 32-разрядных встраиваемых RISC-микропроцессоров. Распространенность данного ядра объясняется его стандартностью. Разработчику предоставляется возможность более гибко использовать не только свои, но и сторонние программные наработки, как при переходе на новое процессорное ARM-ядро, так и при миграциях между разными типами ARM-микроконтроллеров. Это позволяет существенно снизить финансовые затраты и сэкономить время на разработку и, как следствие, — на выпуск продукции.
Разработано шесть основных семейств: ARM7, ARM9, ARM9E, ARM10, ARM11 и SecurCore. Также совместно с компанией Intel разработаны семейства XScale и StrongARM.
ARM7 и ARM9 (рис. 1) выполнены по архитектуре Von Neumann (фон Неймана), использующей одну общую 32-битную шину передачи данных и инструкций. В ядрах этой серии существует возможность задействовать ARM и Thumb инструкции. Thumb — это режим процессоров ARM, в котором используется сокращенная система команд. Она состоит из 36 команд, взятых из стандартного набора 32-разрядных команд архитектуры ARM и преобразованных до 16-разрядных кодов. Длина команд Thumb составляет половину длины 32-разрядных команд ARM, что позволяет существенно (порядка 30%) сократить необходимые объемы памяти программ и, кроме того, использовать более дешевую 16-разрядную память.
пппппппппп
Контроллер вложенных векторных ...1 ; ЕТМ
прерываний (КВВП) 1дро ARM
; Узел контроля
■ Модуль защиты памяти \ связи с
; интерфейсом
t t
Точки контроля Участок Flash
J- t..........................t і
Матрица шин
Интерфейс SRAM и устройств ввода/вывода
U U U U U U
тт
Рис. 2. Структура ядра Cortex-M3
При выполнении эти команды дешифруются процессором в эквивалентные операции ARM, выполняемые за то же количество тактов. Переключение из режима ARM в Thumb и обратно осуществляется командой BX либо по прерыванию/исключению. Ядра ARM7 и ARM9 были с успехом интегрированы в микроконтроллеры общего применения, но все же изначально они ориентированы на использование в качестве системы на кристалле (SoC). Следующим этапом развития линейки ARM-ядра стало появление на рынке более прогрессивного ядра Cortex.
Появление нового поколения ARM Cortex ядер произвело «информационный взрыв» на рынке стандартных микроконтроллеров. Cortex, в отличие от других ядер семейства ARM, является завершенным процессорным ядром, объединившим в себе стандартный центральный процессор (ЦПУ) и системную архитектуру (рис. 2). В основе Cortex использована гарвардская архитектура. Существует три основных концепции семейства Cortex:
• Cortex-A (Application) — ориентирована на высокопроизводительные применения, сюда входят ядра A8 и A9.
• Cortex-R (Real Time) — для приложений, работающих в реальном времени, в эту группу входит всего одно ядро R4.
• Cortex-M — для наиболее распространенных и востребованных применений в стандартных приложениях, в эту группу входят три ядра: Cortex-M3 и Cortex-MO, а также Cortex-Ml, разработанное специально для использования в микросхемах программируемой логики.
Ряд линеек микроконтроллеров NXP, выполненных на базе ядра Cortex-M3, призваны обеспечить разработчиков электроники, с одной стороны, высокопроизводительными, а с другой — энергоэкономичными и дешевыми продуктами. А серия микроконтроллеров на базе ядра Cortex-M0 значительно снижает планку энергопотребления и стоимости 32-битных микроконтроллеров: они отличаются настолько низкой стоимостью, что могут свободно конкурировать с 8- и 16-битными микроконтроллерами. Следует отметить также, что микроконтроллеры на базе ядра Cortex-M превосходят своих предшественников по производительности и ряду других параметров.
Cortex-M3 является стандартизированным микроконтроллерным ядром и, в отличие от ARM7 и ARM9, содержит помимо ЦПУ и другие элементы, образующие основу микроконтроллера, такие как система прерываний, системный таймер и отладочная система. Адресное пространство Cortex-M3 разделено на четко распределенные области кода программы, статического ОЗУ, устройства ввода/вывода и системных
ппппппппппп
Рис. 3. Блок-схема ядра Cortex-M3
ресурсов. К тому же, благодаря гарвардской архитектуре, ядро имеет раздельные шины данных и инструкций и 3-уровневый конвейер, что позволяет прогнозировать переходы. Процессор на базе архитектуры Cortex-M3 в своей основе имеет иерархическую структуру, которая включает в себя ядро CM3Core с развитой периферией, включающей в себя механизмы управления прерываниями, защиты памяти, внутрисхемной отладки и другие (рис. 3).
Одним из основных компонентов ядра Cortex-M3 является встроенный контроллер векторных прерываний (NVIC), который предоставляет стандартную структуру прерываний для всех Cortex-микроконтроллеров и способы их обработки. К тому же в отличие от применяемых в ядре ARM7 и ARM9, имеющих два набора инструкций (ARM и Thumb), в Cortex-M3 используется только режим Thumb-2 (рис. 4), ориентированный на компиляторы языков C/C++.
NXP на рынке микроконтроллеров с CORTEX-M
Процессоры на основе архитектуры Cortex-M, обладая рядом преимуществ в сравнении с другими архитектурами, по всей видимости, в ближайшее время станут наиболее популярными за счет более высокой производительности, более низкого энергопотребления, менее
100 -8060---------
40--------
200-
;
80 —
60 —
20 —
Производительность в режиме Thumb-2 на 25% больше режима Thumb
□
■ ARM | | Thumb-2
Thumb
Плотность кода в режиме Thumb-2 на 26% меньше режима ARM
Рис. 4. Производительность и плотность кода в различных приложениях
сложной модели программирования, удобной системы обработки прерываний и низкой цены.
Компания NXP, являясь одним из лидеров в производстве микроконтроллеров на базе ядра ARM и имея в своем арсенале более 90 вариантов микроконтроллеров, не осталась в стороне и приняла активное участие в производстве процессоров с ядром Cortex-M. NXP отреагировала на потребности рынка микроконтроллеров общего применения и выпустила на рынок ряд продуктов на базе ядра Cortex-M3 и Cortex-M0 (рис. 5).
Cortex-MO 40-50 МГц
Cortex-MO готовы для применения в 8- и 16-битных приложениях
Cortex-M3 V2 60-70 МГц
Cortex-M3 V2 100+МГц
LPC1700
Самый быстрый микроконтроллер с ядром Cortex-M3 частотой до 120 МГц
Рис. 5. Линейки микроконтроллеров NXP для различных приложений
LPC1700
Первым семейством на базе ядра Cortex-M3 компании NXP стала линейка микроконтроллеров серии LPC1700, которая включает в себя 100-и 80-выводные микросхемы с большим набором периферии. Примечательно, что все микроконтроллеры NXP, выпускаемые на базе ядра Cortex-M3, используют вторую ревизию ядра, в отличие от других производителей микроконтроллеров.
Семейство микроконтроллеров LPC1700 разработано с использованием 140-нм технологического процесса и имеет производительное ядро Cortex-M3, работающее на частоте до 100 МГц. Большой выбор микроконтроллеров этого семейства позволяет разработчикам подобрать микросхему, наиболее удовлетворяющую его задачам.
feg
up to 64 кбайт 512 кбайт
SRAM FLASH
T
T
Быстрые
универсальные
интерфейсы
ввода/вывода
Контроллер
SRAM
Модуль ускорения доступа к памяти
Тест/Отладка
Трассировка
ARM 7TDMI-S
RMII Ethernet
w/DMA
16 кбайт SRAM
т
I
Т
Системные
часы
Системные
функции
Отключения
питания/сброс
питания
AMBA High-speed Bus (AHB2) Мост- Мост
Ф * АН В
АМВА High-speed Bus (AHB1)
X
МостАНВ-АРВ
32 кГц
і і
USB + D+, D-
PHY
Рис. 7. Блок-схема микроконтроллеров семейства LPC2300
Большой объем встроенной Flash-памяти (до 512 кбайт) и RAM (до 32 кбайт) позволяют хранить код и данные и быстро обрабатывать их, не прибегая к использованию внешних модулей памяти. Серия микроконтроллеров LPC1700 (рис. 6) повыводно (pin-to-pin) совместима с линейкой микроконтроллеров на базе ARM7-ядра серии LPC2300 (рис. 7) и позволяет с минимальными затратами времени и средств произвести переход имеющихся проектов на новое высокопроизводительное ядро Cortex-M3. Большой набор периферийных модулей (USB 2.0 full-speed Device/Host/OTG, три интерфейса I2C, SPI, два SSP, I2S, четыре универсальных асинхронных приемопередатчика UART с поддержкой RS-485 интерфейса, четыре многофункциональных таймера, модули ШИМ с поддержкой управления трехфазного электромотора и квадратурный энкодер, два полнофункциональных CAN2.0B, модуль 12-битного аналогово-цифрового преобразователя с мультиплексированием на восемь каналов, 10-битный цифро-аналоговый преобразователь, 10/100 Ethernet MAC-модуль) позволяет разработчику подобрать процессор, полностью соответствующий его задачам и без проблем воплотить свои идеи в реальность.
Выпущенные в феврале 2010 года микроконтроллеры LPC1769 и LPC1759 с бесплатной библиотекой DSP, работающие на частоте до 120 МГц, являются на данный момент
самыми быстрыми микроконтроллерами на базе ядра Cortex-M3. Эти микроконтроллеры, обладая высокой производительностью и интегрированными функциями управления и обработки сигнала, могут стать бюджетным решением для выполнения задач быстрого преобразования Фурье, тем самым будет исключена необходимость использования выделенных устройств цифровой обработки сигнала (DSP).
Микроконтроллеры LPC1769 и LPC1759 обеспечивают исполнение БПФ для 16-битного изображения с разрешением 256 dpi менее чем за 190 мкс, что соответствует росту производительности по сравнению с ближайшими аналогами на базе ядра Cortex-M3 на 54% и составляет конкуренцию недорогим DSP-устройствам. К тому же серия микроконтроллеров LPC1700 уже поддерживается большим числом инструментов разработки и операционных систем реального времени (RTOS).
Не требующие лицензии и бесплатные тестовые библиотеки VDE IEC 60335 Class B, утвержденные институтом тестирования и сертификации, доступны на сайте компании NXP [1].
LPC1300
Для приложений, где не требуется большая производительность и набор периферийных модулей, как в серии микроконтроллеров LPC1700, но необходимо малое энергопо-
требление и небольшой корпус, компания NXP предлагает бюджетную серию микроконтроллеров с ядром Cortex-M3 семейства LPC1300. Линейка микроконтроллеров LPC1300 выпускается в маленьких корпусах HVQFN33 (33 вывода) и LQFP48 (48 выводов) и обладает самым низким в отрасли энергопотреблением.
Микроконтроллеры серии LPC1300 совместимы по выводам с микроконтроллерами серии LPC1100, выполненными на базе ядра Cortex-M0, и призваны вытеснить с рынка 8- и 16-битные микроконтроллеры. Высокая производительность микроконтроллера обеспечивается центральным процессором, способным работать на частоте до 72 МГц. Возможность быстрой загрузки программ обеспечивается встроенной высокоскоростной памятью Flash (до 32 кбайт) и статическим ОЗУ (до 8 кбайт). Связь с внешними устройствами осуществляется через набор наиболее популярных интерфейсов: USB 2.0 full-speed device, интерфейс I2C, SSP, I2S и универсальный асинхронный приемопередатчик UART с поддержкой RS-485 интерфейса. Четыре встроенных таймера позволяют реализовать гибкую систему захвата/сравнения. 10-битный цифро-аналоговый преобразователь с мультиплексированием на 8 каналов позволяет преобразовывать цифровые сигналы, а встроенный блок управления питанием (PMU) дает возможность свести к минимуму энергопотребление микроконтроллера.
В LPC1300 также заложена возможность внутрисхемного программирования Flash-памяти с помощью расположенного на чипе загрузочного программного обеспечения. Для простоты использования драйверы USB Mass Storage и HID интегрированы в чип и обеспечивают быструю настройку соединения по USB. Более того, эти драйверы встроены в ROM, предоставляя 100% объема пользовательской Flash для приложения.
LPC1100
Семейство микроконтроллеров LPC1100 на базе ядра Cortex-M0, призванное вытеснить с рынка 8-и 16-битные микроконтроллеры, обладает самыми низкими ценами на рынке 32-битных микроконтроллеров и обеспечивает большую эффективность и простоту использования по сравнению с существующими 8- и 16-битными устройствами за счет большей производительности, простоты разработки, пониженного энергопотребления и существенного сокращения размера кода для исполнения любых 8- и 16-разрядных приложений. Серия LPC1100 содержит 11 микроконтроллеров и является оптимальным вариантом для новых разработок, где раньше использовались 8- и 16-битные микроконтроллеры. Для разработчиков, желающих перейти на масштабируемую ARM-архитектуру и продолжить ее использование в дальнейших своих проектах, линейка микроконтроллеров LPC1100 будет оптимальна, а для быстрого освоения и создания дизайнов на микроконтроллерах NXP с ядром Cortex-M0 и Cortex-M3 компания NXP предлагает недорогой набор инструментов разработки серии LPCXpresso.
Существующие 8-битные архитектуры появились в начале развития полупроводниковой промышленности, вследствие чего имеют ограничения с точки зрения диапазона адресов, регистров, функциональности, не подходят для языков программирования высокого уровня. При их создании еще не уделялось достаточного внимания вопросам энергосбережения и масштабируемости. Процессорное ядро и системная архитектура Cortex-M0 в полной мере используют преимущества современных оптимизированных средств разработки и технологии с низким энергопотреблением, а также новейшего процесса производства микрочипов Flash высокой плотности с низким энергопотреблением.
Микроконтроллеры LPC1100 имеют на борту ЦПУ, работающий на частоте до 50 МГц, до 32 кбайт Flash, до 8 кбайт ОЗУ и основной набор интерфейсов: I2C, SSP и универсальный асинхронный приемопередатчик UART с поддержкой RS-485 интерфейса, четыре таймера, 10-битный цифро-аналоговый преобразователь с мультиплексированием на 8 каналов, а также встроенный блок управления питанием (PMU). Благодаря этому серия микроконтроллеров LPC1100 позволяет разработчику создать недорогое многофункциональное устройство, затратив при этом минимум средств и времени. Дальнейшее развитие периферийных блоков в микроконтроллерах этого семейства, которые дополнительно будут включать в себя CAN-интерфейс, 12-разрядные АЦП и ЦАП, USB, EEPROM, компаратор, температурный датчик, высокоточный таймер, периферию для создания сенсорных интерфейсов и расширенный объем памяти Flash до 128 кбайт, дадут возможность разработчикам без особых проблем включить микроконтроллеры этого семейства в свои новые проекты и создать более функциональные устройства.
Развитие линейки микроконтроллеров NXP на базе ядра Cortex
Являясь одним из передовых производителей 32-битных микроконтроллеров, компания NXP, заглядывая в будущее и стремясь предопределить потребности рынка, планирует разработать новые микроконтроллеры на базе популярного ядра Cortex.
Серия микроконтроллеров LPC1700 будет иметь расширенный объем памяти ОЗУ до 64 кбайт, а также включать в себя прототип микроконтроллера LPC2478, но выполненного на базе высокопроизводительного ядра Cortex-M3. Следующим этапом развития будет
ппппппппппп
WIC
Отладка и трассировка
DAP
Точки
контроля
данных
ЕТМ
Узел контроля связи с однопроводным интерфейсом
Участок
Flash
і
X (U ■*—< О
и
Матрица шин
Интерфейс Интерфейс SRAM
кода и устройств
программ ввода/вывода
UUUUUUUUUUU
□
□
□
□
□
□
□
□
□
□
Рис. 8. Структура ядра Cortex-M4
линейка микроконтроллеров LPC1600, она станет высокопроизводительным прототипом широко распространенных микроконтроллеров серии LPC2130 и LPC2140. Микроконтроллеры этой серии будут выпускаться в 64- и 80-выводных корпусах. Серия LPC1800 будет направлена на еще большую производительность микроконтроллеров, иметь ЦПУ, работающий на частоте до 125 МГц, и высокоскоростной USB Host/Device/OTG и другие периферийные устройства, присущие линейке микроконтроллеров LPC1700.
Серия микроконтроллеров LPC1300 будет иметь развитую сигнальную периферию.
Как уже отмечалось, компания NXP планирует максимально расширить возможности линейки микроконтроллеров LPC1100 с ядром Cortex-MO, но при этом сохранить планку сниженного энергопотребления. Для этого в линейку микроконтроллеров будет включен достаточно большой набор периферийных блоков, таких как CAN-интерфейс, 12-разрядные АЦП и ЦАП, USB, EEPROM, компаратор, температурный датчик, высокоточный таймер, периферия для создания сенсорных интерфейсов, а объем Flash-памяти будет расширен до 128 кбайт.
Следующим этапом развития линейки микроконтроллеров компании NXP является серия микроконтроллеров на базе ядра Cortex-M4. NXP объявила о приобретении лицензии на его использование в феврале 2010 года. Процессор Cortex-M4 представляет собой высокоэффективное решение для приложений управления цифровым сигналом (Digital Signal Control, DSC), сохраняя ведущие в отрасли показатели семейства процессоров Cortex-M по поддержке микро-контроллерных функций. Компания NXP намерена использовать процессор Cortex-M4 в широком диапазоне применений, требующих повышенной гибкости и дополнительных возможностей в области обработки сигнала.
Процессорное ядро Cortex-M4 (рис. 8) разработано в развитие семейства Cortex-M и является самым мощным ARM-процессором для применений в области управления цифровым сигналом. Оно обеспечивает оптимальное сочетание высокопроизводительных функций обработки цифрового сигнала, таких как технологии single-cycle MAC (умножение с накоплением за один такт), single instruction multiple data (SIMD) (с одним потоком команд и множественными потоками данных), арифметика с насыщением и блок вычислений с плавающей точкой. Это ядро обладает важными микроконтроллерными функциями, такими как встроенный контроль прерываний, режимы низкого энергопотребления, а также недорогими функциями отладки.
Инструментарий для микроконтроллеров NXP
Компания NXP имеет ряд компаний-партнеров, разрабатывающих и выпускающих инструменты разработки, отладки и программное обеспечение для микроконтроллеров NXP. Это C-компиляторы, отладчики, симуляторы, RTOS, оценочные платы, эмуляторы и многое другое. В число таких партнеров входит несколько популярных компаний: Keil, IAR, Hitex, Embedded Artists, Phytec, Code Red и др.
Большинство этих компаний поддерживают своими продуктами микроконтроллеры NXP и на базе ядра Cortex. Существует целый ряд отладочных средств для работы с микроконтроллерами NXP, но наиболее интересными и бюджетными из них являются отладочные платы серии LPCXpresso, созданные совместно компаниями NXP, Embedded Artists и Code Red. Это недорогая платформа инструментов разработки с поддержкой вебтехнологий для работы с семействами микроконтроллеров LPC1300 и LPC1100. Платформа LPCXpresso имеет удобный интерфейс и поддерживает полный цикл разработки.
Инструменты LPCXpresso рассчитаны как на новичков, так и на опытных разработчиков. Пользователи платформы LPCXpresso могут проводить оценку, изучать и осуществлять разработку, используя единый, простой в использовании интерфейс и не лишаясь при этом расширенных функций, которые обычно доступны в мощных дорогостоящих средах разработки.
Платформа LPCXpresso обеспечивает быстрый и удобный способ работы с микроконтроллерами серии LPC1300 и LPC1100, позволяя разрабатывать ПО для микроконтроллеров с ядром Cortex-M3, Cortex-M0 практически любому.
LPCXpresso использует мощную интегрированную среду разработки (IDE) на базе Eclipse, имеет новейший, интуитивно понятный пользовательский интерфейс, специально разработанный компанией NXP и оптимизированный под Cortex-M компилятор и библиотеки, а также отладчик LPC-Link JTAG/SWD и плату для разработки, предоставляя пользователям все необходимые инструменты для ускорения разработки продуктов и их выхода на рынок.
Основные технические характеристики LPCXpresso
Интегрированная среда разработки LPCXpresso IDE (на базе Code Red) содержит лучшую в своем классе среду программирования на языке C с расширенными функциями, такими как подсветка синтаксиса, свертывание кода, прямые ссылки на определения и объявления функций. Компилятор GCC и библиотека языка C, оптимизированные под архитектуру Cortex-MO, позволяют пользователям этих инструментов быстро и недо-
Рис. 9. Состав LPCXpresso Board
рого разрабатывать высококачественное программное обеспечение. Интегрированная среда разработки имеет несколько усовершенствований, предназначенных специально для платформы LPC. Она предназначена специально для разработчиков 8-и 16-битных приложений и использует разработанный компанией NXP единый интерфейс, позволяющий легко переключаться между процессами написания программного кода и его отладки.
LPCXpresso состоит из двух частей (рис. 9): оценочной платы LPCXpresso и интегрированного JTAG/SWD отладчика LPC-Link.
Оценочная плата LPCXpresso по габаритам аналогична другому инструменту онлайн-отладки серии MBED, таким образом, представляет собой единую платформу разработки для всей линейки микроконтроллеров NXP на базе Cortex. Для быстрого создания решений пользователи могут опробовать широчайший набор программных функций с целым рядом готовых, совместимых по габаритам плат от компании Embedded Artists.
LPC-Link отладчик, входящий в состав LPXpresso Board, в случае необходимости можно с легкостью отключить от оценочной платы и использовать его непосредственно с платой разработчика, подключив ее с помощью встроенного 10-контактного разъема JTAG_SWD. LPC-Link использует микроконтроллер NXP серии LPC3154 в качестве системы отладки на базе ARM9 и имеет высокоскоростной USB-интерфейс для быстрой загрузки и отладки кода.
Новейшие версии интегрированной среды разработки находятся в свободном доступе на сайте [2]. Там же можно ознакомиться с правилами работы на LPCXpresso, используя, например, видеоролик. Web-ресурс также поддерживает форум, содержит страницы с исходным кодом различных приложений с регулярно обновляемыми примерами проектов, модули онлайн-обучения, вики по инструментам разработки и многое другое.
Платформа LPCXpresso полностью поддерживает текущие семейства микроконтроллеров LPC1300 и LPC1100, а также все планиру-
емые расширения семейства LPC1700 вплоть до 128 кбайт. Недорогие решения по расширению платформы для обеспечения поддержки 256 и 512 кбайт предлагает компания Code Red. Полнофункциональный пакет Red Suite поддерживает «мастер» отслеживания исполнения кода в реальном времени и «мастер» ОС для быстрого конфигурирования FreeRTOS.
Концепция MBED (рис. 10) — еще одно недорогое решение для разработки и отладки систем на базе микроконтроллеров NXP серии LPC1700 с ядром Cortex-M3. Оно предназначено в первую очередь для образовательных учреждений и позволяет производить онлайн-макетирование без установки на компьютер дополнительного программного обеспечения.
Рис. 10. Оценочная плата MBED
Компания MBED — это торговая марка компании NXP, которая оказывает техническую поддержку разработчикам систем на базе микроконтроллеров компании NXP. Компания-разработчик MBED представляет на рынке свои отладочные средства и программное обеспечение для разработки и отладки систем на микроконтроллерах компании NXP.
С возможностями работы оценочной платы серии mbed можно ознакомиться на сайте [3].
К серии недорогих отладочных средств относятся и так называемые ШВ^РС^іск (рис. 11) модули от компаний Ніїех. Эта отладочная система позволяет разработчику программировать Flash-память и производить отладку приложения через встроенный аппаратный отладчик. Для расширения круга
решаемых задач и функциональности LPC-Stick имеет 80-контактный разъем для подключения плат расширения.
Рынок микроконтроллеров, преимущества микроконтроллеров NXP
Как уже отмечалось ранее, компания NXP — совладелец компании ARM, разработки которой сегодня являются самыми популярными на рынке 32-битных микроконтроллеров и используются основными производителями микроконтроллеров. NXP Semiconductors, являясь основным игроком на рынке микроконтроллеров с ядром ARM и выпустив на рынок ряд микроконтроллеров на базе ядра Cortex, укрепила свои лидирующие позиции на рынке 32-битных микроконтроллеров. Помимо того, что компания NXP имеет долгосрочную лицензию на применение продуктов компании ARM, ее микроконтроллеры имеют ряд преимуществ по сравнению с продукцией других производителей микроконтроллеров.
Сравнительный анализ производительности микроконтроллеров NXP на базе ядра ARM и Cortex-M с микроконтроллерами других производителей, основанными на этих же ядрах, уже неоднократно производился, и ознакомиться с ним можно в различных источниках. Отметим лишь, что микроконтроллеры на базе ядра Cortex обладают самыми низкими ценами на рынке 32-битных микроконтроллеров, а серия микроконтроллеров LPC1100 к тому же имеет самое низкое энергопотребление. Большой интерес вызывает использование 32-битных микроконтроллеров NXP на базе ядра Cortex-M в различных 8- и 16-битных приложениях.
Процессорное ядро и системная архитектура Cortex-M0 в полной мере используют преимущества современных оптимизированных средств разработки и технологии с низким энергопотреблением, а также новейшего процесса производства микрочипов Flash высокой плотности с низким энергопотреблением.
Серия микроконтроллеров LPC1100 имеет ЦПУ работающий на частоте до 50 МГц,
до 32 кбайт Flash, до 8 кбайт ОЗУ и основной набор интерфейсов: I2C, SSP и универсальный асинхронный приемопередатчик UART с поддержкой RS-485 интерфейса, четыре встроенных таймера, 10-битный цифроаналоговый преобразователь с мультиплексированием на 8 каналов, а также встроенный блок управления питанием (PMU). В режиме глубокого сна (Deep-sleep mode) LPC1100 потребляет соизмеримый ток в сравнении с 8-и 16-битными микроконтроллерами, работающими на частотах до 32 МГц, но, находясь в активном режиме на рабочей частоте до 50 МГц и потребляя несколько больший ток, выполняет функции в несколько раз быстрее, в результате чего в ряде приложении общее потребление энергии LPC1100 будет существенно ниже. С учетом стоимости микроконтроллеров LPC1100 они являются оптимальным вариантом для новых разработок, где раньше использовались 8-и 16-битные микроконтроллеры.
Области применения микроконтроллеров NXP
Микроконтроллеры NXP с ядром Cortex-M, обладая большим набором периферийных устройств и максимальным набором микро-контроллерных функций, в первую очередь предназначены для применения в стандартных приложениях. Обладая рядом преимуществ над микроконтроллерами других производителей, микроконтроллеры NXP оптимальны для применения в различных промышленных и бытовых устройствах.
Так, например, для построения высокоскоростных индустриальных сетей в микроконтроллерах серии LPC1700 имеется встроенный модуль Ethernet. Встроенные модули ШИМ и квадратурный энкодер позволяют без особого труда создать систему управления электромоторами, что вполне может быть реализовано и в автомобильной технике, например, при создании панели приборов или электроусилителя руля (ЭМУР). А CAN-интерфейс способен обеспечить высокоскоростную сеть передачи данных внутри системы. 12-битный АЦП, 10-битный ЦАП и интерфейс I2S позволяют работать со многими приложениями, требующими преобразования сигналов, а также со звуком. Высокоскоростные шины I2C, UART и SSP позволяют организовать связь с внешними устройствами.
Для систем безопасности и пожаротушения, а также систем автоматизированного сбора данных, например, учетных устройств электроэнергии, жидкости и газа, модуль Ethernet в настоящее время является одним из основных интерфейсов для дистанционной связи и управления конечными устройствами. Выполненные на базе микроконтроллеров NXP серии LPC1100 счетчики могут быстро выполнять ряд основных и дополнительных функций, при этом обеспечи-
вать минимальное энергопотребление и работать от батареи. При небольшой доработке и использовании модулей передачи данных по радиоканалу можно с легкостью организовать беспроводную сеть передачи данных, систему охраны или пожаротушения или создать современную систему контроля доступа с использованием криптозащищенных технологий.
Современные системы «умный дом», включающие в себя и системы автоматического освещения, легко можно построить на микроконтроллерах NXP, при этом потратив минимум времени, а в совокупности с микросхемами управления осветительными устройствами от NXP или STMicroelectronics это может дать существенную экономию средств.
Высокая скорость выполнения задач и встроенный модуль PMU, обеспечивающий дополнительное сохранение энергии в режимах пониженного энергопотребления (Sleep, Deep-Sleep, Deep-power-down), обеспечивают минимальный расход энергии и позволяют использовать микроконтроллеры NXP в различных портативных и переносных устройствах, работающих от батарейки, и гарантировать долгосрочную службу батареи питания таких устройств.
Многофункциональность и высокая производительность микроконтроллеров NXP на базе ядра Cortex с легкостью позволяет создавать как сложные высокотехнологичные и производительные системы и аппараты для медицины, торговли или бытовой техники, так и миниатюрные портативные устройства, использующиеся в медицине, промышленности или быту.
Направленность развития микроконтроллеров NXP на обработку и управление цифровыми сигналами (Digital Signal, DS) в ряде случаев снимает необходимость в применении выделенных устройств цифровой обработки сигнала (DSP).
Заключение
Совокупность возможностей микроконтроллеров NXP на базе ядер Cortex-M, простоты разработки и большого выбора отладочных средств позволяет разработчикам электроники легко и быстро реализовать свои идеи и создавать универсальные и недорогие устройства за короткие сроки и с минимумом затрат. ■
Литература
1. www.ics.nxp.com/find/lpc1769
2. www.nxp.com/lpcxpresso
3. www.mbed.org
4. www.nxp.com
5. www.arm.com
6. www.hitex.com
7. www.st.com
8. www.wikipedia.org