Новинки от Philips. Давид и Голиаф из семейства ARM

№ 3’2006
Компания Philips в 2005 году выпустила сразу две очень интересные новинки — семейства микроконтроллеров LPC2101/2/3 и LPC3180.

Компания Philips в 2005 году выпустила сразу две очень интересные новинки — семейства микроконтроллеров LPC2101/2/3 и LPC3180.

LPC2101/2/3 — представитель «low-end» микроконтроллеров ARM, способныx потеснить 8- и 16-разрядные микроконтроллеры среднего ценового диапазона с их привычных рынков и составить серьезную конкуренцию аналогам от ATMEL серии AT91SAM7S, превосходя их по ряду параметров и обладая более привлекательной ценой. Вторая новинка построена на основе ядра ARM926EJ-S. Этот долгожданный прибор из давно анонсированной серии LPC3000 открывает новую для Philips нишу рынка: наиболее высокопроизводительные микроконтроллеры общего назначения, ресурсов которых достаточно для работы под управлением операционной системы, например Linux. Такие однокристальные устройства обладают настолько серьезной вычислительной мощностью и богатой периферией, что разработки на их основе в ряде случаев способны заменить IBM-совместимые одноплатные компьютеры. Особенно большие перспективы сулит их использование во встраиваемых системах, где на первый план часто выходит не столько производительность, сколько расширенный температурный диапазон, энергопотребление и цена.

Итак, чем интересна серия LPC2101/2/3? На первый взгляд ее элементы напоминают родоначальников серии LPC2104/5/6, только с усеченной памятью — те же корпуса, необходимость в двух источниках питания. Но первые впечатления обманчивы. Новые приборы появились в результате очень тщательной «работы над ошибками» с предшественниками и впитали в себя большое количество интересных решений, отработанных на своих старших собратьях по серии LPC214x. У них появилась полноценная защита памяти программ от несанкционированного считывания, часы реального времени теперь могут питаться от резервного источника питания и работать от отдельного низкочастотного кварцевого резонатора. Присутствует гордость инженеров компании — модуль ускорения работы портов ввода-вывода, позволяющий повысить скорость обмена через них более чем в 4 раза по сравнению с реализацией выходов по стандартной архитектуре. Периферия пополнилась 10-разрядным 8-канальным АЦП, вторым модулем I2C, вторым SPI и поддержкой SSP. Скромные по меркам 32-разрядных контроллеров размеры памяти — 2/4/8 кбайт SRAM и 8/16/32 кбайт Flash компенсируются чрезвычайно низкой ценой, которая для больших партий лежит в диапазоне $2–3. Для разработчика устройств, имеющих небольшой размер программного кода, но требующих достаточно сложных вычислений, например, в разного рода датчиков с цифровыми фильтрами, эти микроконтроллеры сегодня представляют оптимальный выбор.

Поподробнее хочется рассказать про LPC3180 (рисунок). Применение в его производстве технологического процесса с нормами допуска 90 нм позволило создать прибор, сочетающий в себе высокую степень интеграции и низкое энергопотребление. В отличие от микроконтроллеров ARM7 серии LPC2000 он содержит встроенный сопроцессор для операций с плавающей точкой и интегрированный модуль USB On-The-Go, а также способен работать в ультранизкопотребляющем режиме при уменьшении питания до 0,9 В.

Рисунок
Рисунок

LPC3180 построен на базе хорошо зарекомендовавшего себя ядра ARM926EJ-S. Он способен функционировать на максимальной тактовой частоте 208 МГц, позволяет достичь производительности порядка 220 MIPS. Этот МК выполнен по гарвардской архитектуре, содержит пятиуровневый конвейер с отдельными кэш-буферами данных и команд размером 32 кбайт. Встроенный блок управления памятью (MMU) со страничной организацией обеспечивает выполнение сложных команд, характерных для DSP, всего за один такт и поддерживает основные операционные системы, применяемые в такого класса устройствах, в том числе и Linux, которая в настоящее время лидирует в области ОС для встраиваемых систем. Java-сопроцессор обеспечивает повышенную секретность и идентификацию приложений.

Впервые ARM-микроконтроллеры Philips получили модуль USB On-The-Go (OTG). Это позволяет обеспечить простое подсоединение. Это позволит обеспечить простое подсоединение к широкому классу устройств с USB-интерфейсом, таких как КПК, считыватели смарткарт, принтеры. Контроллеры выполнены в низкопрофильном 320-выводном BGA-корпусе размером 13×13×0,9 мм.

