Микроконтроллеры NXP на ядре ARM
Введение
Микроконтроллерное ядро ARM было разработано одноименной английской компанией, организованной в 1990 году и названо по имени компании - «Advanced RISC Machines». Следует заметить, что компания специализируется сугубо на разработке микропроцессорных ядер и периферийных блоков, при этом не имея собственных производственных мощностей. Компания ARM поставляет свои разработки в электронной форме, например в формате Verilog, на их основе клиенты конструируют свои собственные микроконтроллеры. Клиентами Advanced RISC Machines являются свыше 60 компаний-производителей полупроводников.
В настоящее время архитектура ARM занимает лидирующие позиции и охватывает 75% рынка 32-разрядных встраиваемых RISC-микропроцессоров. Распространенность данного ядра объясняется его стандартностью, что дает разработчику возможность более гибко использовать как свои, так и сторонние программные наработки, как при переходе на новое процессорное ARM-ядро, так и при миграциях между разными типами ARM-микроконтроллеров.
Общие для всех процессоров семейства ARM9 возможности:
- Высокопроизводительный 32-разрядный ARM RISC-механизм;
- Гарвардская архитектура с раздельными шинами команд и данных;
- Пятиуровневый конвейер;
- Модуль, выполняющий операцию перемножения/аккумулирования 16x32 за один цикл;
- Гибкая синхронизация CPU и шины, включая асинхронную, синхронную и однотактовую конфигурации;
- Thumb 16-разрядная система команд;
- Встроенные возможности Embedded ICE JTAG отладки программного обеспечения;
- Возможность адаптации к перспективным CMOS-технологиям с меньшими топологическими нормами;
- Совместимость с низковольтными CMOS-технологиями;
- 100% совместимость двоичных кодов пользователя с ARM7;
- Возможность интеграции класса «система-на-кристалле» со встроенным тестированием в процессе производства.
В таблице 1 приведены основные представители микроконтроллеров NXP с процессорным ядром ARM9, выпускаемые в настоящий момент.
Таблица 1. Микроконтроллеры NXP с процессорным ядром ARM9Модель | Ядро | Кол-во выводов | ОЗУ, кБ | Кэш, кБ | CAN | USB | Ethernet | Memory interface | Тактовая частота, МГц |
---|---|---|---|---|---|---|---|---|---|
LPC3180 | ARM926EJ-S | 320 | 64 | 64 | нет | Host/Device/OTG | нет | SDRAM, NAND | 208 |
LPC3220 | ARM926EJ-S | 289 | 128 | 64 | нет | Host/Device/OTG | нет | SDRAM, NAND | 266 |
LPC3230 | ARM926EJ-S | 289 | 256 | 64 | нет | Host/Device/OTG | нет | LCD, SDRAM, NAND | 266 |
LPC3240 | ARM926EJ-S | 289 | 256 | 64 | нет | Host/Device/OTG | есть | SDRAM, NAND | 266 |
LPC3250 | ARM926EJ-S | 289 | 256 | 64 | нет | Host/Device/OTG | есть | LCD, SDRAM, NAND | 266 |
LPC2917 | ARM968E | 144 | 48 | 32 | 2 | Нет | нет | 8/16/32 бит SRAM | 80 |
LPC2919 | ARM968E | 144 | 48 | 32 | 2 | Нет | нет | 8/16/32 бит SRAM | 80 |
Описание микроконтроллера LPC3180
На рис. 1 представлена обобщенная структурная схема микроконтроллера серии LPC3180.
Рис. 1. Обобщенная структурная схема МК LPC3180
Ключевые характеристики LPC3180:
- процессор ARM926EJ-S с 32 кБ кэша программ и 32 кБ кэша данных, работающих с частотой до 208 МГц;
- 64 кБ SRAM (Статическое ОЗУ, быстродействующая память, используемая для хранения данных);
- Способ передачи данных: SDR (тактирование по активному фронту) и DDR (тактирование по обоим фронтам, увеличение быстродействия в 2 раза) SDRAM, NAND flash (режим блочной передачи данных);
- DMA-контроллер, который может быть использован с картой SD и интерфейсом SPI для передачи типа память-память;
- USB 2.0 full-speed (Скорость работы до 12 Мбит/с);
- Многослойная шина AHB обеспечивает отдельную шину для каждого ведущего устройства;
- Многочисленные последовательные интерфейсы, включая семь UART (Четыре стандартных со скоростью передачи данных до 460800 бит/с, и три специализированных быстродействующих, со скоростью 921600 бит/с, один из которых irDA), два диспетчера SPI (работающих с большим диапазоном последовательных периферийных устройств и памяти), и два интерфейса шины I2C(работает на 400 кГц);
- Контроллер памяти SD (обеспечивает доступ к внешним картам с памятью SD, соответствует Card Specification Version 1.01);
- Свыше 55 GPIO (входные/выходные выводы общего назначения). Включает 12 GPI (на вход), 24 GPO(на выход), и шесть GPIO;
- 10-битный трехканальный АЦП с входным мультиплексированием (существует возможность понижения точности преобразования, для увеличения скорости вычисления);
- Часы реального времени с отдельным блоком питания, тактируемые 32 кГц генератором частоты;
- 32-битовый универсальный высокоскоростной таймер с 16-битным предделителем с возможностью входного захвата и выходного сравнения;
- 32-битовый таймер миллисекунд, тактируемый от RTC. Прерывания могут быть сгенерированы путем использования двух соответствующих регистров;
- Watchdog timer (сторожевой 32-разрядный таймер, препятствует зависанию программ, может использоваться как стандартный таймер);
- Два блока PWM, тактируемые от RTC;
- Стандартное средство отладки и тестирования ARM (эмуляция и отладка через последовательный порт JTAG);
- Блок PLL (ФАПЧ, коррекция расфазирования синхросигналов);
- Внутрикристальный генератор (По умолчанию используется для тактирования большинства устройств. Генератор может использоваться с частотой между 1 МГц и 20 МГц);
- Переход в низкое энергопотребление (При снижении нагрузки).
Описание микроконтроллеров
серии LPC32xx
По сравнению с МК LPC3180 в этом семействе появились следующие дополнения и улучшения (рис. 2):
- Тактовая частота увеличена до 266 Гц;
- Размер оперативной памяти увеличен до 256 кБ;
- Добавлены контроллеры ЖК, Ethernet;
- Улучшен интерфейс внешней памяти, позволяющий работать с оперативной памятью типа DDR;
- Модифицирован АЦП, который позволяет теперь непосредственно подключить сенсорный экран.
Рис. 2. Обобщенная структурная схема МК LPC32xx
Описание микроконтроллеров серии LPC29xx
На рис. 3 представлена обобщенная структурная схема микроконтроллеров серии LPC29xx.
Рис. 3. Обобщенная структурная схема МК LPC29xx
Ключевые характеристики LPC2917 и LPC2919:
- процессор ARM968E-S ,работающий с частотой до 80 МГц.
- Внутрикристальная память:
- 16 кБ кэша программ и 16 кБ кэша данных,
- Две раздельных внутренних SRAM; 32 кБ SRAM и 16 кБ SRAM,
- 768 кБ flash-памяти программ;
- Двухканальный CAN-контроллер, поддерживающий Full-CAN и расширенную фильтрацию сообщений (последовательная магистраль, обеспечивающая увязку в сеть «интеллектуальных» устройств ввода/вывода, датчиков и исполнительных устройств);
- Два LIN-контроллера с полной поддержкой аппаратных средств для связи LIN (для обеспечения связи между простыми блоками в автомобиле, для которых нет необходимости применять высоконадежный интерфейс CAN);
- Два UART(RS-232);
- Три полнодуплексных Q-SPI (по четыре подключаемых устройства);
- Четыре 32-битных таймера со способностью входного захвата и выходного сравнения;
- 32-битный watchdog-таймер;
- Контроллер прерываний с 16 приоритетными уровнями;
- Два 8-канальных 10-битовых АЦП с временем преобразования 2,44 мкс на канал;
- Внешний статический диспетчер памяти (SMC) с восемью банками памяти;
- Запуск процессора через внешнее прерывание;
- Стандартное средство отладки и тестирования ARM (эмуляция и отладка через последовательный порт JTAG).
Средства поддержки разработчика
Для МК на ядрах ARM9 имеются следующие средства разработки:
1) CodeMaster-ARM - набор программно-аппаратных средств, предназначенный для разработки и отладки систем на базе микроконтроллеров ARM7/ARM9.
Концепция CodeMaster-ARM - объединение текстового редактора, менеджера проектов, компиляторов, программного отладчика-симулятора, аппаратного JTAG-эмулятора и программатора в рамках единой интеллектуальной среды разработки.
Программный интерфейс пакета унифицирован и обеспечивает все этапы разработки программного обеспечения от написания исходного текста программы до ее компиляции и отладки.
Программное обеспечение работает в среде Windows-98/ME/NT/2000/XP/Vista.
В состав комплекта инструментальных средств CodeMaster-ARM входят:
Интегрированная среда разработки CM-ARM, объединяющая все программные компоненты системы в единый комплекс:
- многооконный редактор и менеджер проектов;
- компилятор CMC-ARM, включающий Си-компилятор, макроассемблер, линкер и утилиты;
- оптимизированный GNU GCC-компилятор в качестве альтернативного бесплатного компилятора;
- программный симулятор ядра ARM7, ARM9;
- драйвер аппаратного JTAG-эмулятора JEM-ARM;
- программное обеспечение программатора FLASH;
Аппаратный JTAG-эмулятор JEM-ARM и совместимые с ним тестовые платы LPC29xx, LPC31xx, LPC32xx.
2) Keil - набор программно-аппаратных средств, предназначенный для разработки и отладки систем на базе микроконтроллеров.
Среда mVision от компании Keil объединяет систему управления проектами, систему разработки и редактор исходных кодов, интерактивный отладчик и симулятор в одном мощном инструменте. Система разработки программного обеспечения mVision проста в использовании и помогает быстро создать программы, которые действительно работают. Редактор и отладчик mVision интегрированы в одно приложение, которое представляет взаимосвязанные инструменты для разработки программного обеспечения.
Отладчик mVision от компании Keil поддерживает режим симуляции с использованием только персонального компьютера или ноутбука, а также режим отладки, взаимодействуя с целевой системой (однокристальным микроконтроллером) с помощью соответствующего интерфейса. mVision включает такие традиционные свойства, как простые и условные точки останова, окна наблюдения состояния переменных и контроля исполнения программы, а также такие специфические свойства, как трассировка, профилировка, маркировка выполненных команд и логический анализ.
3) Для МК семейства LPC32xx компания Phytec выпустила отладочный комплект phyCORE®-ARM9/LPC3250 RDK (рис. 4).
Рис. 4. Отладочный комплект phyCORE®-ARM9/LPC3250 RDK
Существуют 5 различных конфигураций поставки:
Базовая: Модуль phyCORE-ARM9/LPC3250 (PCM-040), несущая плата phyCORE-ARM9/LPC3250 (PCM-967), макетная плата Bare PCB (PCM-988), Straight Ethernet-кабель, последовательный кабель, кабель USB Standard A to mini-B, адаптер питания, схемы, Spektrum-CD с необходимым ПО, компилятор, примеры программ и документация, опционально LCD - Hitachi 3.5» QVGA TFT-LCD (KLCD-011)
Linux: Базовая + PHYTEC Tool CD с Linux OS, загрузчики OS, GCC-компилятор, документация в электронном виде
Базовая + PHYTEC Tool CD с Linux OS, загрузчики OS, GCC-компилятор, документация в электронном видеWinCE: Базовая + PHYTEC Tool CD с WinCE OS, загрузчики OS, GCC-компилятор, документация в электронном виде, 180 дней пользования Windows Embedded CE 6.0 Visual Studio и Platform Builder Evaluation CD
Keil: Базовая + Keil ULINK2 USB-JTAG, Keil RealView MDK for Embedded Applications CD
IAR: базовая + JLink USB-to-JTAG интерфейс (IAR-JLink), IAR Embedded Workbench Kickstart CD
4) Для МК семейства LPC29xx компании Hitex и Keil выпустили отладочные комплекты, которые укомплектованы оценочными платами, JTAG-отладчиками и всем необходимым для разработчика программным обеспечением.
Компания NXP поставляет большинство отладочных компонентов, выпускаемых компаниями-партнерами, через свою дистрибьюторскую сеть.
Развитие линейки ARM9-микроконтроллеров
В течение ближайших шести месяцев компания NXP планирует выпустить несколько новых линеек микроконтроллеров на базе ядер ARM968E и ARM926EJ:
- семейство LPC292x/293x для использования в системах управления двигателями и промышленных сетях;
- МК со встроенным интерфейсом High Speed USB, позволяющим передавать информацию со скоростью до 480 Мбит/сек;
- линейку LPC313x с расширенными аналоговыми функциями, интерфейсом ATA, встроенной системой управления питания компонентов на плате. Также в этом семействе будет реализована поддержка новейшего интерфейса SDHC (Secure Digital High Capacity), поддерживающий флеш SD-карточки объемом более 8 Гб.
Ответственный за направление в КОМПЭЛе - Валерий Куликов
Ваш комментарий к статье | ||||