Архив
Главная » Архив » 2012 » №10 » Sitara AM335X – недорогая замена ARM 9 для систем автоматики

Sitara AM335X – недорогая замена ARM 9 для систем автоматики

Рубрика: Texas Instruments
Алексей Бойков (КОМПЭЛ)
Удачная архитектура, мощное современное ядро и невысокая стоимость – все это позволяет рассматривать линейку контроллеров AM335x семейства Sitara от Texas Instruments в качестве замены устаревающего ядра ARM. Переход на новое ядро Cortex A8 позволяет получить значительный прирост производительности в индустриальных приложениях, таких как системы промышленной автоматики.

Cоздание нового семейства микропроцессоров от TI на базе ядра Cortex A8 является важным этапом в развитии линейки микропроцессоров семейства Sitara от Texas Instruments, который позволит компании сохранить и упрочить лидирующие позиции на рынке высокопроизводительных микропроцессоров для промышленной автоматики. Особенностью семейства, помимо современного ядра с гарвардской архитектурой, является богатый набор промышленной периферии, поддержка трехмерной графики, гигабитного Ethernet-a, EtherCAT и PROFIBUS.

Настоящий прорыв в производительности обеспечило новое современное 32-разрядное ядро Сortex A8, лицензию на которое TI приобрел еще в 2005 году. Производительность ядра достигает 2 DMIPS/Мгц. Эта впечатляющая цифра достигается благодаря ряду архитектурных особенностей:

  • Двойной симметричный конвейер с упреждающей выборкой инструкций,
  • Суперскалярное микропроцессорное ядро,
  • 13-стадийный конвейер обработки целых чисел,
  • 10-стадийный конвейер обработки мультимедийных данных (NEON),
  • Кэш-память второго уровня (L2) с настраиваемыми режимами ожидания,
  • Поддержка системы команд Thumb-2 (комбинация 16- и 32-разрядных команд, рис.1),
  • Расширения NEON для обработки H.264 и MP3.

 

Сравнение различных систем команд по плотности кода и производительности

 

Рис. 1. Сравнение различных систем команд по плотности кода и производительности

 

В настоящее время семейство Sitara включает в себя более 120 различных модификаций процессоров с ядрами ARM9 и Cortex A8 (рис. 2). Диапазон рабочих частот - от 275 МГц до 1,5 ГГц. Внутри семейства обеспечивается программная совместимость, а в ряде случаев и pin-2-pin-совместимость, позволяя разработчику без проблем наращивать производительность или оптимизировать стоимость изделий. Помимо гибкой линейки процессоров, TI предоставляет разработчикам готовые порты популярных операционных систем (Linux, WinCE, Android) и демоплаты для быстрого ознакомления с программно-аппаратной платформой и старта разработки, а также большой объем хорошо написанной документации - от пошаговых инструкций до подробного описания технических особенностей.

 

Семейство микропроцессоров Sitara

 

Рис. 2. Семейство микропроцессоров Sitara

Наиболее производительные представители Sitara - семейство AM38XX, работающие на частотах до 1,35 ГГц, их производительность достигает 2700 DMIPS. Процессоры данного семейства имеют аппаратный модуль для подключения дисплеев высокого разрешения, а AM3894 содержит встроенный ускоритель 3D графики. Поддерживаются ряд операционных систем - Neutrino, Integrity, Windows Embedded CE, Linux, VXWorks, Android.

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

 

Архитектура AM335X

Рассмотрим архитектуру процессоров Sitara (рис. 3).

 

Архитектура процессора AM335X

 

Рис. 3. Архитектура процессора AM335X

 

 

Основные модули семейства AM335X:

  • Блок MPU, содержащий ядро Cortex A8, кэш L1 и L2, ОЗУ,
  • 3D графический ускоритель POWERVR SGX530,
  • Аппаратный модуль шифрования,
  • Контроллер дисплея+ контроллер сенсорной панели,
  • Модуль PRUSS,
  • Интерфейс памяти с поддержкой LPDDR1,/DDR2/DDR3, NAND/NOR,
  • Последовательные интерфейсы UARTx6, SPIx2, I2Cx3, CANx2, USB2.0 OTG +PHY x2, EMAC 10/100/1Gx2,
  • Интерфейс карт памяти SD/MMC,
  • RTC, АЦП 12 бит 8 каналов, JTAG/ETB.