Перечислим основные характеристики LPC3180:

  • 64 кбайт статической памяти;
  • интерфейс памяти DDR и SDR SDRAM, а также NAND Flash;
  • DMA-каналы общего пользования, которые могут использоваться с USB, SD-картами и SPI-интерфейсами, а также при копировании областей памяти;
  • интерфейс USB Host (OHCI-совместимый);
  • последовательные интерфейсы, включая семь UART, два SPI и два Master I2C;
  • интерфейс Secure Digital (SD);
  • до 55 портов ввода-вывода;
  • 10-битный 3-канальный АЦП;
  • часы реального времени (RTC), которые могут работать от отдельного кварцевого генератора на 32 кГц и питаться от независимого источника напряжения;
  • 32-разрядный таймер с 16-битным делителем и цепями сравнения и захвата;
  • 32-разрядный таймер-счетчик миллисекунд, тактовая частота на который поступает от RTC. Поддерживает генерацию прерываний;
  • два модуля ШИМ с максимальной частотой работы 50 кГц;
  • контроллер клавиатуры, поддерживающий работу с матрицей кнопок 8×8;
  • стандартные для ARM интерфейсы Test/Debug и трассировочный буфер размером 2К×24 бит.

Итак, каковы же основные преимущества от использования данного прибора по сравнению с серией микроконтроллеров LPC2000? Прежде всего, это увеличение производитель ности вычислений: во-первых, за счет значительного увеличения тактовой частоты, а вовторых, за счет 5-ступенчатого конвейера, позволяющего всем узлам, задействованным в вычислениях, работать параллельно — одновременно происходит выборка инструкции, декодирование предыдущей инструкции, выполнение инструкции и операции с памятью. Использование такой конвейерной обработки команды способно принести до 30 процентов выигрыша в производительности по сравнению с ядром ARM7, функционирующим на тойже частоте. Следующим преимуществом является наличие сопроцессора для работы с числами с плавающей точкой (VPF). Он способен выполнять операции сложения, вычитания, деления и умножения с числами одинарной и двойной точности. VPF совместим со стандартом IEEE 754, который предусматривает конвертацию между целочисленными значениями и числами с плавающей точкой. Операции деления и вычисления квадратного корня выполняются за два такта, остальные — за один.

Еще одно огромное преимущество данных контроллеров — аппаратные интерфейсы для работы с различными типами памяти. Контроллер внешней Flash-памяти NAND позволяет работать как с обычной, так и с многоуровневой памятью размером до 2 Гбит. Программирование временных параметров работы с памятью обеспечивает большую гибкость при работе с разными устройствами, а аппаратное кодирование — обнаружение и коррекцию ошибок.

Контроллер памяти SDRAM обеспечивает взаимодействие системной шины с внешним ОЗУ. Внешнее ОЗУ может быть двух типов (SDR и DDR SDRAM) размером до 1 Гбит. Имеется 2 интерфейса такой памяти, но они работают через один контроллер и поэтому единовременно функционировать не могут.

Контроллер памяти SDRAM обеспечивает взаимодействие системной шины с внешним ОЗУ. Внешнее ОЗУ может быть двух типов (SDR и DDR SDRAM) размером до 1 Гбит. Имеется 2 интерфейса такой памяти, но они работают через один контроллер и поэтому единовременно функционировать не могут.

Встроенный АЦП может менять свою разрядность от 3 до 10 бит. Таким образом, в случаях, когда нет необходимости иметь большую точность, можно значительно ускорить время преобразования, поскольку в АЦП последовательного приближения этот параметр обратно пропорционален разрядности.

В настоящее время чрезвычайно широкое распространение получили различные периферийные устройства с интерфейсом USB, и все чаще встает проблема сопряжения таких устройств с разрабатываемыми приборами. Еще в недалеком прошлом большинство USB-устройств могло подсоединяться исключительно к host-устройству компьютера, даже большинство КПК не имели возможности работать с периферией. В последнее время в связи с внедрением в жизнь спецификации On-The-Go ситуация стала меняться к лучшему. Сегодня USB-устройства могут взаимодействовать не только с host-устройством, но и напрямую между собой, что позволяет, например, без проблем распечатать на принтере фотографию с фотокамеры или сохранить отсканированные изображения на носитель USB Flash.

Компания Philips стояла у истоков разработки приборов, поддерживающих данный стандарт. Еще в 2001 году вышел в свет первый прибор, совмещающий в себе функции хоста и периферийного устройства — ISP1161.

Естественно, что все наработки в этой области компания применила в микроконтроллерах серии LPC3000. Интегрированный USB-контроллер может работать как периферийное устройство, как хост, реализуя Support Host Negotiation (HPN), или поддерживать двунаправленную передачу данных в режиме OTG в соответствии с протоколом Session Request (SPR).

