32-разрядные микроконтроллеры для встраиваемых приложений – есть ли альтернатива ARM?

№ 6’2006
Потребность в высокой производительности встраиваемых систем вынуждает разработчиков при выборе микроконтроллера не просто учитывать потребности конкретного приложения, а ориентироваться на единую платформу, которую можно будет впоследствии использовать для более производительных и функциональных устройств. Такой подход становится все более востребованным, поскольку использование уже существующих наработок в предыдущих проектах позволяет снизить затраты на разработку и сократить время вывода новых устройств на рынок. В данной статье пойдет речь о микроконтроллерах на базе ядра ColdFire®, выпускаемых компанией Freescale Semiconductor. Мы постараемся показать, почему эта платформа может не только на равных конкурировать с МК на базе ядра ARM, но и даже превосходить их.

Потребность в высокой производительности встраиваемых систем вынуждает разработчиков при выборе микроконтроллера не просто учитывать потребности конкретного приложения, а ориентироваться на единую платформу, которую можно будет впоследствии использовать для более производительных и функциональных устройств. Такой подход становится все более востребованным, поскольку использование уже существующих наработок в предыдущих проектах позволяет снизить затраты на разработку и сократить время вывода новых устройств на рынок. В данной статье пойдет речь о микроконтроллерах на базе ядра ColdFire®, выпускаемых компанией Freescale Semiconductor. Мы постараемся показать, почему эта платформа может не только на равных конкурировать с МК на базе ядра ARM, но и даже превосходить их.

Микроконтроллеры семейства ColdFire® впервые появились на рынке в 1994 году. Они были созданы на базе популярного семейства 32-разрядных микроконтроллеров с CISC-ядром 68К, которое появилось на рынке еще в 1979 году, с тех пор последовательно развивалось и продолжает широко использоваться до сих пор. Вместе с тем, по мере роста популярности RISC-архитектур перед разработчиками (тогда еще компании Motorola) была поставлена задача создания более эффективной с точки зрения быстродействия и энергопотребления процессорной архитектуры. Результатом проделанной работы стало процессорное ядро ColdFire®, которое своим названием обязано сочетанию низкого энергопотребления и высокой производительности. По сравнению с ядром 68К, новая архитектура обладала меньшим количеством команд и режимов адресации, но позволяла процессору выполнять большинство команд за один такт. Одной из ключевых особенностей нового ядра стало использование команд переменной длины, что обеспечивало более высокую плотность программного кода и, как следствие, позволяло более эффективно использовать память. Разновидность такой архитектуры получила название Variable Length RISC. Стоить отметить, что использование команд разной длины (16, 32 или 48 бит) не требует от процессорного ядра переключения в какие-то специальные режимы наподобие используемых в архитектуре ARM режимов Thumb 16. Поэтому производительность микроконтроллера остается неизменной, обеспечивая при этом и более высокую прозрачность хода выполнения прикладной программы, что особенно важно в процессе разработки систем реального времени.

С момента своего появления в 1994 году ядро ColdFire® подвергалось различным модернизациям с целью повышения производительности — в него были интегрированы модули аппаратного умножения с накоплением (MAC и eMAC), аппаратного деления, модуль для вычислений с плавающей точкой (FPU) и блок MMU, благодаря которому появилась возможность работать с полноценными Linux-приложениями. Совершенствовались также и периферийные модули. Сейчас существует четыре поколения процессорного ядра, отличающиеся по производительности и, соответственно, по энергопотреблению, однако совместимые по программному коду (что особенно важно для обеспечения плавной миграции в сторону повышения быстродействия и функциональности приложений). Этому способствует и одинаковый интерфейс для внутрисхемной отладки и программирования микроконтроллеров.

Таким образом, МК на базе ядра ColdFire® представляют собой единую платформу, в рамках которой можно наращивать производительность от 37 MIPS при тактовой частоте 40 МГц до 410 MIPS на тактовой частоте 266 МГц (производительность указана по результатам тестов Dhrystone 2.1), сохраняя совместимость по программному коду и используя единые средства отладки.

МК ColdFire® во встраиваемых приложениях

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

Условно семейство ColdFire® можно разделить на две ветви: МК для промышленных применений и МК для портативных пользовательских устройств. Это обусловлено наличием у этих контроллеров специализированных периферийных модулей: первые помимо традиционных портов ввода–вывода имеют модули АЦП, ШИМ, контроллеры SVGA, различные таймеры и большой набор коммуникационных интерфейсов (CAN, Ethernet, USB OTG, UART, I2C); вторые же снабжены такими специфическими модулями, как аудиоинтерфейсы SPDIF/EBU, интерфейсы для подключения карт памяти, жестких дисков и т. д. Характерные представители таких МК представлены на рис. 1. Тем не менее, такое разделение является весьма условным.

Рис. 1. Микроконтроллеры MCF523x и MCF5249
Рис. 1. Микроконтроллеры MCF523x и MCF5249

Семейство ColdFire® активно развивается, на данный момент на рынке представлено более 10 линеек микроконтроллеров, включающих в себя различные комбинации периферии и блоков памяти (рис. 2). Компания планирует и дальше работать над этим направлением. Ниже мы расскажем о наиболее интересных тенденциях в развитии данного семейства и познакомим с наиболее интересными микроконтроллерами, появившимися на рынке начиная с середины 2005 года.

Рис. 2. Линейка микроконтроллеров семейства ColdFire
Рис. 2. Линейка микроконтроллеров семейства ColdFire

Flash-память

До 2004 года семейство ColdFire® состояло из микроконтроллеров, требующих наличия внешней памяти программ и данных. «Первой ласточкой» в 2004 году стал МК MCF5282, который имел 512 кбайт встроенной Flash-памяти, а также интерфейсы CAN и Fast Ethernet, что делало его очень привлекательным решением для организации шлюзов между сетями промышленной автоматики. Впоследствии появился вариант и с Flash-памятью объемом 256 кбайт.

Растущий интерес заказчиков к дешевым 32-разрядным микроконтроллерам нашел отклик в появлении во второй половине 2005 года семейства MCF521x, имеющего 128 или 256 кбайт Flash-памяти. Особенностью этих МК является наличие 12-разрядного АЦП, интерфейса CAN 2.0В, а также контроллера памяти DDR. Данное семейство выпускается в корпусах типа LQFP, доступны также и MAPBGA версии. Стоимость данных микроконтроллеров составляет около $5 (в отпускных ценах европейских дистрибьюторов).

Fast Ethernet и USB

Интерфейс Ethernet (Fast Ethernet) становится все более популярным в системах промышленной автоматики. Большинство решений, доступных на данный момент, требуют использования дополнительных интерфейсных схем физического уровня (контроллеров PHY) для реализации соединения. В прошлом году на рынке появилось первое полностью интегрированное однокристальное решение — 16-разрядный МК MC9S12NE64. Справедливости ради стоит отметить, что его возможностей не хватало для полной реализации функций стека TCP/IP, поэтому для удовлетворения потребности в максимально функциональном и наиболее дешевом решении были разработаны микроконтроллеры серии MCF5223x, также имеющие интегрированный контроллер физического и MAC-уровня. Эти МК богато оснащены и периферийными модулями — это 12-разрядный АЦП, развитая система 16- и 32-разрядных таймеров, модуль ШИМ, коммуникационные интерфейсы UART, I2C, SPI. Эти МК имеют встроенную Flash-память 128 или 256 кбайт и 32 кбайт ОЗУ. Дополнительно у отдельных представителей могут быть интегрированы модули аппаратного шифрования или интерфейс CAN 2.0В (рис. 3).

Рис. 3. Микроконтроллеры серий MCF5223x и MCF5222x
Рис. 3. Микроконтроллеры серий MCF5223x и MCF5222x

Аналогичное решение предлагается для приложений, требующих реализации функций USB OTG (On-The-Go) — это микроконтроллеры серии MCF5222x. Они также включают в себя широкий набор периферийных узлов (рис. 3).

Реализация человеко-машинного интерфейса

В системах промышленной автоматики одним из наиболее важных вопросов остается организация интерфейса между человеком и машиной. Ранее с этой задачей справлялись сегментные ЖКИ, но с развитием графических пользовательских интерфейсов стала очевидной потребность в более мощных матричных ЖКИ, поддерживающих стандарты VGA и SVGA. Специально для таких приложений были разработаны микроконтроллеры серии MCF532x с интегрированным драйвером SVGA. Этот микроконтроллер также имеет встроенный контроллер USB OTG, таймеры, модуль ШИМ, коммуникационные интерфейсы, в том числе и SSI для подключения аудиокодеков. Важно отметить, что этот МК поддерживает память типа DDR. Дополнительно могут быть интегрированы МАС-контроллер Ethernet/Fast Ethernet, интерфейс CAN или модуль аппаратного шифрования (рис. 4). В дальнейшем планируется также включить в состав микроконтроллера драйвер сенсорного экрана.

Рис. 4. Микроконтроллер серии MCF532x
Рис. 4. Микроконтроллер серии MCF532x

Таймерный сопроцессор eTPU

Одной из отличительных особенностей МК на базе ядра 68K было наличие специализированного таймерного сопроцессора, который представляет собой программируемую подсистему ввода–вывода. Благодаря наличию собственного вычислительного ядра и модуля ПЗУ он может быть запрограммирован для выполнения практически любых задач по обработке и формированию импульсных последовательностей независимо от центрального процессора. Например, с помощью 16 каналов eTPU можно реализовать до 8 интерфейсов UART со скоростью обмена до 103 кбод. Для решения широкого спектра стандартных задач существует большой набор библиотек, которые упрощают разработку приложений с использованием данного модуля — от простейших функций входного захвата и выходного сравнения до реализации алгоритмов управления 3-фазными двигателями переменного тока. Таймерный сопроцессор входит в состав микроконтроллеров серии MCF523x и включает в себя от 16 до 32 24-разрядных программируемых каналов.

Средства разработки

Для работы с микроконтроллерами семейства ColdFire® существует большое количество отладочных средств, предлагаемых различными производителями — начиная от недорогих кабелей внутрисхемной отладки и отладочных плат до мощных внутрисхемных эмуляторов. Для создания прикладной программы можно воспользоваться интегрированной средой разработки CodeWarrior Development Studio, которая имеет бесплатную версию с ограничением по объему компилируемого кода 128 кбайт, что позволяет обойтись без дополнительных затрат при разработке устройств начального уровня на базе МК ColdFire®. Существуют и прочие свободно распространяемые средства разработки на основе лицензий GNU GPL, например, для семейства ColdFire® есть портированная операционная система uCLinux. Следует отметить, что микроконтроллеры на базе процессорного ядра ColdFire V4e, имеющего блок MMU, позволяют запускать приложения под управлением свободно распространяемой операционной системы Linux.

ARM или ColdFire®?

В настоящей статье мы не ставили целью показать, что ядро ColdFire® лучше или хуже ядра ARM. Каждое решение занимает свое место на рынке встраиваемых систем. Вместе с тем, хотелось бы более подробно рассмотреть проблему выбора архитектуры процессора с точки зрения максимальной защиты имеющихся аппаратных и программных наработок и минимальных затрат на дальнейшее развитие функциональности устройств. Очевидно, что, как мы и говорили в начале статьи, наиболее оправдан в таком случае платформенный подход. Как кажется на первый взгляд, микроконтроллеры на базе ядра ARM являются оправданным выбором, поскольку такие продукты выпускаются целым рядом производителей, что, в принципе, должно давать определенную защиту на случай возникновения проблем с поставками каких-либо МК или даже снятия их с производства. Так ли это на самом деле?

Архитектура ARM не является стандартной. Несмотря на все многообразие существующих сегодня микроконтроллеров на базе различных версий ядра ARM, каждый производитель имеет свои собственные уникальные архитектурные решения (даже на уровне процессорного ядра) и набор периферийных модулей, что значительно усложняет перенос программного кода с аппаратной платформы одного производителя на платформу другого производителя. Надо также учитывать и тот факт, что внутренние тактовые частоты также довольно сильно отличаются, поэтому для систем, критичных к времени выполнения определенных задач, потребуется заново программировать временные промежутки. Средства разработки тоже не являются едиными для всех МК на базе ядра ARM, что обусловлено теми же самыми причинами. Таким образом, единой стандартной аппаратной и программной платформы для МК на базе ядра ARM не существует, поэтому разработчик в конечном счете будет вынужден выбирать между микроконтроллерами конкретных производителей.

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

Компания Freescale планирует еще расширить границы этой платформы: в конце 2006 — начале 2007 года будут представлены первые повыводно совместимые 8- и 32-разрядные микроконтроллеры, которые будут иметь одинаковую периферию, но разные процессорные ядра — 8- и 32-разрядное соответственно. Это обеспечит дополнительные возможности для тех разработчиков, которые с 8-разрядных устройств хотят перейти сразу на 32-разрядную платформу для наращивания производительности своих приложений.

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

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