Научная статья на тему 'Микроконтроллеры Cyan Technology: развитая периферия плюс быстродействие и экономичность'

Микроконтроллеры Cyan Technology: развитая периферия плюс быстродействие и экономичность Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
175
52
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Родионов Михаил

В статье описываются высокопроизводительные экономичные 16-разрядные микроконтроллеры семейства eCOG1 компании Cyan Technology, ориентированные на самый широкий спектр встраиваемых приложений. Рассмотрены особенности их работы, применяемые архитектурные решения, а также программно-инструментальные средства разработки и отладки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Микроконтроллеры Cyan Technology: развитая периферия плюс быстродействие и экономичность»

Микроконтроллеры Cyan Technology:

развитая периферия плюс быстродействие и экономичность

Михаил РОДИОНОВ

[email protected]

В статье описываются высокопроизводительные экономичные 16-разрядные микроконтроллеры семейства eCOG1 компании Cyan Technology, ориентированные на самый широкий спектр встраиваемых приложений. Рассмотрены особенности их работы, применяемые архитектурные решения, а также программно-инструментальные средства разработки и отладки.

Введение

В настоящее время на рынке устройств микроэлектроники в сегменте 16-разрядных микроконтроллеров (МК) представлено большое число производителей, однако продукция компании Cyan Technology (w ww .cyantechnology.co m) резко выделяется на фоне аналогичных устройств конкурирующих фирм. Вместо наращивания номенклатуры изделий, отличающихся друг от друга объемом памяти, набором периферийных модулей, корпусным исполнением и пр., Cyan Technology производит лишь несколько модификаций МК, обеспечивающих наилучшие технические параметры и максимально насыщенных всевозможной периферией. Если производитель устройств электроники выпускает широкую гамму изделий, то выбор продукции Cyan Technology позволит не только забыть о проблемах комплектации производства различными модификациями МК, но и существенно выиграть в цене при заказе большого количества МК одной номенклатуры.

В данной статье рассматривается семейство eCOGl недорогих высокопроизводительных экономичных МК, в состав которого входят всего два 16-разрядных устройства — eCOGlk и |iCOG1m. Они выпускаются в корпусах различного типа (128-выводной TQFP размером 14x14 мм и 81-выводной LFBGA размером 8x8 мм соответственно), однако имеют одинаковую внутреннюю структуру (рис. 1). Из-за меньшего количества внешних выводов в МК |iCOG1m некоторые из портов ввода-вывода соединены вместе (попарно), поэтому не все порты можно включать одновременно, по крайней мере один порт из каждой пары должен быть отключен. В остальном данные МК идентичны, поэтому далее подробно рассмотрим eCOG1k.

Микроконтроллер eCOG1k

Микроконтроллер еС001к имеет структуру, показанную на рис. 1, и обладает следующими основными характеристиками:

• 16-разрядное ядро ЦПУ с гарвардской архитектурой и тактовой частотой до 25 МГц.

• Напряжение питания от 3,0 до 3,6 В.

• Развитая система команд (в том числе арифметические операции), поддерживающая гибкие режимы адресации, а также пересылки типа «регистр-регистр».

• Встроенный отладчик еІСЕ, позволяющий внутрисхемно программировать МК и осуществлять отладку.

• Диспетчер памяти, позволяющий отображать одну и ту же физическую память как

в адресном пространстве памяти программ, так и в адресном пространстве памяти данных.

• Встроенная ИазЬ-памятъ объемом 32 К слов с возможностью страничного стирания и программирования через интерфейс е1СЕ или из прикладной программы.

• Два ИЛИТ.

• Два многопротокольных ШЛИТ, поддерживающих интерфейсы 12С, вР1, инфракрасный интерфейс, интерфейс смарт-карт и определяемый пользователем последовательный интерфейс.

• Интерфейс внешнего хост-контроллера, обеспечивающий внешнему хосту доступ к памяти еС0С1к.

• 29 СРЮ, настраиваемые как входы или выходы (обычные или с открытым стоком)

Канал А иА1*Т 5=>

Канал В иА1?Т С=>

БР1 «=>

12С «=>

идет 5=>

Инфракрасный интерфейс 5=>

Интерфейс смарт-карт {=>

Пользователький интерфейс {=>

16-разрядные данные {=>

16-разрядные данные {=>

29 портов ввода-

вывода/сигналы :=>

управления

2ШИМ 5=

6 событий захвата =>

2 счетчика =>

Сдвоенный

USART

Параллельный порт ввода/ вывода (PIO)

Порты ввода/ вывода общего назначения (GPIO)

Восемь

таймеров

4 кбайт ОЗУ

Прямой доступ к памяти (DMA)

О

64 кбайт Flash-памяти

О

Диспетчер памяти

Регистровый интерфейс

П ослед овател ьн ы й отладочный порт

Модуль тактирование и сброса Кэш-память программных кодов

$

Отладчик еІСЕ О Код Данные Процессорное ядро

¡=>

Интерфейс внешнего хост-

<=>

Л=Ъ <онт£°'])леР£ <=>

Интерфейс

внешней

памяти

(EMI)

12-разрядный

АЦП

Аналоговый

мультиплексор

У

Монитор

напряжения

питания

Датчик

температуры

16/32-разрядные данные Адрес/Уп равлен ие

8/16-раэрядные данные 24-разрядный адрес

^ ^ ^......^ ^ ^ Конфигуратор портов

Внешние порты A...L

Рис. 1. Структурная схема МК семейства eCOG1

Таблица. Сравнение различных 16-разрядных микроконтроллеров по производительности и энергопотреблению

Микроконтроллер Максимальная частота тактирования ЦПУ/ производительность Потребляемая мощность

Режим работы Ток потребления

^ цпу = 25 МГц 14 мA

eCOG1k 25 МГц/до 25 MIPS ^ цпу = 2,5 МГц 1,4 мA

Cyan Technology ^ цпу = 16 кГц 11 м^

в режиме «сна» 4 м^

MSP430 ^ цпу = 8 МГц 25О-4ОО м^

S МГц/до 5 MIPS ^ ЦПУ = 4 кГц 1,6 м^

в режиме «сна» О,1 м^

MC6SHC916X1 16 МГц/до 16 MIPS I" цпу = 16 МГц 15О мA

Motorola в режиме «сна» 1ОО м^

MAXQ3120 S МГц/до S MIPS ^ цпу = 8 МГц 2S мA

Maxim/Dallas в режиме «сна» З2О м^

XA-G49 Philips ^ цпу = 30 МГц 11О мA

ЗО МГц/до ЗО MIPS Рцпу = 3 МГц 1О мA

в режиме «сна» ЗО м^

^ цпу = 24 МГц 55 мA

F2MC-16LX 24 МГц/до 24 MIPS ^ЦПУ = 2 МГц 5 мA

Fujitsu ^ ЦПУ = 8 кГц 7О м^

в режиме «сна» 7 м^

TMS320VC5501PGF300 (~US$5-6) Texas Instruments ЗОО МГц/до 6ОО MMACS (Million Multiply-Accumulates Per Second) ^ цпу = 300 МГц Ядро: Периферия: 1,26 B, 2З9 мA З,З B, З9 мA

Рис. 2. Блоки трансляции адресов диспетчера памяти

и способные генерировать прерывания по заданному фронту или уровню.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Два 8/16-разрядных параллельных порта, настраиваемые как входы или выходы (обычные или с открытым стоком) и предназначенные для подключения внешних устройств с параллельным интерфейсом.

• Семь 16-разрядных таймеров-счетчиков и один 24-разрядный таймер длительных интервалов, прерывания от которых можно использовать для пробуждения МК из режима «сна».

• Интерфейс внешней памяти, поддерживающий различные типы памяти (в том числе SDRAM).

• 4-канальный 12-разрядный АЦП.

• Встроенные источник опорного напряжения, датчик температуры, монитор напряжения питания.

• Умножение частоты до 4,9152МГц и 100 МГц при использовании кварцевых резонаторов 32,768 кГц и 5,0 МГц соответственно. Автоматический выбор источника тактирования при включении питания.

• Различные режимы электропитания, отдельные сигналы тактирования и сброса для периферийных модулей и процессорного ядра.

Ядро МК eCOG1k представляет собой полноценный 16-разрядный RISC-микропроцессор с гарвардской архитектурой и мощным набором команд, ориентированным на языки высокого уровня, в частности С. Основные характеристики ядра следующие:

• Максимальная тактовая частота — 25 МГц.

• Сверхэкономичный режим «сна».

• 16-разрядный диапазон адресации памяти данных (64 Кх16 бит).

• 24-разрядный диапазон адресации памяти программ (16 Мх16 бит).

• Поддержка операций отладки.

• Векторные прерывания.

• Мощные математические функции, включая:

- умножение 16x16 со знаком и без знака;

- деление 32/16 без знака;

- однотактный многорегистровый циклический сдвиг.

МК имеет два банка встроенной кэш-памяти, которые могут использоваться в различных конфигурациях для кэширования команд, извлекаемых из йазЬ-памяти, а также в качестве дополнительного ОЗУ данных. Кэширование команд позволяет не только значительно улучшить производительность МК по сравнению с традиционными йазЬ-микроконтрол-лерами, но и существенно снизить энергопотребление. Такой эффект объясняется тем, что память 8ИЛМ, используемая в качестве кэшпамяти, является более экономичной, чем АазЬ-память. ИазЬ-память отключается до тех пор, пока не будет обнаружен промах кэша и не потребуется извлечение новой команды из АазЬ-памяти. Более того, ток, потребляемый кэш-памятью, пропорционален частоте функционирования, тогда как АазЬ-память имеет относительно высокий ток потребления при обращении к ней. Поэтому, если выполняемый (например, в режиме ожидания) программный код полностью разместить в кэш-памяти, то можно добиться очень низкого энергопотребления МК.

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

ности системы. Несмотря на это, МК семейства еС0С1 демонстрируют одно из лучших соотношений производительности и энергопотребления среди 16-разрядных микроконтроллеров (таблица).

МК содержит следующие блоки внутренней памяти:

• 64 Кбайт АазЬ-памяти (32Кх16);

• 4 Кбайт ОЗУ (2 Кх16);

• 2 Кбайт кэш-памяти (1 Кх16).

Хотя объем внутренней памяти невелик по сравнению с диапазоном адресного пространства, можно добавить внешние устройства памяти. Для отображения всех устройств внутренней и внешней памяти в адресном пространстве памяти программ и памяти данных используется диспетчер памяти, который преобразует логические адреса, видимые ЦПУ, в физические адреса, закрепленные за устройствами памяти. Для каждого блока физической памяти диспетчер памяти содержит соответствующие блоки трансляции адресов, которые позволяют отображать одну и ту же область физической памяти как в адресном пространстве памяти программ, так и в адресном пространстве памяти данных (рис. 2). Кроме этого, возможно перекрытие ячеек физической памяти, то есть закрепление за различными устройствами памяти общего диапазона адресов. Такой механизм работы с памятью предоставляет разработчику возможность не только настраивать систему под требования конкретного приложения, но и очень гибко управлять ее производительностью и энергопотреблением, выбирая оптимальное для решаемой задачи соотношение этих параметров.

Однако наибольшее влияние на производительность и энергопотребление МК оказывают настройки модуля системного тактирования. Модуль тактирования был разработан

с учетом собственного пониженного потребления энергии, что является необходимым условием для систем с питанием от батарей элементов, когда ЦПУ не функционирует непрерывно. Модуль тактирования содержит два встроенных тактовых генератора, которые используют кварцевые резонаторы 32,768 кГц и 5 МГц. Опорные тактовые сигналы с выходов этих генераторов подаются на схемы ФАПЧ, которые умножают их по частоте и генерируют еще два опорных тактовых сигнала: 4,9152 МГц и 100 МГц соответственно (рис. 3). Эти четыре опорных тактовых сигнала подаются на цепи делителей для генерации производных от них (деленных по частоте) сигналов тактирования ядра ЦПУ, памяти, цифровых и аналоговых периферийных модулей.

Еще один вариант генерации опорного тактового сигнала реализуется путем последовательного соединения схем ФАПЧ, в результате чего от кварцевого генератора 32 кГц можно получить тактовый сигнал достаточно высокой частоты (приблизительно 98 МГц). Это позволяет сэкономить на внешних компонентах, используемых для высокочастотного кварцевого генератора, при незначительном увеличении фазовых искажений тактового сигнала.

Модуль тактирования позволяет независимо включать и отключать тактовые генераторы, схемы ФАПЧ, сигналы тактирования ЦПУ, регистрового интерфейса, памяти, индивидуальные сигналы тактирования периферийных модулей, добиваясь дополнительного уменьшения энергопотребления системы. При отключении тактирования ЦПУ микроконтроллер переходит в режим «сна», в котором ток потребления составляет единицы микроампер. Модуль тактирования поддерживает функционирование ЦПУ в состоянии «сна» путем управления реакцией ЦПУ на условия побуждения, которыми могут быть прерывание от периферийного модуля, внешний сигнал пробуждения или истечение тайм-аута «сна». Можно выбрать сигналы тактирования, которые будут автоматически отключаться при переходе ЦПУ в режим «сна» или включаться при пробуждении ЦПУ.

Так как ядро ЦПУ и периферийные модули используют разные сигналы тактирова-

ния, это приводит к незначительному увеличению (на 4-6 циклов тактирования ЦПУ) времени реакции на прерывания. Это объясняется тем, что почти всегда сигнал прерывания должен переходить из одного домена тактирования в другой и повторно синхронизироваться. В общей сложности контроллер прерываний поддерживает до 64 векторных прерываний и исключительных ситуаций, источниками которых могут быть либо внешние события, либо события, генерируемые периферийными модулями МК.

Кроме впечатляющего соотношения производительности и энергопотребления, МК компании Cyan Technology отличает еще одна особенность — количество сигналов периферийных модулей и реализованных функций специального назначения превышает требуемое для них количество внешних выводов МК. Поэтому в структуру МК введен конфигуратор портов, с помощью которого внешние выводы, объединенные в 12 портов ввода-вывода, можно назначить различным периферийным сигналам непосредственно из прикладной программы. Такой подход позволяет при необходимости переопределять функционирование каждого вывода «на лету» (например, переходить на другой протокол последовательной связи) и выбирать только те периферийные модули, которые требуются для конкретного приложения. Наличие конфигуратора портов позволяет eCOG1k содержать большое количество периферийных модулей при относительно небольшом числе внешних выводов, что положительно отражается на стоимости всей системы. Для настройки конфигуратора портов можно использовать специальный графический редактор среды разработки CyanlDE, который позволяет исследовать различные конфигурации МК и схемы распределения его выводов, а также автоматически генерирует исходный код для инициализации регистров конфигурации.

МК семейства eCOG1 поддерживают 29 сигналов ввода-вывода общего назначения. Каждый из них можно развести на внешние выводы с помощью конфигуратора портов, включить, отключить (перевести в высоко-импедансное состояние), настроить как вход (с возможностью генерации прерываний по фронту или по уровню, а также условий пробуждения ЦПУ), как выход (обычный, с открытым стоком или с открытым истоком). Кроме этого, МК содержит две 16-разрядные параллельные шины ввода-вывода, которые можно развести на внешние выводы и независимо настроить на вход или выход (обычный или с открытым стоком).

Другой отличительной особенностью МК семейства eCOG1 является поддержка большого многообразия последовательных интерфейсов, которые реализуются модулями DUART (сдвоенный UART) и DUSART (сдвоенный USART).

Модуль DUART состоит из двух отдельных UART. Каждый из них имеет 16-разрядные буферы приема-передачи, программируемый генератор скорости передачи, обеспечивает фильтрацию шумов и обнаружение ошибок на приеме, а также поддерживает функции энергосбережения, позволяющие автоматически включать тактирование UART только на период приема или передачи данных. Эти UART функционируют полностью независимо от ЦПУ, что позволяет переводить ЦПУ в режим «сна» на время приема или передачи. Кроме этого, каждый UART может обеспечить полный интерфейс управления квитированием модемной связи.

Модуль DUSART представляет собой сдвоенный последовательный порт общего назначения, каждый канал которого может поддерживать один из следующих фиксированных протоколов:

• Стандартный UART.

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

• I2C, позволяющий, помимо стандартных возможностей, передавать данные со скоростью до 3,4 Мбит/с и работать на шине с несколькими ведущими.

• Протоколы инфракрасной связи, используемые в бытовой технике (RC-5, ASK, PPM), а также низкоскоростной IrDA.

• SCI (Smart Card Interface), соответствующий ISO 7816 и поддерживающий все функции, необходимые для реализации терминальной части (контроллера) интерфейса смарт-карт.

• Пользовательский последовательный интерфейс, который позволяет пользователям определять и поддерживать собственные несложные протоколы последовательной связи, а также может использоваться в качестве дополнительного UART. Интегрированная на кристалле периферия

не ограничивается большим набором последовательных интерфейсов. МК eCOG1k содержит также богатый набор таймеров-счетчиков:

• 16-разрядный таймер обратного отсчета, способный функционировать в качестве часов реального времени.

• Два 16-разрядных таймера-счетчика общего назначения.

• Два 16-разрядных таймера, способные генерировать ШИМ-модулированный выходной сигнал.

• 16-разрядный сторожевой таймер, используемый для сброса МК после истечения отведенного времени при появлении ошибочного состояния.

• 16-разрядный таймер захвата событий.

• 24-разрядный таймер длительных интервалов.

• 8-разрядный счетчик тайм-аута «сна». Прикладная программа может изменять

большинство параметров каждого таймера, включая значения периода отсчета, переза-

Рис. 3. Структурная схема формирователя опорных тактовых сигналов

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

Для расширения функциональных возможностей МК разработаны интерфейсы внешней памяти и внешнего хост-контроллера. Интерфейс внешней памяти позволяет отображать в адресном пространстве памяти программ и данных различные устройства памяти (Flash, SRAM, ROM), а также обеспечивает непосредственное подключение SDRAM-памяти без использования каких-либо дополнительных внешних компонентов, что нечасто встречается в 16-разрядных микроконтроллерах.

Интерфейс внешнего хост-контроллера обеспечивает быстрый обмен 16- или 32-разрядными данными между eCOG1k и внешним микропроцессорным устройством. При этом возможны два режима взаимодействия:

• Отображение ОЗУ eCOG1k в адресном пространстве памяти внешнего хост-контроллера. Данный режим предназначен для обмена небольшими пакетами данных с произвольным доступом.

• Обмен данными в режиме прямого доступа к памяти (DMA) с использованием сигналов запроса и подтверждения для квитирования связи. Этот режим предназначен для копирования больших блоков данных. Богатый набор цифровой периферии дополняют аналоговые периферийные модули: 12-разрядный сигма-дельта АЦП, источник опорного напряжения, датчик температуры, монитор напряжения питания. АЦП функционирует с фиксированной частотой выборки (приблизительно 8 кГц) и может осуществлять выборку до 4 различных внешних аналоговых сигналов, а также сигналов от внутреннего датчика напряжения питания и от встроенного датчика температуры. Возможен дифференциальный режим измерения входных напряжений, позволяющий удалять синфазный шум симметричной пары сигналов.

МК содержит 64 кбайт (32 Кх16) встроенной энергонезависимой flash-памяти, программирование и стирание которой не требует каких-либо источников повышенного

напряжения и может осуществляться как из прикладной программы, так и через порт отладки. Это позволяет легко производить обновление программного обеспечения готовых изделий даже в процессе эксплуатации, что существенно увеличивает время их жизни на рынке. Предусмотрена возможность защиты flash-памяти по чтению и записи.

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

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

Для семейства eCOG1 компания Cyan Technology предлагает отладочный комплект eCOG1 Development Kit и его облегченную (и, соответственно, более дешевую) версию — оценочный комплект eCOG1k Evaluation Kit. В состав каждого из них входит отладочная плата с установленным МК eCOG1k и различной периферией, а также программный пакет средств поддержки. Эти комплекты позволяют досконально исследовать требуемые конфигурации и режимы работы МК. С их помощью можно быстро проверить проектируемое изделие, оценить его технические характеристики и изучить поведение разрабатываемой системы в реальных условиях.

Для разработки, программирования и отладки систем на основе МК семейства eCOG1 компания Cyan Technology предлагает интегрированную среду разработки CyanIDE, которая распространяется бесплатно и позволяет реализовать весь цикл проектирования от написания прикладной программы до программирования МК и отладки целевой системы. Данный программный пакет содержит средства управления проектом, редактор кода, ассемблер, Си-компилятор, библиотеки функ-

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

Для отладки приложений и внутрисхемного программирования МК выпускаются специальные адаптеры, которые соединяют персональный компьютер через порт LPT или USB c отладочным eICE-портом микроконтроллера и позволяют в полной мере реализовать все многообразие возможностей пакета CyanIDE.

Заключение

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

Область применения данных МК чрезвычайно широка, но наиболее перспективным видится их использование в сфере телекоммуникационных приложений: интерфейсы Ethernet, BlueTooth и Wi-Fi, PDA, приборы GPS-навигации, системы безопасности и разграничения доступа, портативная контрольно-измерительная аппаратура, удаленные системы сбора информации и др.

В настоящее время в планах Cyan Technology стоит расширение функциональных возможностей устройств семейства eCOG1 и выпуск нового МК eCOG1x, дополненного контроллерами USB, ЖКИ, Fast Ethernet, с более высокой тактовой частотой ядра и увеличенным объемом памяти. ■

i Надоели баннеры? Вы всегда можете отключить рекламу.