Помимо ряда стандартных модулей, которые представлены в микропроцессорах многих производителей, семейство Sitara содержит уникальный блок PRU-ICSS - программируемый модуль реального времени для промышленных коммуникаций (Programmable Real-time Unit SubSystem), позволяющий организовать передачу данных по ряду промышленных стандартов без участия основного ядра. Семейство Sitara AM335x содержит модуль второго поколения PRU(PRUSSv2), который в свою очередь состоит из двух подмодулей PRU и общих блоков.

Каждый подмодуль PRU состоит из:

  • 32-х разрядного процессорного ядра, работающего на частоте 200 МГц,
  • 8 кбайт памяти данных,
  • 8 кбайт памяти программ,
  • Модуль E GPIO (16 выходов и 17 входов общего назначения),
  • 32-битного модуля умножения с накоплением (MAC) с 64-битным результатом.

Общие блоки модуля PRUSS:

  • двухпортовый модуль Ethernet MII_RT,
  • память данных 12 кбайт,
  • модуль ECAP (Enhanced Capture Model),
  • модуль IEP (Industrial Ethernet Peripheral),
  • UART0- 16 бит FIFO transmit/receive, генерация прерываний, макс скорость- 192Мбит/с,
  • Блок регистров управления модулем PRUSS,
  • Быстродействующая оперативная память (Scratch pad)- три банка по тридцать 32-разрядных регистров, доступ за один цикл,
  • Контроллер прерываний.

Взаимодействие между блоками и процессорными ядрами внутри модуля осуществляется посредством внутренней 32-разрядной шины данных. В свою очередь, система PRUSS имеет доступ ко всем ресурсам основной системы на кристалле через шину Interface/OCP Master port, так же как и основное ядро имеет доступ ко всем ресурсам PRUSS. Подмодули PRU программируются на ассемблере, большинство команд выполняются за один цикл без КЭШа и конвейера, позволяя точно рассчитать временные промежутки. На частоте 200 Мгц выполнение одного цикла занимает 5 нс.

Модуль PRU-ICSS является встроенной аппаратной платформой для реализации индустриальных протоколов EtherCAT и PROFIBUS. Реализация EtherCat возможна благодаря двум физическим портам Ethernet, а для обработки пакетов «на лету» используются процессорные ресурсы модуля. Следует отметить, что аппаратная поддержка EtherCat есть не во всех представителях семейства AM335x (рис. 4).

 

Реализация PROFIBUS на процессорах Sitara

 

Рис. 4. Реализация PROFIBUS на процессорах Sitara

 

Для реализации шины PROFIBUS трансиверы интерфейса 485 подключаются непосредственно к выводам модуля PRU-ICSS (рис. 5). Формирование кадра для шины выполняется процессорной системой модуля, поэтому нет необходимости использовать дополнительные микросхемы ПЛИС. Модуль PRU обеспечивает прием и передачу сообщений шины, проверку кадров, передачу данных основному процессору.

 

Реализация PROFIBUS на процессорах AM335x

 

Рис. 5. Реализация PROFIBUS на процессорах AM335x

На сайте ti.com есть программные примеры для конфигурирования модуля PRU-ICSS (рис. 6) для начала работы и быстрого освоения.

 

Структура модуля PRU-ICSS

 

Рис. 6. Структура модуля PRU-ICSS

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

 

Семейство AM335X

 

Рис. 7. Семейство AM335X

 

Процессоры выпускаются в трех температурных исполнениях:

  • Коммерческий (0...90°С),
  • Индустриальный(-40...90°С),
  • Расширенный (-40...105°С).

Микросхемы поставляются в пластиковых BGA-корпусах двух видов:

  • ZCZ (15,1x15,1x1,4мм, 324 вывода, шаг 0,8мм),
  • ZCE (13,1x13,1x1,3мм, 298 выводов, шаг 0,65мм).

Модуль PRUSS имеет две модификации - с поддержкой EtherCat slave и без. Стоит обратить внимание, что чипы с модулем PRUSS выпускаются только в корпусах ZCZ.

 

Аппаратные средства разработки

Компания TI предоставляет разработчику ряд отладочных средств для оценки платформы и быстрого старта, отличающиеся функционалом и ценой. Среди них:

TMDXICE3359- Industrial Communications Engine (ICE) - недорогая отладочная плата на базе процессора AM3359 с поддержкой ряда коммуникационных интерфейсов (рис.8,9). Будет хорошим решением для инженеров, которые занимаются разработкой различных промышленных коммуникаторов, интерфейсов для датчиков и исполнительных механизмов, системами обратной связи для электродвигателей. Программные средства, поставляемые с платой, включают RTOS SYS/BIOS с бутлоадером, библиотеку драйверов периферии StarterWare, примеры приложений для работы по стандартам PROFIBUS и EtherCat. 

 

Блок-схема отладочной платы TMDXICE3359

 

Рис. 8. Блок-схема отладочной платы TMDXICE3359

 

 

Отладочная плата TMDXICE3359

 

Рис. 9. Отладочная плата TMDXICE3359

 

TMDXEVM3358- отладочная плата на базе процессора AM3358 (рис.10). Является базой для разработки устройств с человеко-машинным интерфейсом (GPS-навигаторы, терминалы самообслуживания, гаджеты и т.д.). Оборудована LCD-дисплеем, разъемами Ethernet, USB, RS-232,CAN, Audio In/Out, слотом SD/MMC, аналоговыми входами. Поставляется с портами операционных систем Android (GINGERBREAD 2.3.4) и Linux. Программный пакет содержит ряд примеров для быстрого освоения, также имеется большое количество подробной документации.

 

Отладочная плата TMDXEVM3358

 

Рис. 10. Отладочная плата TMDXEVM3358

 

 

TMDXIDK3359-AM3359 Industrial Development Kit (IDK)- полнофункциональная платформа для разработки и отладки приложений промышленного применения на базе процессора AM3359 (рис.11,12). Содержит ряд интерфейсов: USB, Ethernet, SPI,I2C, UART, GPIO, PROFIBUS, CAN. Имеется слот для SD/MMC. На плате установлена периферия для управления двигателями, включая дополнительные микроконтроллеры TMS320F28027 и LM3S5R31. Является базой для создания промышленных узлов передачи данных по индустриальным стандартам и управления исполнительными механизмами. Впрограммное обеспечение платы входят ядро RTOS SYS/BIOS от TI, а также стеки для реализации промышленных протоколов.

 

Блок-схема отладочной платы TMDXIDK3359

 

Рис. 11. Блок-схема отладочной платы TMDXIDK3359

 

Отладочная плата TMDXIDK3359

 

Рис. 12. Отладочная плата TMDXIDK3359

 

 

AM335x Starter Kit (TMDSSK3358)- недорогая полнофункциональная отладочная плата на базе процессора AM3358 для быстрого старта и оценки (рис.13). Несмотря на невысокую стоимость, плата содержит богатый набор компонентов для различных коммуникаций. Набор должен быть интересен прежде всего разработчикам гаджетов и устройств с человеко-машинным интерфейсом.

 

Отладочная плата TMDSSK3358

 

Рис. 13. Отладочная плата TMDSSK3358

Особенности:

  • Процессор AM3358, 720МГц,
  • Оперативная память 256MB DDR3,
  • Экран 4,3" с Touch screen,
  • USB,USB-UART, эмулятор USB-XDS100,
  • Два порта Ethernet,
  • Модуль WiFi,
  • Модуль Bluetooth,
  • Аудио выход,
  • Кнопки навигации Android,
  • Светодиоды.

Комплект поставки включает порты Linux и Android.

В начале 2013 года ожидается выход отладочной платы на базе семейства AM33XX c поддержкой PLC- и SubGHz-коммуникации, а также ряда стандартных промышленных интерфейсов - Ethernet, RS-232, CAN. Данный отладочный набор разрабатывается в рамках развития существующей платформы SGI (Smart Grid Infrastructure) на базе процессора OMAPTM-L138.

Кроме того, стоит упомянуть о недорогой отладочной плате стороннего производителя BeagleBone (рис. 14) на базе процессора AM3358, работающего на частоте 700 MГц.

 

Отладочная плата BeagleBone

 

Рис. 14. Отладочная плата BeagleBone

 

Плата имеет на борту 256 Мбайт оперативной памяти, Ethernet, USB, порты ввода /вывода, оснащена двумя 46-пиновыми разъемами для подключения плат расширения (рис. 15), через которые выведена следующая периферия: LCD, GPMC(NAND), MMC1, SPIx2,I2Cx2, UARTx5, ADCx7, 66 GPIO, CANx2, PWMx8, TIMERx4. Платы расширения, имеющиеся в продаже:

  • LCD-дисплей,
  • DVI-видео выход,
  • Аудио вход/выход,
  • Батарейное питание.

 