Реализация асинхронных портов данного прибора также имеет свои особенности. Во-первых, приятно удивляет их количество (7 шт.), что может быть очень полезно для встраиваемых систем, где масса периферии и сегодня подсоединяется по интерфейсу RS-232 или RS-485. Четыре порта являются стандартными, совместимыми с INS16Cx50, и поддерживают скорость передачи данных до 460,8 кбод, а другие три могут работать в два раза быстрее. При этом высокоскоростные порты имеют буферы в 64 байт на прием и передачу, а низкоскоростные — 64 на прием и 16 на передачу. Триггер прерываний можно настроить на срабатывание по приходу в буфер FIFO различного количества байт, а не только по его полному заполнению.

Интерфейс SPI также имеет буферизацию, способен поддерживать скорость обмена вплоть до 52 Мбит иможет использовать DMA.

Интерфейс Secure Digital реализует все функции, необходимые для работы с получившим широкое распространение стандартом карт, включая тактирование, управление питанием, передачей команд и обмен данными с использованием канала DMA.

Для организации взаимодействия модуля CPU, памяти и высокоскоростной периферии применена отдельная высокоскоростная шина AHB. Дело в том, что в случае функционирования устройства на частотах порядка 200 МГц и активности нескольких периферийных устройств в режиме «мастера» становится актуальным распределение ресурсов доступа к CPU. Если не предпринять специальных мер, то часть данных может быть потеряна, что в большинстве случаев недопустимо. Обычные механизмы арбитража сильно загружают CPU, гораздо лучше справляется с этой непростой задачей высокоскоростная шина AHB. Она позволяет, к примеру, организовать одновременный доступ к одной области памяти CPU и контроллера DMA.

Контроллер прерываний содержит три основных блока, которые способны обслужить до 60 источников прерываний. Каждый источник прерываний может быть разрешен или запрещен и сконфигурирован на срабатывание либо по уровню, либо по фронту сигнала. Для быстрой реакции на внешние сигналы 6 универсальных портов ввода-вывода и 12 портов ввода могут генерировать свои прерывания.

Микроконтроллер может функционировать в трех режимах энергопотребления: обычном и двух энергосберегающих. Поскольку общее потребление микроконтроллера сильно зависит от потребления периферии, имеет смысл рассмотреть в первую очередь ток потребления ядра. Ядро запитывается напряжением 1,2 В и в рабочем режиме потребляет 80 мА при максимальной тактовой частоте CPU 200 МГц.

Поскольку энергопотребление как ядра, так и всей системы в целом находится в прямой зависимости от тактовой частоты, самым простым способом его уменьшения будет понижение тактовой частоты. Данный микроконтроллер имеет 3 отдельных модуля PLL-один для тактирования CPU и основного количества периферии, другой для USB и третий для формирования микросекундных выдержек от отдельного резонатора RTC.

Таким образом, отключив основной модуль PLL, можно перейти в так называемый режим «Direct RUN». В этом режиме как CPU, так и вся периферия (кроме модуля USB) тактируются напрямую от основного кварцевого резонатора. Следует обратить внимание на то, что при этом изменится скорость работы синхронных последовательных портов и снижается максимально достижимая для них скорость. Потребление ядра в таком режиме составляет около 7 мА при тактовой частоте 13 МГц и напряжении питания ядра до 0,9 В. Для дальнейшего снижения энергопотребления можно перевести микроконтроллер в режим «STOP», в котором приостанавливается тактирование, работа CPU и шины AHB, а USB-модуль продолжает оставаться активным. Ток потребления в данном случае уменьшается до 500 мкА.

для широкого спектра задач, требующих повышенной производительности, таких как платежные терминалы, медицинские и промышленные приборы, системы глобального позиционирования (GPS) и робототехники.

В то время как микроконтроллеры LPC2101/2/3 находятся в массовом производстве несколько месяцев, LPC 3180 должны появиться в образцах в начале весны. Для быстрого освоения контроллеров LPC2103 существует большое количество демонстрационных и отладочных плат, в том числе производства российской компании «МикроЭм». Как ни странно, на рынке уже появились оценочные платы и на основе LPC3180. В частности, компания Nohau выпустила плату с поддержкой операционной системы Linux (http://www.nohau.com/emularm/lpc3000_board.html).

Литература

  1. LPC3180 16/32ARM microcontroller datasheet. Rev01.
  2. http://www.microem.ru/pages/ARM/ourdebuggers.htm.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *