Компания NXP Semiconductors является мировым лидером по количеству выпускаемых моделей микроконтроллеров с ядром ARM. Она производит более 50 вариантов таких изделий на основе различных версий ARM-ядер (ARM7TDMI-S, ARM720T, ARM926EJ-S, ARM922T и ARM968E). Всего в линейке насчитывается более 80 наименований микроконтроллеров. Это одна из самых больших на сегодняшний день линеек среди продукции производителей полупроводниковых компонентов.
АРМ-технология родилась в 1983 году в недрах компании Acorn Computers. Первое работающее ядро ARM2 (в то время аббревиатура ARM расшифровывалась как Acorn RISC Machine) было создано в 1986 году. Особенностями этого ядра были 32-битная шина данных, 26-битная шина адресов, позволявшая работать с 32-Мбайт адресным пространством, и шестнадцать 32-битных регистров. ARM2 был, по сути, одним из простейших 32-битных процессоров, состоящим всего из 30 тыс. транзисторов. В последующих версиях структура ядра усложнялась: появилась кэш-память, дополнительные регистры и, как следствие, увеличилась его производительность.
В результате совместных усилий трех компаний – Acorn Computers, Apple Computer и VLSI Technology – в 1990 году была образована компания Advanced RISC Machines ltd. В середине 1990-х годов процессоры на базе ARM-архитектуры с успехом использовались в мини-компьютерах Newton компании Apple. В дальнейшем различные варианты АРМ-архитектуры стали применяться в мобильных приложениях, игровых приставках, сетевых маршрутизаторах, MP3-плеерах и мобильных телефонах. К 2005 году мировой объем выпущенных устройств с АРМ-ядром превысил 1,5 млрд.
NXP и АРМ
В июне 1999 года, в результате поглощения компанией Philips Electronics компании VLSI Technology, началось сотрудничество NXP и АРМ. В 2003 году NXP выпустила на рынок первые стандартные АРМ-микроконтроллеры семейства LPC2000. В этом семействе используется высокопроизводительное ядро ARM7TDMI-S с тактовой частотой 60 МГц. Это были первые МК ARM7, изготовленные по технологии 0,18 мкм. Выпускались они в небольшом 48-выводном корпусе. В 2004 году была анонсирована серия LPC213x с единым питанием 3,3 В и с объемом встроенной флеш-памяти до 512 Кбайт. В 2004 году МК серии LPC213x дополнилась устройствами ввода-вывода с частотой переключения до 15 МГц и контроллером USB 2.0.
В 2006 году NXP выпустила МК LPC288x с флеш-памятью 1 Мбайт и встроенным контроллером High-speed USB. В 2007 году запущено в производство новейшее семейство микроконтроллеров LPC23xx/24xx. Эти МК, изготовленные по технологии 0,14 мкм, объединяют в себе несколько высокоскоростных интерфейсов. Конфигурация шины AHB и эффективная реализация DMA позволяют работать одновременно по протоколам Ethernet 10/100, Full-speed USB Host/Device, CAN и LCD, не снижая общей производительности системы.
АРМ7-микроконтроллеры NXP
Семейство LPC2000 подразделяется на три основных группы, каждая из которых имеет определенные технические особенности.
Микроконтроллеры первой группы (табл.1) – это мощные (60–75 МГц), производительные (128-битный доступ к флеш-памяти и модуль МАМ – Memory Acceleration Module – позволяют выполнять программы из встроенной флеш-памяти, не замедляя скорость ядра), оснащенные необходимыми периферийными устройствами (2 UART, I2C, SPI, ШИМ, АЦП, часы реального времени) микроконтроллеры. За последний год практически все модели этой группы были обновлены до версии "01", в которой исправлено большинство ошибок и добавлены новые возможности: быстрые порты ввода-вывода, отдельные регистры для каждого канала АЦП и т.д.
Микроконтроллеры второй группы (табл.2) имеют единое питание 3,3 В, 10-битный ЦАП (кроме LPC2101/2/3). В этих МК был основательно переработан механизм защиты кода программ во встроенной флеш-памяти. В этой группе и во всех последующих реализовано питание часов реального времени от внешней батареи. Также были добавлены дополнительные функции по контролю питания Brown-Out Detect и Power-On Reset. Во всех МК этого семейства встроены следующие коммуникационные интерфейсы: два I2C, два UART, один SPI, один SPI/SSP. В семействе LPC215x реализован сегментный контроллер ЖК-дисплея, что позволяет использовать эти МК в устройствах с визуальным отображением информации.
Микроконтроллеры третьей группы (табл.3) – это мощные МК (72 МГц), изготовленные по технологии 0,14 мкм, оснащенные современными высокоскоростными интерфейсами. USB Host, High speed USB, On-The-Go, 10/100Мбит Ethernet, CAN, LCD-контроллер – все это многообразие коммуникационных протоколов сосредоточено на одном кристалле.
ARM-микроконтроллеры серий LPC2300/2400 ориентированы в первую очередь на промышленные применения. Они базируются на высокопроизводительном 32-разрядном ядре ARM7TDMI-S. Уникальные параметры микроконтроллеров серий LPC2300/2400 позволяют разработчикам создавать различные изделия с новыми характеристиками.
Отметим, что в микроконтроллерах серий LPC2300/2400 интегрировано наиболее богатое на сегодня сочетание самых востребованных встроенных интерфейсов, таких как 10/100 Ethernet MAC, UART, CAN, SPI, SSP, IС и IS, SD/ММС Card-интерфейс. Также в МК данной серии предусмотрен полностью реализованный USB 2.0, состоящий из USB Device, Host (OHCI-совместимый) и OTG-блоков со встроенными физическими (PHY) уровнями и с DMA-контроллером прямого доступа к памяти. Микроконтроллеры серии LPC2400 также содержат, в отличие от серии LPC2300, встроенный контроллер внешней памяти и LCD-контроллер.
Микроконтроллеры серий LPC2300/2400 работают на тактовой частоте до 72 МГц. Программный код выполняется из встроенных SRAM- или флеш-памяти, а для LPC2400 – и из внешней памяти. Суммарный объем SRAM составляет до 102 Кбайт, а встроенной флеш-памяти – до 512 Кбайт. При этом благодаря широкой 128-разрядной внутренней шине доступа к флеш-памяти и специальному буферу исполнение программного кода из встроенной флеш-памяти происходит без потери производительности вплоть до предельной тактовой частоты ядра. Начальное программирование встроенной флеш-памяти в микроконтроллерах серий LPC2300/2400 может быть реализовано через СОМ-порт (в режиме ISP) или через стандартный отладочный JTAG-интерфейс. Кроме того, содержимое флеш-памяти можно изменять и непосредственно из исполняемой программы, используя режим IAP.
Для полноценной поддержки стандарта USB 2.0 (12 Мбит/с) с режимами Control, Bulk, Interrupt и Isochronous в микроконтроллерах серий LPC2300/2400 интегрировано 16 логических конечных точек с двойной буферизацией и использованием 4-Кбайт Endpoint USB RAM и 16-Кбайт USB DMA RAM, поддерживающих пакет максимального размера и функции гибкого прямого доступа к памяти.
Одно из важных преимуществ микроконтроллеров серий LPC2300/2400 – высокая скорость подсистемы ввода-вывода, достигаемая благодаря модулю Fast GPIO, тактируемому от локальной шины ARM. При этом программно управляемый ввод-вывод обеспечивается с задержкой всего на 2 такта частоты ядра, тогда как для ARM-микроконтроллеров с обычными модулями GPIO, тактируемыми от периферийной шины, минимальная задержка составляет не менее 7 тактов частоты ядра. Контроллер внешней памяти LPC2400 поддерживает работу одновременно до восьми независимых банков памяти. При этом четыре банка памяти предназначены для подключения микросхем асинхронной статической памяти типа RAM, ROM и флеш емкостью до 16 Мбайт и 8/16/32-битным доступом для каждого из банков. Другие же четыре банка служат для подключения микросхем синхронной динамической памяти типа SDRAM емкостью до 256 Мбайт и 16/32-битным доступом для каждого из банков.
Выпущенные в 2008 году микроконтроллеры LPC2377/78 (см. табл.3), построенные на основе популярного ядра ARM7TDMI-S, имеют в своем составе богатый набор периферийных модулей: Ethernet, UART, SPI, I2C, I2S, SSP, ADC, DAC, интерфейс для карт памяти SD/MMC, USB Full Speed Device (только в LPC2378), CAN (только в LPC2378).
Практически каждый модуль доступен через контроллер прямого доступа к памяти (DMA), что, безусловно, положительно сказывается на производительности устройств на основе LPC2377/78.
Наличие богатого набора периферийных модулей требует большого быстрого ОЗУ для временного хранения и буферизации больших объемов данных, поэтому в микроконтроллерах LPC2377/78 реализовано 58 Кбайт внутренней памяти (32 Кбайт памяти общего назначения, 8 Кбайт – модуль USB, 16 Кбайт – модуль Ethernet, 2 Кбайт – часы реального времени). Если в конечном приложении модули USB, Ethernet и часы реального времени не используются, то при их отключении в качестве памяти общего назначения выступает все реализованное на кристалле внутреннее СОЗУ, т.е. все 58 Кбайт. На случай, если этого объема памяти окажется недостаточно, в микроконтроллерах предусмотрен интерфейс для подключения внешней статической памяти или флеш-памяти с 8-битной шиной данных, 16-битной шиной адреса и двумя сигналами выборки чипа памяти (CS0 и CS1). Таким образом, можно подключить до 128 Кбайт внешней памяти. В большинстве типовых приложений с применением LPC2377/78 для хранения исполняемого кода вполне достаточно лишь внутренней флеш-памяти объемом 512 Кбайт. Внешнюю же память, в качестве которой применяют практически любые распространенные микросхемы 8-битного статического ОЗУ, в этом случае можно использовать исключительно для буферизации и временного хранения данных. Считывание за один цикл четырех 32-битных слов из флеш-памяти позволяет ядру контроллера работать на максимальной частоте 72 МГц. За эту возможность отвечает встроенный модуль ускорения доступа к флеш-памяти (MAM), фактически управляющий 128-битным буфером предвыборки.
В отличие от ранних семейств (LPC2100), в которых для питания микроконтроллера требовалось два напряжения питания 1,8 В и 3,3 В, в LPC2377/78 достаточно лишь одного напряжения 3,3 В (это также относится и ко всем членам семейства LPC2300). Включение модуля контроля напряжения питания (BOD) позволяет повысить надежность устройств на базе этих микроконтроллеров: уменьшение питания ниже 2,95 В вызывает только прерывание от модуля BOD, а ниже 2,65 В – полный сброс всей ИС.
Отдельно стоит обратить внимание на встроенный контроллер интерфейса Ethernet MAC (Media Access Controller), который поддерживает работу в сетях 10/100 Мбит/c: 10 Base-T, 100 Base-TX, 100 Base-FX и 100 Base-T4 и имеет полную совместимость со стандартом IEEE 802.3. Помимо поддержки возможностей Wake-on-LAN (внешнее управление включением) реализовано гибкое управление питанием модуля. Для работы Ethernet требуется внешняя микросхема контроллера уровня PHY, подключаемая к внутреннему контроллеру MAC через встроенный интерфейс RMII (Reduced Media Independent Interface). Наличие собственного СОЗУ объемом 16 Кбайт, подключенного по индивидуальной шине AHB2 к модулю Ethernet, значительно повышает его производительность.
Благодаря богатому набору периферийных модулей, интерфейсу внешней памяти, большому объему внутреннего СОЗУ и флеш-памяти микроконтроллеры LPC2377/78 могут применяться во многих областях. В здравоохранении – в различных малогабаритных и стационарных устройствах по сбору и обработке данных с различных датчиков медицинского назначения; в промышленности – в системах управления силовыми двигателями и установками (электропривод), системах сбора данных в промышленных сетях; конверторах распространенных интерфейсов с высокой пропускной способностью: Ethernet-RS-232/CAN, USB-CAN, USB-I2C, USB-UART и т.д.
На базе микроконтроллеров LPC2377/78 можно строить как переносные устройства с батарейным питанием и высокими требованиями к энергопотреблению, так и стационарные высокопроизводительные модули или самостоятельные устройства, применяемые в промышленности, медицине и бытовой технике.
ARM9-микроконтроллеры
Выпущенный в 2005 году микроконтроллер LPC3180 на ядре ARM926EJ-S довольно долгое время оставался единственным МК семейства LPC3000. Но в марте 2008 года эта линейка дополнилась микроконтроллерами LPC3200, изготовленными по 90-нм технологии (табл.4). Мощные ARM9-микроконтроллеры, оснащенные высокоскоростными периферийными устройствами – 10/100 Ethernet, USB Host, LPC-контроллер – позволяют строить мощные системы управления для индустриальных, мобильных применений. Питание ядра на уровне 0,9 В делает возможным создание устройств со сверхнизким энергопотреблением. Семейство поддерживает DDR, SDR, SRAM и флеш-память и обеспечивает опцию загрузки из NAND флеш-памяти, SPI-памяти, UART или SRAM. "Сейчас ясно, что рост рынка 32-разрядных МК продолжает опережать рост рынка 8- и 16-разрядных МК, – отметил Джеф Лиз (Geoff Lees), вице-президент по МК компании NXP Semiconductors, – мы разработали семейство LPC3200 на основе наших семейств LPC2000 и LPC3000, чтобы удовлетворить растущие требования по производительности и функциональности МК".
Семейство NXP LPC3200 предназначено для медицинских, автомобильных, промышленных и приборных приложений и обеспечивает разработчиков высокопроизводительными микроконтроллерами с малым потреблением мощности электропитания. Семейство включает в себя четыре микроконтроллера – LPC3220, LPC3230, LPC3240 и LPC3250.
Семейство LPC3200 имеет ядро ARM926EJ производительностью 266 МГц, контроллер LCD, векторный блок с плавающей точкой (VFP), модули Ethernet MAC и USB OTG, эффективную матричную структуру с внутренней шиной, большой набор стандартных периферийных устройств. Эти возможности нового семейства позволят разработчикам встраиваемых систем существенно уменьшить число используемых компонентов и электропотребление без снижения производительности.
LPC3200 разработаны, чтобы обеспечить гибкость в создании приложений для быстрых и одновременных пересылок больших блоков данных. Они сочетают в себе высокую производительность, низкое потребление энергии и большой набор периферийных блоков. В микроконтроллеры включены следующие периферийные и связные модули: интерфейсы – I2C, I2S, SPI, SSP, UART, USB OTG, 10/100 Ethernet MAC, SD; устройства – ШИМ, АЦП для сенсорного экрана (touch-screen interfaces); 24-разрядный LCD-контроллер с поддержкой STN и TFT-панелей. Семейство LPC3200 поддерживает DDR, SDR, SRAM и флеш-память, обеспечивая дополнительную возможность начальной загрузки кода по UART или из памяти NAND флэш, SRAM, а также SPI-памяти.
В конце 2008 года компания NXP Semiconductors выпустила на рынок серию 32-разрядных микроконтроллеров LPC2900 на ядре ARM968. Представители NXP сообщают, что это самые быстрые на сегодня микроконтроллеры на ядре ARM со встроенной флеш-памятью с возможностью работы на частоте 125 МГц. МК найдут применение в промышленном сетевом оборудовании, охранных системах и прочих встраиваемых устройствах. Новыми приборами в семействе стали три ARM9-микроконтроллера: LPC2919, LPC2917 и LPC2915 (см. табл.4).
Серия отличается высокоскоростной встроенной флеш-памятью объемом 768 Кбайт. Технические характеристики LPC2900:
объем оперативной встроенной памяти — до 120 Кбайт;
два 10-разрядных АЦП (на 3 В) по 8 каналов каждый;
один 10-разрядный АЦП (на 5 В) с 8 каналами;
до десяти 32-разрядных таймеров, включая таймеры ШИМ;
прямой доступ к памяти (GP DMA).
Интерфейсы: два CAN, три Q-SPI, два I2C-bus, 16C550 UART; интерфейс для подключения внешней памяти.
В основе микроконтроллеров серии LPC2900 – процессор ARM968E-S с частотой тактирования 80 МГц, работающий совместно с двумя CAN-контроллерами и двумя контроллерами LIN. Микроконтроллеры серии LPC2900 оптимизированы под увеличение производительности. Встроенный блок управления питанием (PMU) приборов LPC2900 обеспечивает эффективное управление потреблением, что позволяет использовать их в критичных к энергопотреблению применениях. Встроенная периферия, такая как быстродействующий широтно-импульсный модулятор (PWM) и UART-приемопередатчики, может работать с разными частотами тактирования, что также способ-ствует снижению энергопотребления.
Такие функциональные особенности, как два CAN, интерфейса и два ведущих LIN, стандартные последовательные шины, АЦП, делают МК серии LPC2900 идеальным решением для высокопроизводительных, работающих в сложных коммуникационных условиях применений, – управления двигателями, шлюзами CAN, программируемыми логическими контроллерами (programmable logic controller – PLC), для промышленных сетей, средств развлечения пассажиров автомобилей, средств навигации и обеспечения комфорта.
Три новых МК имеют совместимую периферию и совместимы по кодам. LPC2917 и LPC2919 оснащены 32-разрядными контроллерами внешней памяти, поддерживающими устройства статической памяти, в том числе RAM, ROM, флеш-память, пакетную ROM и I/O внешних устройств. Система способна поддерживать до 768 Кбайт встроенной флеш-памяти и SRAM емкостью 80 Кбайт. Уникальная флеш-память шириной в 128 разрядов обеспечивает самую высокую производительность процедур выборки, принимая по четыре слова за каждое обращение, тогда как обычно выборка производится по одному слову. SRAM включает 16 Кбайт тесно связанной памяти (Tightly Coupled Memory – TCM) данных, 16 Кбайт TCM-кодов и 48 Кбайт SRAM общего назначения. Встроенные CAN 2.0 B контроллеры обеспечивают режим FullCAN приема сообщения, оснащены строенными буферами передачи с автоматическим планированием приоритета и обширной глобальной CAN-фильтрацией приема, необходимой для функционирования высокопроизводительного шлюза. Совместимость с уже существующими средствами разработки/отладки (рис.1, 2) обеспечивает стандартный JTAG интерфейс ARM тестирования/отладки.
Приборы семейства LPC2900 выпускаются в 144-выводных LQFP и 100-выводных LQFP корпусах.
Микроконтроллеры серии LPC292x не только обеспечивают непревзойденный уровень рабочих скоростей, но и содержат несколько новых функций, не доступных ни в одном из существующих микроконтроллеров на основе ядра ARM968. Такие функции, как USB Host/On-The-Go/Device, 16-Kбайт EEPROM, 5В АЦП, UART с поддержкой RS485 и LIN, Quadrature Encoder Interface и ШИМ для управления двигателями, увеличивают производительность систем, при этом время их разработки и стоимость уменьшаются.
Микроконтроллеры LPC1700 на базе ядра Cortex-M3
Продолжая развивать линейку 32-битных МК, компания NXP Semiconductors в 2009 году выпустила на рынок новое семейство – LPC1700. МК этого семейства построены на современном ядре Cortex M3. Семейство ARM Cortex составляют ядра, выполненные на основе различных профилей одной и той же архитектуры ARMv7. Профиль A предназначен для интеллектуальных применений, работающих в составе открытых и сложных операционных систем; профиль R – для систем реального времени и профиль M – для критичных к стоимости микроконтроллеров. Cortex-M3 – первое ARM-ядро, выполненное на базе архитектуры ARMv7-M и разработанное специально для высокопроизводительных приложений, в которых важны энергопотребление и стоимость. Выполненные на основе этого ядра микроконтроллеры находят широкое применение в автомобильной электронике, промышленной автоматике и оборудовании беспроводной связи.
Микроконтроллеры на основе ядра Cortex-M3 предназначены для использования в составе встраиваемых применений, где требуется одновременное сочетание высокой производительности, возможностей работы в масштабе реального времени, малой потребляемой мощности и низкой стоимости.
Ключевыми отличиями ядра Cortex-M3, позволившими ему превзойти предшественника – ARM7, являются новый набор инструкций Thumb-2, совмещающий высокое быстродействие и усовершенствованную систему прерываний, которая требует вдвое меньше времени на обработку прерывания (по сравнению с ARM7).
Невысокая стоимость микроконтроллеров со встроенным ядром Cortex-M3 и доступность микроконтроллеров с малым числом выводов делает их привлекательным инструментом для развития существующих 8- и 16-битных применений с расширенными возможностями по обработке информации и передачи данных.
Работая на частотах до 100 МГц, микроконтроллеры серии LPC1700 превосходят самые быстрые микроконтроллеры на ядре Cortex-M3 на 30–40%. Рекордно высокая производительность позволяет LPC1700 обслуживать интерфейсы с большой пропускной способностью — Ethernet, USB (в режиме On-The-Go,Host или Device) и CAN — одновременно и без задержек.
Интеграция в состав микроконтроллеров схемы управления питанием позволила улучшить вход и выход из режимов энергосбережения.
Кроме того, микроконтроллеры LPC1700 совместимы по выводам с популярным семейством ARM7-микроконтроллеров LPC2300. Эта совместимость позволяет инженерам разрабатывать системы, в которые можно заложить устройства как на основе ядра ARM7, так и ядра Cortex-M3. Микроконтроллеры семейства LPC1700 ориентированы на самые разнообразные применения, в том числе счетчики электроэнергии, системы освещения, индустриальные сети, системы сигнализации и пожаротушения, бытовую технику и управление двигателями.
Семейство микроконтроллеров NXP LPC1700 имеет следующие характеристики:
поддержка периферийных интерфейсов, включая 10/100 Ethernet, USB (режимы On-The-Go,Host,Device) и два CAN, которые могут функционировать одновременно без существенной нагрузки на шину;
полноценный 12-разрядный АЦП и 10-разрядный ЦАП;
шина I2C с поддержкой режима Fast-Mode Plus (1 Мбит/с), четыре шины UART, три шины SPI/SSP и шина I2S;
часы реального времени с потреблением менее 1 мкА;
модуль защиты памяти (MPU), выделяющий области памяти только для чтения и предохраняющий их от разрушения;
guadrature Encoder Interface (QEI) и блок ШИМ для управления двигателями;
ядро Cortex-M3 версии 2 с улучшенными режимами пониженного энергопотребления, в том числе контроллер "спящего" режима (WIC);
совместимость с семейством ARM7-микроконтроллеров NXP LPC2300.
Семейство микроконтроллеров LPC1700 будет поддерживаться всеми партнерами NXP в области средств разработки, такими как Keil (an ARM company), IAR Systems, Hitex Development Tools, Embedded Artists и другими. Компания Code Red Technologies обеспечит поддержку LPC1700 в своей платформе Red Suite software development на базе Eclipse.
В составе семейства LPC1700 – семь микроконтроллеров – LPC1751, LPC1752, LPC1753, LPC1754, LPC1764, LPC1765, LPC1766.
В продажу образцы микроконтроллеров семейства LPC1700 компании NXP поступят во втором квартале 2009 года.
"LPC1700 – самое быстрое семейство микроконтроллеров на базе ядра Cortex-M3 из существующих на сегодняшний день и разработано для одновременной обработки высокоскоростных потоков с интерфейсов Ethernet, USB и CAN," – утверждает Джофф Лиз (Geoff Lees), вице-президент и генеральный директор линии микроконтроллеров компании NXP Semiconductors. – Как и всегда, мы готовы предложить нашим клиентам широчайший выбор 32-битных микроконтроллеров".
Развитие линейки АРМ МК NXP продолжается. В феврале 2009 года выпущены образцы МК LPC3130/1 с интерфейсом High Speed USB, работающем на скорости до 480 Мбит/с. В дальнейшем МК будут оснащаться новыми аналоговыми и интерфейсными функциями: монитор зарядки Li-ion батареей, аудиокодеки, криптоалгоритмы AES. Gigabit Ethernet. CE-ATA для подключения жестких дисков и т.д. Новые МК выходят на рынок каждый квартал.
В результате совместных усилий трех компаний – Acorn Computers, Apple Computer и VLSI Technology – в 1990 году была образована компания Advanced RISC Machines ltd. В середине 1990-х годов процессоры на базе ARM-архитектуры с успехом использовались в мини-компьютерах Newton компании Apple. В дальнейшем различные варианты АРМ-архитектуры стали применяться в мобильных приложениях, игровых приставках, сетевых маршрутизаторах, MP3-плеерах и мобильных телефонах. К 2005 году мировой объем выпущенных устройств с АРМ-ядром превысил 1,5 млрд.
NXP и АРМ
В июне 1999 года, в результате поглощения компанией Philips Electronics компании VLSI Technology, началось сотрудничество NXP и АРМ. В 2003 году NXP выпустила на рынок первые стандартные АРМ-микроконтроллеры семейства LPC2000. В этом семействе используется высокопроизводительное ядро ARM7TDMI-S с тактовой частотой 60 МГц. Это были первые МК ARM7, изготовленные по технологии 0,18 мкм. Выпускались они в небольшом 48-выводном корпусе. В 2004 году была анонсирована серия LPC213x с единым питанием 3,3 В и с объемом встроенной флеш-памяти до 512 Кбайт. В 2004 году МК серии LPC213x дополнилась устройствами ввода-вывода с частотой переключения до 15 МГц и контроллером USB 2.0.
В 2006 году NXP выпустила МК LPC288x с флеш-памятью 1 Мбайт и встроенным контроллером High-speed USB. В 2007 году запущено в производство новейшее семейство микроконтроллеров LPC23xx/24xx. Эти МК, изготовленные по технологии 0,14 мкм, объединяют в себе несколько высокоскоростных интерфейсов. Конфигурация шины AHB и эффективная реализация DMA позволяют работать одновременно по протоколам Ethernet 10/100, Full-speed USB Host/Device, CAN и LCD, не снижая общей производительности системы.
АРМ7-микроконтроллеры NXP
Семейство LPC2000 подразделяется на три основных группы, каждая из которых имеет определенные технические особенности.
Микроконтроллеры первой группы (табл.1) – это мощные (60–75 МГц), производительные (128-битный доступ к флеш-памяти и модуль МАМ – Memory Acceleration Module – позволяют выполнять программы из встроенной флеш-памяти, не замедляя скорость ядра), оснащенные необходимыми периферийными устройствами (2 UART, I2C, SPI, ШИМ, АЦП, часы реального времени) микроконтроллеры. За последний год практически все модели этой группы были обновлены до версии "01", в которой исправлено большинство ошибок и добавлены новые возможности: быстрые порты ввода-вывода, отдельные регистры для каждого канала АЦП и т.д.
Микроконтроллеры второй группы (табл.2) имеют единое питание 3,3 В, 10-битный ЦАП (кроме LPC2101/2/3). В этих МК был основательно переработан механизм защиты кода программ во встроенной флеш-памяти. В этой группе и во всех последующих реализовано питание часов реального времени от внешней батареи. Также были добавлены дополнительные функции по контролю питания Brown-Out Detect и Power-On Reset. Во всех МК этого семейства встроены следующие коммуникационные интерфейсы: два I2C, два UART, один SPI, один SPI/SSP. В семействе LPC215x реализован сегментный контроллер ЖК-дисплея, что позволяет использовать эти МК в устройствах с визуальным отображением информации.
Микроконтроллеры третьей группы (табл.3) – это мощные МК (72 МГц), изготовленные по технологии 0,14 мкм, оснащенные современными высокоскоростными интерфейсами. USB Host, High speed USB, On-The-Go, 10/100Мбит Ethernet, CAN, LCD-контроллер – все это многообразие коммуникационных протоколов сосредоточено на одном кристалле.
ARM-микроконтроллеры серий LPC2300/2400 ориентированы в первую очередь на промышленные применения. Они базируются на высокопроизводительном 32-разрядном ядре ARM7TDMI-S. Уникальные параметры микроконтроллеров серий LPC2300/2400 позволяют разработчикам создавать различные изделия с новыми характеристиками.
Отметим, что в микроконтроллерах серий LPC2300/2400 интегрировано наиболее богатое на сегодня сочетание самых востребованных встроенных интерфейсов, таких как 10/100 Ethernet MAC, UART, CAN, SPI, SSP, IС и IS, SD/ММС Card-интерфейс. Также в МК данной серии предусмотрен полностью реализованный USB 2.0, состоящий из USB Device, Host (OHCI-совместимый) и OTG-блоков со встроенными физическими (PHY) уровнями и с DMA-контроллером прямого доступа к памяти. Микроконтроллеры серии LPC2400 также содержат, в отличие от серии LPC2300, встроенный контроллер внешней памяти и LCD-контроллер.
Микроконтроллеры серий LPC2300/2400 работают на тактовой частоте до 72 МГц. Программный код выполняется из встроенных SRAM- или флеш-памяти, а для LPC2400 – и из внешней памяти. Суммарный объем SRAM составляет до 102 Кбайт, а встроенной флеш-памяти – до 512 Кбайт. При этом благодаря широкой 128-разрядной внутренней шине доступа к флеш-памяти и специальному буферу исполнение программного кода из встроенной флеш-памяти происходит без потери производительности вплоть до предельной тактовой частоты ядра. Начальное программирование встроенной флеш-памяти в микроконтроллерах серий LPC2300/2400 может быть реализовано через СОМ-порт (в режиме ISP) или через стандартный отладочный JTAG-интерфейс. Кроме того, содержимое флеш-памяти можно изменять и непосредственно из исполняемой программы, используя режим IAP.
Для полноценной поддержки стандарта USB 2.0 (12 Мбит/с) с режимами Control, Bulk, Interrupt и Isochronous в микроконтроллерах серий LPC2300/2400 интегрировано 16 логических конечных точек с двойной буферизацией и использованием 4-Кбайт Endpoint USB RAM и 16-Кбайт USB DMA RAM, поддерживающих пакет максимального размера и функции гибкого прямого доступа к памяти.
Одно из важных преимуществ микроконтроллеров серий LPC2300/2400 – высокая скорость подсистемы ввода-вывода, достигаемая благодаря модулю Fast GPIO, тактируемому от локальной шины ARM. При этом программно управляемый ввод-вывод обеспечивается с задержкой всего на 2 такта частоты ядра, тогда как для ARM-микроконтроллеров с обычными модулями GPIO, тактируемыми от периферийной шины, минимальная задержка составляет не менее 7 тактов частоты ядра. Контроллер внешней памяти LPC2400 поддерживает работу одновременно до восьми независимых банков памяти. При этом четыре банка памяти предназначены для подключения микросхем асинхронной статической памяти типа RAM, ROM и флеш емкостью до 16 Мбайт и 8/16/32-битным доступом для каждого из банков. Другие же четыре банка служат для подключения микросхем синхронной динамической памяти типа SDRAM емкостью до 256 Мбайт и 16/32-битным доступом для каждого из банков.
Выпущенные в 2008 году микроконтроллеры LPC2377/78 (см. табл.3), построенные на основе популярного ядра ARM7TDMI-S, имеют в своем составе богатый набор периферийных модулей: Ethernet, UART, SPI, I2C, I2S, SSP, ADC, DAC, интерфейс для карт памяти SD/MMC, USB Full Speed Device (только в LPC2378), CAN (только в LPC2378).
Практически каждый модуль доступен через контроллер прямого доступа к памяти (DMA), что, безусловно, положительно сказывается на производительности устройств на основе LPC2377/78.
Наличие богатого набора периферийных модулей требует большого быстрого ОЗУ для временного хранения и буферизации больших объемов данных, поэтому в микроконтроллерах LPC2377/78 реализовано 58 Кбайт внутренней памяти (32 Кбайт памяти общего назначения, 8 Кбайт – модуль USB, 16 Кбайт – модуль Ethernet, 2 Кбайт – часы реального времени). Если в конечном приложении модули USB, Ethernet и часы реального времени не используются, то при их отключении в качестве памяти общего назначения выступает все реализованное на кристалле внутреннее СОЗУ, т.е. все 58 Кбайт. На случай, если этого объема памяти окажется недостаточно, в микроконтроллерах предусмотрен интерфейс для подключения внешней статической памяти или флеш-памяти с 8-битной шиной данных, 16-битной шиной адреса и двумя сигналами выборки чипа памяти (CS0 и CS1). Таким образом, можно подключить до 128 Кбайт внешней памяти. В большинстве типовых приложений с применением LPC2377/78 для хранения исполняемого кода вполне достаточно лишь внутренней флеш-памяти объемом 512 Кбайт. Внешнюю же память, в качестве которой применяют практически любые распространенные микросхемы 8-битного статического ОЗУ, в этом случае можно использовать исключительно для буферизации и временного хранения данных. Считывание за один цикл четырех 32-битных слов из флеш-памяти позволяет ядру контроллера работать на максимальной частоте 72 МГц. За эту возможность отвечает встроенный модуль ускорения доступа к флеш-памяти (MAM), фактически управляющий 128-битным буфером предвыборки.
В отличие от ранних семейств (LPC2100), в которых для питания микроконтроллера требовалось два напряжения питания 1,8 В и 3,3 В, в LPC2377/78 достаточно лишь одного напряжения 3,3 В (это также относится и ко всем членам семейства LPC2300). Включение модуля контроля напряжения питания (BOD) позволяет повысить надежность устройств на базе этих микроконтроллеров: уменьшение питания ниже 2,95 В вызывает только прерывание от модуля BOD, а ниже 2,65 В – полный сброс всей ИС.
Отдельно стоит обратить внимание на встроенный контроллер интерфейса Ethernet MAC (Media Access Controller), который поддерживает работу в сетях 10/100 Мбит/c: 10 Base-T, 100 Base-TX, 100 Base-FX и 100 Base-T4 и имеет полную совместимость со стандартом IEEE 802.3. Помимо поддержки возможностей Wake-on-LAN (внешнее управление включением) реализовано гибкое управление питанием модуля. Для работы Ethernet требуется внешняя микросхема контроллера уровня PHY, подключаемая к внутреннему контроллеру MAC через встроенный интерфейс RMII (Reduced Media Independent Interface). Наличие собственного СОЗУ объемом 16 Кбайт, подключенного по индивидуальной шине AHB2 к модулю Ethernet, значительно повышает его производительность.
Благодаря богатому набору периферийных модулей, интерфейсу внешней памяти, большому объему внутреннего СОЗУ и флеш-памяти микроконтроллеры LPC2377/78 могут применяться во многих областях. В здравоохранении – в различных малогабаритных и стационарных устройствах по сбору и обработке данных с различных датчиков медицинского назначения; в промышленности – в системах управления силовыми двигателями и установками (электропривод), системах сбора данных в промышленных сетях; конверторах распространенных интерфейсов с высокой пропускной способностью: Ethernet-RS-232/CAN, USB-CAN, USB-I2C, USB-UART и т.д.
На базе микроконтроллеров LPC2377/78 можно строить как переносные устройства с батарейным питанием и высокими требованиями к энергопотреблению, так и стационарные высокопроизводительные модули или самостоятельные устройства, применяемые в промышленности, медицине и бытовой технике.
ARM9-микроконтроллеры
Выпущенный в 2005 году микроконтроллер LPC3180 на ядре ARM926EJ-S довольно долгое время оставался единственным МК семейства LPC3000. Но в марте 2008 года эта линейка дополнилась микроконтроллерами LPC3200, изготовленными по 90-нм технологии (табл.4). Мощные ARM9-микроконтроллеры, оснащенные высокоскоростными периферийными устройствами – 10/100 Ethernet, USB Host, LPC-контроллер – позволяют строить мощные системы управления для индустриальных, мобильных применений. Питание ядра на уровне 0,9 В делает возможным создание устройств со сверхнизким энергопотреблением. Семейство поддерживает DDR, SDR, SRAM и флеш-память и обеспечивает опцию загрузки из NAND флеш-памяти, SPI-памяти, UART или SRAM. "Сейчас ясно, что рост рынка 32-разрядных МК продолжает опережать рост рынка 8- и 16-разрядных МК, – отметил Джеф Лиз (Geoff Lees), вице-президент по МК компании NXP Semiconductors, – мы разработали семейство LPC3200 на основе наших семейств LPC2000 и LPC3000, чтобы удовлетворить растущие требования по производительности и функциональности МК".
Семейство NXP LPC3200 предназначено для медицинских, автомобильных, промышленных и приборных приложений и обеспечивает разработчиков высокопроизводительными микроконтроллерами с малым потреблением мощности электропитания. Семейство включает в себя четыре микроконтроллера – LPC3220, LPC3230, LPC3240 и LPC3250.
Семейство LPC3200 имеет ядро ARM926EJ производительностью 266 МГц, контроллер LCD, векторный блок с плавающей точкой (VFP), модули Ethernet MAC и USB OTG, эффективную матричную структуру с внутренней шиной, большой набор стандартных периферийных устройств. Эти возможности нового семейства позволят разработчикам встраиваемых систем существенно уменьшить число используемых компонентов и электропотребление без снижения производительности.
LPC3200 разработаны, чтобы обеспечить гибкость в создании приложений для быстрых и одновременных пересылок больших блоков данных. Они сочетают в себе высокую производительность, низкое потребление энергии и большой набор периферийных блоков. В микроконтроллеры включены следующие периферийные и связные модули: интерфейсы – I2C, I2S, SPI, SSP, UART, USB OTG, 10/100 Ethernet MAC, SD; устройства – ШИМ, АЦП для сенсорного экрана (touch-screen interfaces); 24-разрядный LCD-контроллер с поддержкой STN и TFT-панелей. Семейство LPC3200 поддерживает DDR, SDR, SRAM и флеш-память, обеспечивая дополнительную возможность начальной загрузки кода по UART или из памяти NAND флэш, SRAM, а также SPI-памяти.
В конце 2008 года компания NXP Semiconductors выпустила на рынок серию 32-разрядных микроконтроллеров LPC2900 на ядре ARM968. Представители NXP сообщают, что это самые быстрые на сегодня микроконтроллеры на ядре ARM со встроенной флеш-памятью с возможностью работы на частоте 125 МГц. МК найдут применение в промышленном сетевом оборудовании, охранных системах и прочих встраиваемых устройствах. Новыми приборами в семействе стали три ARM9-микроконтроллера: LPC2919, LPC2917 и LPC2915 (см. табл.4).
Серия отличается высокоскоростной встроенной флеш-памятью объемом 768 Кбайт. Технические характеристики LPC2900:
объем оперативной встроенной памяти — до 120 Кбайт;
два 10-разрядных АЦП (на 3 В) по 8 каналов каждый;
один 10-разрядный АЦП (на 5 В) с 8 каналами;
до десяти 32-разрядных таймеров, включая таймеры ШИМ;
прямой доступ к памяти (GP DMA).
Интерфейсы: два CAN, три Q-SPI, два I2C-bus, 16C550 UART; интерфейс для подключения внешней памяти.
В основе микроконтроллеров серии LPC2900 – процессор ARM968E-S с частотой тактирования 80 МГц, работающий совместно с двумя CAN-контроллерами и двумя контроллерами LIN. Микроконтроллеры серии LPC2900 оптимизированы под увеличение производительности. Встроенный блок управления питанием (PMU) приборов LPC2900 обеспечивает эффективное управление потреблением, что позволяет использовать их в критичных к энергопотреблению применениях. Встроенная периферия, такая как быстродействующий широтно-импульсный модулятор (PWM) и UART-приемопередатчики, может работать с разными частотами тактирования, что также способ-ствует снижению энергопотребления.
Такие функциональные особенности, как два CAN, интерфейса и два ведущих LIN, стандартные последовательные шины, АЦП, делают МК серии LPC2900 идеальным решением для высокопроизводительных, работающих в сложных коммуникационных условиях применений, – управления двигателями, шлюзами CAN, программируемыми логическими контроллерами (programmable logic controller – PLC), для промышленных сетей, средств развлечения пассажиров автомобилей, средств навигации и обеспечения комфорта.
Три новых МК имеют совместимую периферию и совместимы по кодам. LPC2917 и LPC2919 оснащены 32-разрядными контроллерами внешней памяти, поддерживающими устройства статической памяти, в том числе RAM, ROM, флеш-память, пакетную ROM и I/O внешних устройств. Система способна поддерживать до 768 Кбайт встроенной флеш-памяти и SRAM емкостью 80 Кбайт. Уникальная флеш-память шириной в 128 разрядов обеспечивает самую высокую производительность процедур выборки, принимая по четыре слова за каждое обращение, тогда как обычно выборка производится по одному слову. SRAM включает 16 Кбайт тесно связанной памяти (Tightly Coupled Memory – TCM) данных, 16 Кбайт TCM-кодов и 48 Кбайт SRAM общего назначения. Встроенные CAN 2.0 B контроллеры обеспечивают режим FullCAN приема сообщения, оснащены строенными буферами передачи с автоматическим планированием приоритета и обширной глобальной CAN-фильтрацией приема, необходимой для функционирования высокопроизводительного шлюза. Совместимость с уже существующими средствами разработки/отладки (рис.1, 2) обеспечивает стандартный JTAG интерфейс ARM тестирования/отладки.
Приборы семейства LPC2900 выпускаются в 144-выводных LQFP и 100-выводных LQFP корпусах.
Микроконтроллеры серии LPC292x не только обеспечивают непревзойденный уровень рабочих скоростей, но и содержат несколько новых функций, не доступных ни в одном из существующих микроконтроллеров на основе ядра ARM968. Такие функции, как USB Host/On-The-Go/Device, 16-Kбайт EEPROM, 5В АЦП, UART с поддержкой RS485 и LIN, Quadrature Encoder Interface и ШИМ для управления двигателями, увеличивают производительность систем, при этом время их разработки и стоимость уменьшаются.
Микроконтроллеры LPC1700 на базе ядра Cortex-M3
Продолжая развивать линейку 32-битных МК, компания NXP Semiconductors в 2009 году выпустила на рынок новое семейство – LPC1700. МК этого семейства построены на современном ядре Cortex M3. Семейство ARM Cortex составляют ядра, выполненные на основе различных профилей одной и той же архитектуры ARMv7. Профиль A предназначен для интеллектуальных применений, работающих в составе открытых и сложных операционных систем; профиль R – для систем реального времени и профиль M – для критичных к стоимости микроконтроллеров. Cortex-M3 – первое ARM-ядро, выполненное на базе архитектуры ARMv7-M и разработанное специально для высокопроизводительных приложений, в которых важны энергопотребление и стоимость. Выполненные на основе этого ядра микроконтроллеры находят широкое применение в автомобильной электронике, промышленной автоматике и оборудовании беспроводной связи.
Микроконтроллеры на основе ядра Cortex-M3 предназначены для использования в составе встраиваемых применений, где требуется одновременное сочетание высокой производительности, возможностей работы в масштабе реального времени, малой потребляемой мощности и низкой стоимости.
Ключевыми отличиями ядра Cortex-M3, позволившими ему превзойти предшественника – ARM7, являются новый набор инструкций Thumb-2, совмещающий высокое быстродействие и усовершенствованную систему прерываний, которая требует вдвое меньше времени на обработку прерывания (по сравнению с ARM7).
Невысокая стоимость микроконтроллеров со встроенным ядром Cortex-M3 и доступность микроконтроллеров с малым числом выводов делает их привлекательным инструментом для развития существующих 8- и 16-битных применений с расширенными возможностями по обработке информации и передачи данных.
Работая на частотах до 100 МГц, микроконтроллеры серии LPC1700 превосходят самые быстрые микроконтроллеры на ядре Cortex-M3 на 30–40%. Рекордно высокая производительность позволяет LPC1700 обслуживать интерфейсы с большой пропускной способностью — Ethernet, USB (в режиме On-The-Go,Host или Device) и CAN — одновременно и без задержек.
Интеграция в состав микроконтроллеров схемы управления питанием позволила улучшить вход и выход из режимов энергосбережения.
Кроме того, микроконтроллеры LPC1700 совместимы по выводам с популярным семейством ARM7-микроконтроллеров LPC2300. Эта совместимость позволяет инженерам разрабатывать системы, в которые можно заложить устройства как на основе ядра ARM7, так и ядра Cortex-M3. Микроконтроллеры семейства LPC1700 ориентированы на самые разнообразные применения, в том числе счетчики электроэнергии, системы освещения, индустриальные сети, системы сигнализации и пожаротушения, бытовую технику и управление двигателями.
Семейство микроконтроллеров NXP LPC1700 имеет следующие характеристики:
поддержка периферийных интерфейсов, включая 10/100 Ethernet, USB (режимы On-The-Go,Host,Device) и два CAN, которые могут функционировать одновременно без существенной нагрузки на шину;
полноценный 12-разрядный АЦП и 10-разрядный ЦАП;
шина I2C с поддержкой режима Fast-Mode Plus (1 Мбит/с), четыре шины UART, три шины SPI/SSP и шина I2S;
часы реального времени с потреблением менее 1 мкА;
модуль защиты памяти (MPU), выделяющий области памяти только для чтения и предохраняющий их от разрушения;
guadrature Encoder Interface (QEI) и блок ШИМ для управления двигателями;
ядро Cortex-M3 версии 2 с улучшенными режимами пониженного энергопотребления, в том числе контроллер "спящего" режима (WIC);
совместимость с семейством ARM7-микроконтроллеров NXP LPC2300.
Семейство микроконтроллеров LPC1700 будет поддерживаться всеми партнерами NXP в области средств разработки, такими как Keil (an ARM company), IAR Systems, Hitex Development Tools, Embedded Artists и другими. Компания Code Red Technologies обеспечит поддержку LPC1700 в своей платформе Red Suite software development на базе Eclipse.
В составе семейства LPC1700 – семь микроконтроллеров – LPC1751, LPC1752, LPC1753, LPC1754, LPC1764, LPC1765, LPC1766.
В продажу образцы микроконтроллеров семейства LPC1700 компании NXP поступят во втором квартале 2009 года.
"LPC1700 – самое быстрое семейство микроконтроллеров на базе ядра Cortex-M3 из существующих на сегодняшний день и разработано для одновременной обработки высокоскоростных потоков с интерфейсов Ethernet, USB и CAN," – утверждает Джофф Лиз (Geoff Lees), вице-президент и генеральный директор линии микроконтроллеров компании NXP Semiconductors. – Как и всегда, мы готовы предложить нашим клиентам широчайший выбор 32-битных микроконтроллеров".
Развитие линейки АРМ МК NXP продолжается. В феврале 2009 года выпущены образцы МК LPC3130/1 с интерфейсом High Speed USB, работающем на скорости до 480 Мбит/с. В дальнейшем МК будут оснащаться новыми аналоговыми и интерфейсными функциями: монитор зарядки Li-ion батареей, аудиокодеки, криптоалгоритмы AES. Gigabit Ethernet. CE-ATA для подключения жестких дисков и т.д. Новые МК выходят на рынок каждый квартал.
Отзывы читателей