А. Башлыков (NXP Semiconductors)
Новости Электроники 17, 2007
Компания NXP Semiconductors является мировым лидером по количеству выпускаемых моделей микроконтроллеров с ядром ARM. Она выпускает более 50 вариантов таких изделий на основе пяти различных версий ARM-ядер. В статье – краткий обзор ARM-микроконтроллеров, который позволит разработчику сориентироваться в многообразии этой группы продукции NXP.
АRМ-технология родилась в 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. В середине 90-х годов процессоры на базе ARM-архитектуры с успехом использовались в миникомпьютерах Newton компании Apple. В дальнейшем различные варианты АRМ-архитектуры использовались в мобильных приложениях, игровых приставках, сетевых маршрутизаторах, MP3-плеерах и мобильных телефонах. К 2005 году мировой объем выпущенных устройств с АRМ-ядром превысил 1,5 млрд. устройств.
NXP и АRM
В июне 1999 года, в результате поглощения компанией Philips Electronics компании VLSI Technology, началась история сотрудничества NXP и АRМ. В 2003 году NXP выпустила на рынок первые стандартные АRМ-микроконтроллеры семейства LPC2000. В этом семействе используется высокопроизводительное ядро ARM7TDMI-S с тактовой частотой 60МГц. Это были первые МК ARM7, изготовленные по технологии производства 0,18 мкм в небольшом 48-выводном корпусе. В 2004 году была анонсирована серия LPC213x, с единым питанием 3,3 В и с объемом встроенной флэш-памяти до 512 Кб. В 2004 году к МК серии LPC213x были добавлены быстрые порты ввода-вывода, позволяющие переключать порт с частотой до 15 МГц, и контроллер USB 2.0.
В 2006 году NXP выпустила МК LPC288x с 1 Мб flash-памяти и встроенным контроллером High-speed USB. В 2007 году запущено в производство новейшее семейство микроконтроллеров LPC23xx/24xx. Эти передовые МК, изготовленные по технологии 0,14 мкм, объединяют в себе несколько высокоскоростных интерфейсов. Конфигурация шины AHB и эффективная реализация DMA позволяет работать одновременно протоколам Ethernet 10/100, Full-speed USB Host/Device, CAN и LCD без снижения общей производительности системы.
Покупка у компании Sharp семейства МК BlueStreak позволила NXP выйти в лидеры на мировом рынке по величине портфолио ARM-микроконтроллеров. На сегодняшний момент у NXP насчитывается более 50 вариантов АRМ-микроконтроллеров на основе пяти различных версий ARM-ядер. Семейство LPC2000 подразделяется на три основные группы, каждая из которых имеет определенные технические особенности.
АRМ7-микроконтроллеры NXPТаблица 1. Микроконтроллеры NXP с ядром ARM7. Первая группа
Модель | Выво- ды |
Флэш- память |
ОЗУ | Интерфейс внешней памяти |
Порты ввода/ вывода |
АЦП | SPI | CAN | Тактовая частота, МГц |
---|---|---|---|---|---|---|---|---|---|
LPC2104 | 48 | 128K | 16K | нет | 32 | нет | 1 | нет | 60 |
LPC2105 | 48 | 128K | 32K | нет | 32 | нет | 1 | нет | 60 |
LPC2106 | 48 | 128K | 64K | нет | 32 | нет | 1 | нет | 60 |
LPC2109 | 64 | 64K | 8K | нет | 46 | 4-кан. 10 бит |
2 | 1 | 60 |
LPC2114 | 64 | 128K | 16K | нет | 46 | 4-кан. 10 бит |
2 | нет | 60 |
LPC2119 | 64 | 128K | 16K | нет | 46 | 4-кан. 10 бит |
2 | 2 | 60 |
LPC2124 | 64 | 256K | 16K | нет | 46 | 4-кан. 10 бит |
2 | нет | 60 |
LPC2129 | 64 | 256K | 16K | нет | 46 | 4-кан. 10 бит |
2 | 2 | 60 |
LPC2194 | 64 | 256K | 16K | нет | 46 | 4-кан. 10 бит |
2 | 4 | 60 |
LPC2210 | 144 | нет | 16K | 8/16/32 бит | 76 | 8-кан. 10 бит |
2 | нет | 75 (/01- версия) |
LPC2212 | 144 | 128K | 16K | 8/16/32 бит | 112 | 8-кан. 10 бит |
2 | нет | 60 |
LPC2214 | 144 | 256K | 16K | 8/16/32 бит | 112 | 8-кан. 10 бит |
2 | нет | 60 |
LPC2220 | 144 | нет | 64K | 8/16/32 бит | 76 | 8-кан. 10 бит |
2 | нет | 75 |
LPC2290 | 144 | нет | 16K | 8/16/32 бит | 76 | 8-кан. 10 бит |
2 | 2 | 60 |
LPC2292 | 144 | 256K | 16K | 8/16/32 бит | 112 | 8-кан. 10 бит |
2 | 2 | 60 |
LPC2294 | 144 | 256K | 16K | 8/16/32 бит | 112 | 8-кан. 10 бит |
2 | 4 | 60 |
Таблица 2. Микроконтроллеры NXP с ядром ARM7. Вторая группа
Модель | Выводы | Флэш- память |
ОЗУ | Порты ввода/ вывода |
АЦП | ЦАП | USB | Тактовая частота, МГц |
---|---|---|---|---|---|---|---|---|
LPC2101 | 48 | 8K | 2K | 32 | 8-кан. 10 бит | нет | нет | 70 |
LPC2102 | 48 | 16K | 4K | 32 | 8-кан. 10 бит | нет | нет | 70 |
LPC2103 | 48 | 32K | 8K | 32 | 8-кан. 10 бит | нет | нет | 70 |
LPC2131 | 64 | 32K | 8K | 47 | 8-кан. 10 бит | нет | нет | 60 |
LPC2132 | 64 | 64K | 16K | 47 | 8-кан. 10 бит | 1 | нет | 60 |
LPC2134 | 64 | 128K | 16K | 47 | 16-кан. 10 бит | 1 | нет | 60 |
LPC2136 | 64 | 256K | 32K | 47 | 16-кан. 10 бит | 1 | нет | 60 |
LPC2138 | 64 | 512K | 32K | 47 | 16-кан. 10 бит | 1 | нет | 60 |
LPC2157 | 100 | 512K | 32K | 47+128сег.ЖКИ | 16-кан. 10 бит | 1 | нет | 60 |
LPC2141 | 64 | 32K | 8K | 45 | 6-кан. 10 бит | нет | 1 | 60 |
LPC2142 | 64 | 64K | 16K | 45 | 6-кан. 10 бит | 1 | 1 | 60 |
LPC2144 | 64 | 128K | 16K | 45 | 14-кан. 10 бит | 1 | 1 | 60 |
LPC2146 | 64 | 256K | 40K | 45 | 14-кан. 10 бит | 1 | 1 | 60 |
LPC2148 | 64 | 512K | 40K | 45 | 14-кан. 10 бит | 1 | 1 | 60 |
LPC2158 | 100 | 512K | 40K | 45+128сег.ЖКИ | 14-кан. 10 бит | 1 | 1 | 60 |
Таблица 3. Микроконтроллеры NXP с ядром ARM7. Третья группа
Модель | Выво- ды |
Флэш- память |
ОЗУ | Порты ввода/ вывода |
Интер- фейс внешней памяти |
ЖКИ-контр. | Ethernet | USB | Тактовая частота, МГц |
---|---|---|---|---|---|---|---|---|---|
LPC2364 | 100 | 128K | 34K | 70 | нет | нет | RMII | Device | 72 |
LPC2366 | 100 | 256K | 58K | 70 | нет | нет | RMII | Device | 72 |
LPC2368 | 100 | 512K | 58K | 70 | нет | нет | RMII | Device | 72 |
LPC2387 | 100 | 512K | 98K | 70 | нет | нет | RMII | Device | 72 |
LPC2378 | 144 | 512K | 58K | 104 | 8-бит MiniBus | нет | RMII | Device | 72 |
LPC2388 | 144 | 512K | 98K | 104 | 8-бит MiniBus | нет | RMII | Device | 72 |
LPC2460 | 208 | нет | 98K | 160 | 32-бит | нет | MII/RMII | Host/Device/OTG | 72 |
LPC2468 | 208 | 512K | 98K | 160 | 32-бит | нет | MII/RMII | Host/Device/OTG | 72 |
LPC2458 | 180 | 512K | 98K | 136 | 16-бит | нет | MII/RMII | Host/Device/OTG | 72 |
LPC2470 | 208 | нет | 98K | 160 | 32-бит | 1024x768x24b | MII/RMII | Host/Device/OTG | 72 |
LPC2478 | 208 | 512K | 98K | 160 | 32-бит | 1024x768x24b | MII/RMII | Host/Device/OTG | 72 |
LPC2880 | 180 | нет | 64K | 81 | 8/16-бит | ЖК-интерфейс | нет | HS Device | 60 |
LPC2888 | 180 | 1M | 64K | 81 | 8/16-бит | ЖК-интерфейс | нет | HS Device | 60 |
Рис. 1. Реализация Dual AHB
BlueStreak микроконтроллерыС приобретением у Sharp линейки BlueStreak модельный ряд NXP пополнили девять новых ARM-микроконтроллеров (см. табл. 4).
Таблица 4. ARM-микроконтроллеры семейства LH7xxxx
Модель | Ядро | MMU | ОЗУ | Кэш | Touch screen |
USB | Ethernet | Memory interface |
Nand boot |
---|---|---|---|---|---|---|---|---|---|
LH75400 | ARM7TDMI-S | нет | 32K | нет | есть | нет | нет | SRAM | нет |
LH75401 | ARM7TDMI-S | нет | 32K | нет | есть | нет | нет | SRAM | нет |
LH75410 | ARM7TDMI-S | нет | 32K | нет | есть | нет | нет | SRAM | нет |
LH75411 | ARM7TDMI-S | нет | 32K | нет | есть | нет | нет | SRAM | нет |
LH79525 | ARM720T | есть | 16K | 8K | есть | Device | есть | SDRAM | есть |
LH79520 | ARM720T | есть | 32K | 8K | нет | нет | нет | SDRAM | нет |
LH79524 | ARM720T | есть | 16K | 8K | есть | Device | есть | SDRAM | есть |
LH7A400 | ARM922T | есть | 80K | 16K | нет | Device | нет | CF, SDRAM, PCMCIA | нет |
LH7A404 | ARM922T | есть | 80K | 16K | есть | Host/Device | нет | CF, SDRAM, PCMCIA | есть |
ARM9-микроконтроллеры
Выпущенный в 2005 году микроконтроллер LPC3180 на ядре ARM926EJ-S довольно долгое время оставался единственным МК семейства LPC3000. Но в 2008 NXP планирует развивать это семейство, используя передовой 90 нм технологический процесс (см. табл. 5). Пока этот процесс не позволяет разместить флэш-память на кристалле, но в этом направлении ведутся активные работы. Также в сентябре 2007 года NXP анонсировала МК LPC29xx на базе ARM968E-ядра с встроенной флэш-памятью. Мощный блок ШИМ позволяет использовать эти МК в качестве системы управления различного рода двигателями.
Таблица 5. Микроконтроллеры NXP с ядром ARM9
Модель | Ядро | Выводы | ОЗУ | Кэш | CAN | USB | Ethernet | Memory interface |
Тактовая частота, МГц |
---|---|---|---|---|---|---|---|---|---|
ARM926EJ-S |
320 |
64K |
64K |
нет |
Host/Device/OTG |
нет |
SDRAM, NAND |
208 |
|
LPC3190 |
ARM926EJ-S |
289 |
64K |
64K |
нет |
Host/Device/OTG |
нет |
SDRAM, NAND |
208 |
LPC3220 |
ARM926EJ-S |
289 |
128K |
64K |
нет |
Host/Device/OTG |
нет |
SDRAM, NAND |
208 |
LPC3230 |
ARM926EJ-S |
289 |
256K |
64K |
нет |
Host/Device/OTG |
нет |
LCD, SDRAM, NAND |
208 |
LPC3240 |
ARM926EJ-S |
100/289 |
256K |
64K |
нет |
Host/Device/OTG |
есть |
SDRAM, NAND |
300 |
LPC3250 |
ARM926EJ-S |
289/320 |
256K |
64K |
нет |
Host/Device/OTG |
есть |
LCD, SDRAM, NAND |
300 |
LPC2915 |
ARM968E |
100 |
32K |
32K |
2 |
нет |
нет |
нет |
80 |
LPC2917 |
ARM968E |
144 |
48K |
32K |
2 |
нет |
нет |
8/16/32 |
80 |
LPC2919 |
ARM968E |
144 |
48K |
32K |
2 |
нет |
нет |
8/16/32 |
80 |