Платы расширения для BeagleBone

 

Рис. 15. Платы расширения для BeagleBone

 

Кроме того, существует несколько плат расширения от сообщества разработчиков, которые можно самостоятельно повторить.

Плата может применяться в самых различных областях - от коммуникаций до обработки изображений с видеокамер. Отдельно следует упомянуть, что BeagleBone может использоваться в качестве роутера для сети 6loWPAN. 6loWPAN - это стандарт взаимодействия по протоколу IPv6 поверх маломощных беспроводных персональных сетей стандарта IEEE 802.15.4. Сеть ориентируется на приложения, которые требуют беспроводного подключения к Интернету с низкой скоростью передачи данных для устройств с ограниченными возможностями производительности и мощности. Например, автоматизация дома, офиса и производства.

Плата поставляется с предустановленной ОС Linux, что позволяет использовать все наработанные программы и опыт Linux-сообщества. Вся необходимая информация для начала работы с платой есть по ссылке http://beagleboard.org/bone.

 

Программные средства разработки

Для разработчиков программного обеспечения компания Texas Instruments предлагает целый ряд SDK для различных применений. SDK (Software Development Kit) - пакет инструментов для разработчика, содержащий порт операционной системы, набор приложений и документацию. SDK позволяет в кратчайший срок ознакомиться с OC и возможностями аппаратной платформы, а также является базой для разработки собственных приложений. Компания TI предоставляет SDK для семейства Sitara под операционные системы Linux, Android 2.3, SYS/BIOS, Windows Embedded Compact 7. Кроме того, с сайта http://www.ti.com/ доступен для скачивания пакет StarterWare для разработчиков, не использующих операционные системы.

 

Особенности пакета StarterWare:

  • Программные примеры для работы с периферией,
  • Портируемость программных блоков для работы с периферией на различных процессорах,
  • Инструментарий для С-кода,
  • Запуск на Windows и Linux,
  • Поддержка компиляторов GCC для ARM, IAR для ARM для процессоров семейства TMS470,
  • Графическая библиотека и USB-стек с программными примерами.

 

Online-утилита для генерации образа файловой системы

Помимо генерации файловой системы с помощью средств, входящих в SDK, существует возможность создать образ с помощью онлайн-утилиты на сайте проекта Angstrom: http://narcissus.angstrom-distribution.org/.

 

Выбор целевой платы на сайте Angstrom

 

Рис. 16. Выбор целевой платы на сайте Angstrom

 

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

 

Поддержка графики и включение дополнительных пакетов

 

Рис. 17. Поддержка графики и включение дополнительных пакетов

После выбора необходимых параметров остается только нажать кнопку «Build me!» и загрузить сгенерированный файл на SD-карту, с которой запускается Linux на целевой плате.

 

Заключение

Новая линейка AM335x семейства Sitara представляют качественный шаг в развитии семейства высокопроизводительных микропроцессоров для промышленных и портативных применений. Быстрота, низкое потребление, гибкая линейка и низкие цены - это факторы, которые позволят данному семейству занять доминирующие позиции в своей нише. Удачная архитектура, мощное современное ядро и невысокая стоимость дают возможность рассматривать линейку AM335x в качестве замены устаревающего ядра ARM. Переход на новое ядро Cortex A8 позволяет получить значительный прирост в производительности, что является немаловажным фактором не только в мультимедийных приложениях, но и в промышленности. Всесторонняя поддержка от TI, наличие готовых портов популярных операционных систем в составе SDK и ряда отладочных плат как от самой компании TI ,так и от сторонних производителей, позволяют разработчикам сэкономить время на освоении платформы и приступить к решению своих задач в кратчайшие сроки, что сказывается на себестоимости конечного изделия. Популярность линейки среди сообществ разработчиков обуславливает наличие на рынке большого количества альтернативных отладочных средств и бесплатных программных решений.

 

Литература

1. http://www.ti.com/ 

2. http://www.arm.com/ 

3. http://beagleboard.org/ 

4. AM335x PRU-ICSS Reference Guide

5. AM3335x ARM Cortex-A8 Microprpcessors. Technical Reference Manual.

6. PROFIBUS® on AM335x and AM1810 SitaraTM ARM® Microprocessors.

Получение технической информации, заказ образцов, поставка - e-mail: [email protected]