Понедельник, 30.06.2025, 19:47
Приветствую Вас Гость | RSS
Главная » 2013 » Ноябрь » 9 » 32 БИТА ЗА ПОЛДОЛЛАРА
22:04
32 БИТА ЗА ПОЛДОЛЛАРА


СТРАТЕГИЯ STMICROELECTRONICS
В ОБЛАСТИ МИКРОКОНТРОЛЛЕРОВ

Компания STMicroelectronics выработала стратегию развития микроконтроллеров, которая обладает рядом особенностей.

  • Стратегия включает как 8-битные, так и 32-битные семейства контроллеров.
  • Постоянно появляются новые семейства и линейки, расширяется номенклатура с целью предоставить разработчикам возможность выбора наиболее подходящего микроконтроллера.
  • Появляются новые бюджетные линейки 32-битных контроллеров, разработанных для приложений, которые ранее были характерны для 8-битных систем.
  • Несмотря на доступность 32-битных решений, 8-битные контроллеры остаются незаменимыми в ряде областей.
  • Общая тенденция на снижение цены контроллеров вне зависимости от разрядности.

В результате области применения контроллеров частично перекрываются, но не накладываются друг на друга полностью (рисунок 1).

 

Соотношение областей применения контроллеров

 

Рис. 1. Соотношение областей применения контроллеров

В рамках данной стратегии новое семейство STM32F0 с ядром Cortex-M0 призвано заменить 8-битные контроллеры в ряде областей. Как было сказано выше, основными ограничивающими факторами применения 32-битных систем были сложность освоения и применения, высокая цена и потребление. В данном семействе инженеры STMicroelectronics постарались устранить эти недостатки, сохранив основные достоинства - производительность и богатство периферии. Кратко перечислим основные преимущества семейства STM32F0.

Производительность. Процессоры STM32F0 построены на базе ядра ARM Cortex-M0 и, реализуя весь его потенциал, обладают недоступной для 8-битных систем производительностью.

Простота применения. Контроллеры имеют интегрированные высокоточные RC-генераторы, схему сброса, интегрированный DC/DC-преобразователь, интегрированную память. Это позволяет строить системы с минимальным количеством внешних элементов,.что раньше было характерно для 8-битных систем.

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

Простота освоения. Освоить работу с данным семейством достаточно просто как для инженеров, имеющих опыт работы только с 8-битными системами, так и для тех, кто привык к 32-битным архитектурам. Дело в том, что для всех семейств контроллеров STMicroelectronics поставляются бесплатные стандартные библиотеки периферии.

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

Дополнительным плюсом для разработчиков 32-битных систем является то, что при переходе от старших семейств не придется менять среду разработки, так как все основные среды разработки программного обеспечения и компиляторы поддерживают Cortex-M0.

Цена. Вышедшее недавно семейство бюджетных микроконтроллеров STM8S00x имело цену 0,3$ за кристалл, что казалось недоступным для конкурентов и тем более для 32-битных контроллеров. Однако бюджетная линейка STM32F030x предлагает цену 0,5$ за кристалл. В итоге разрядность контроллера не оказывает влияния на цену.

Потребление. Потребление контроллеров пропорционально рабочей частоте и количеству транзисторов на кристалле, поэтому очевидно, что 8-битные контроллеры по этому параметру остаются впереди. Однако потребление постоянно уменьшается, например для STM32F03x в активном режиме на 48МГц оно не превышает 24мА даже при тактировании всей периферии.

Подводя краткий итог, стоит отметить, что 8-битные контроллеры сохраняют свои позиции при построении ряда устройств: устройств со сверхнизким потреблением, с требованием широкого диапазона питания контроллера (1,65...5В), устройств, предназначенных для работы в автомобильной электронике (STM8AFSTM8AL), устройств, предназначенных для работы в жестких условиях окружающей среды (например, STM8AF позволяют работать при температурах до 150°С).

Несмотря на это, область применения 8-битных систем сокращается благодаря появлению семейства STM32F0, которое сочетает в себе простоту и низкую цену 8-битных и производительность 32-битных контроллеров. Рассмотрение особенностей процессорного ядра, архитектуры, периферии и средств разработки позволят более полно оценить их уникальные свойства.

 

КРАТКАЯ ХАРАКТЕРИСТИКА ЯДРА CORTEX-M0

Процессоры семейства STM32F0 являются RISC-процессорами с ядром ARM CortexTM-M0 (рисунок 2), шиной AHB-Lite (Advanced High-performance Bus), контроллером прерываний NVIC (Nested Vectored Interrupt Controller), и блоком отладки (DEBUG).

 

Архитектура ARM Cortex-M0

 

Рис. 2. Архитектура ARM Cortex-M0

Процессорное ядро (версия ARMv6-M) характеризуется рядом особенностей:

  • набор команд THUMB;
  • 3-уровневый конвейер команд;
  • 24-битный системный таймер (SysTick timer);
  • аппаратный умножитель 32x32;
  • детерминированное время реакции на прерывания;
  • возможность входа в спящий режим посредством команды WFI (Wait For Interrupt);
  • упрощение архитектуры наряду с некоторым снижением производительности: в отличие от ядра Cortex-M3, имеющего гарвардскую архитектуру (доступ к памяти программ и данных разделен посредством шин Data Bus, Instruction Bus), ядро Cortex-M0 построено по архитектуре Фон Неймана и имеет только одну интерфейсную шину (System Bus) (таблица1).

Особенности контроллера прерываний:

  • до 32 векторов прерываний;
  • наличие немаскируемых прерываний NMI (Non-Maskable Interrupt);
  • фиксация прерываний как по уровню, так и по изменению;
  • опциональный контроллер пробуждения WIC (Wake-up Interrupt Controller);

 

Особенности блока отладки:

  • до 4-х точек останова по коду;
  • до 2-х точек останова по изменению данных;
  • неограниченное количество программных точек останова;
  • возможность пошаговой отладки;
  • возможность доступа к памяти;
  • полный доступ к регистрам ядра;
  • поддержка JTAG- и Serial Wire-интерфейсов.

Интерфейс между блоками осуществляется посредством матрицы шин и двух основных шин:

  • 32-битная шина AMBA-3 AHB-Lite (Advanced Hi-speed Bus) обеспечивает высокоскоростную связь между памятью, ядром и периферией. Шина AHB-Lite урезана относительно полной шины, но выполняет наиболее важные и востребованные функции.
  • 32-битная отладочная шина DAP (Debug Access Port), используемая для сопряжения с внешними интерфейсами JTAG и Serial Wire.

Матрица шин обеспечивает арбитраж при наличии нескольких ведущих и ведомых на шине AHB.

Можно выделить несколько наиболее важных преимуществ Cortex-M0 над 8-битными архитектурами [1]:

  • Выполнение большинства арифметических и логических операций с 32-битными данными происходит за один такт.
  • Cortex-M0 имеет аппаратный умножитель, который сокращает и объем расчетных операций, и объем кода. Так, например, для контроллеров с ядром 8051 16-битное умножение требует 48 тактов и 48 байтов кода. Аналогичная операция для 16-битного контроллера займет 8 тактов и 8 байтов кода. Для Cortex-M0 умножение будет выполнено за 1 такт и займет 2 байта кода.
  • 8-битные контроллеры используют не только команды длиной один байт, но и многобайтные команды. В результате для получения кода команды требуется несколько операций выборки. Cortex-M0 использует набор команд Thumb, в котором большинство команд- 16-битные, а часть- 32-битные. Врезультате код команды будет получен за одну операцию выборки.
  • Набор команд Thumb имеет высокую эффективность. Существует поддержка различных типов адресации всех типов данных (8-/16-/32-битных, знаковых и беззнаковых). Многие команды (например, команды работы со стеком) у Cortex-M0 могут производить несколько операций пересылки данных.
  • В Cortex-M0 поддерживается адресное пространство до нескольких Гбайт, в то время как в 8- и16-битных контроллерах, как правило, есть ограничение памяти до 64 кбайт. Для больших объемов требуются дополнительные аппаратные и программные издержки. Так, например, для контроллеров 8051 для получения больших объемов используются отдельные банки по 64 кбайт.
  • Высокоскоростная шина AHB-Lite при наличии DMA позволяет значительно сократить затраты на пересылку данных и освободить процессор.
  • Наличие 24-битного системного таймера упрощает возможность реализации операционных систем реального времени.

В итоге, если производительность 8051-контроллеров ограничивается 0,1 DMIPS, для Cortex-M0 эта величина составляет 0,91 DMIPS.

Имея преимущество перед 8-/16-битными конкурентами, процессоры Cortex-M0 уступают более старшим архитектурам (таблица 1), что связано с урезанием ряда важных функций.

Впрочем, стоит отметить, что, несмотря на ограничения, производительность Cortex-M0 остается значительной и даже опережает максимальную производительность некоторых семейств с ядрами Cortex-M3, в основном за счет возможности работы на более высоких тактовых частотах (рисунок 3).

 

Сравнение производительности Cortex-архитектур

 

Рис. 3. Сравнение производительности Cortex-архитектур

 

АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ STM32F0

Семейство микроконтроллеров STM32F0 реализует все преимущества архитектуры Cortex-M0 (рисунок 4).

 

Архитектура контроллеров STM32F0 на примере STM32F051x

 

Рис. 4. Архитектура контроллеров STM32F0 на примере STM32F051x

Система состоит из двух ведущих блоков: ядра ARM CortexTM-M0 и контроллера прямого доступа к памяти (Direct Memory Access, DMA).

Ядро ARM CortexTM-M0 работает на частотах до 48 МГц с производительностью 0,9 DMIPS/МГц.

Контроллер DMA поддерживает до 5 каналов.

Для осуществления арбитража доступа к ведомым блокам между системной шиной ядра и шиной DMA служит матрица шин (Bus Matrix). Эта матрица осуществляет циклический круговой алгоритм доступа (Round Robin algorithm) к шине AHB. Ведомыми для матрицы шин являются интерфейс с Flash, ОЗУ, мост AHB2GPIO для связи с блоком входов/выходов общего назначения, мост AHB2APB для связи с шиной периферии APB (Advanced Peripheral Bus).

Стоит отметить, что благодаря матрице шин выполнение кода из Flash происходит параллельно с пересылками данных DMA.

Семейство STM32F0 содержит несколько линеек, которые отличаются друг от друга объемом памяти и набором периферии.

 

ОБЗОР ЛИНЕЕК КОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32F0

В четвертом квартале 2013 года компания STMicroelectronics обещает расширить семейство микроконтроллеров в сторону большей интеграции, увеличить объем Flash-памяти до 128 кбайт и добавить дополнительные периферийные блоки. На настоящий момент семейство контроллеров STM32F0 состоит из трех линеек: STM32F051xSTM32F050xSTM32F030x (рисунок 5). Линейки отличаются максимально доступным объемом памяти и набором периферии.

 

Линейки микроконтроллеров семейства STM32F0

 

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

Линейки STM32F051x и STM32F03x имеют интегрированную Flash-память объемом до 64 кбайт и ОЗУ объемом до 8 кбайт. Для линейки STM32F050x объем Flash ограничен 32 кбайт, а ОЗУ - 4 кбайт.

Несмотря на то, что линейки отличаются набором периферии, для всех представителей семейства существует базовый набор периферийных блоков.

  • Контроллер прямого доступа памяти DMA. Позволяет организовывать до пяти каналов пересылки данных.
  • Контроллер сброса и тактирования (Reset Control and Clock, RCC) формирует сигнал сброса трех типов: сброс при подаче питания (схема POR/PDR), системный сброс, сброс от системы Backup Domain. Еще одной функцией RCC является управление тактовыми сигналами.
  • Источники тактовых сигналов: интегрированный 8МГц RC-генератор (High Speed Internal, HSI), внешний резонатор или генераторы с частотой от 4 до 32МГц (High Speed External, HSE), внутренний RC-генератор 40кГц (Low Speed Internal, LSI), внешний часовой резонатор (Low Speed External, LSI).
  • Схема фазовой автоподстройки частоты (PLL) позволяет умножать входной сигнал (множитель 1...16), формировать системный тактовый сигнал частотой 16...48МГц. В качестве входного сигнала для PLL могут использоваться сигнал от HSI (деленный на 2), либо сигнал от HSE (пропущенный через делитель с коэффициентом деления 1...16).
  • Блок вычисления контрольной суммы (CRC) используется для аппаратного получения контрольной суммы CRC32 (Ethernet). CRC необходим, например, для соответствия требованиям стандарта EN/IEC 60335-1, определяющего безопасность и надежность бытовой домашней электроники.
  • Входы/выходы общего назначения. Контроллеры могут иметь до 55 быстрых входов/выходов общего назначения, из которых до 36 толерантны к 5В.
  • Сторожевые таймеры. Системный оконный сторожевой таймер (System window watchdog, WWDG) и независимый сторожевой таймер (Independent watchdog, IWDG) позволяют защитить систему от зависаний, при этом отпадает необходимость во внешнем сторожевом таймере, что упрощает посторенние системы в целом.
  • Коммуникационные интерфейсы. До двух USART, один из которых поддерживает автоопределение скорости передачи. До двух I2C, один из которых поддерживает скорость передачи до 1Мбит/с. До двух SPI со скоростями передачи до 18Мбит/с.
  • Таймеры. Один 16-битный таймер с поддержкой 7 каналов, с 6-канальным ШИМ (используется, в том числе, для формирования комплементарных сигналов для управления двигателями), с возможностью формирования мертвого времени при использовании комплементарных выходов. 16-битные таймеры с поддержкой функций захвата и сравнения. 24-битный системный таймер, идеально подходящий для использования совместно с операционной системой.
  • 12-битный 16-канальный АЦП позволяет оцифровывать аналоговые сигналы 0...3,6В.
  • Часы реального времени (Real Time Counter) при наличии внешнего часового кварцевого резонатора реализуют аппаратный календарь со счетчиками секунд, минут и часов. Кроме того, они позволяют формировать субсекундные временные интервалы.
  • Датчик температуры имеет линейность характеристики не хуже 2°С и чувствительность около 4,3мВ/°С.
  • Отладочный интерфейс SWD (Serial Wire Debug) представляет собой трехпроводной интерфейс отладки и программирования.

 

Стоит отметить дополнительные особенности линеек.

STM32F050x может работать от батарейного питания, имеет расширенный температурный диапазон -40...105°С (таблица 2) и, помимо базового набора, обладает дополнительными периферийными блоками:

  • один 32-битный таймер общего назначения с функцией захвата и сравнения;
  • I2C поддерживает SMBus/PMBus;
  • USART дополнительно поддерживает протоколы LIN, Smartсard и IrDA;
  • SPI может быть сконфигурирован для работы с аудиопротоколом I2S;
  • 96-битный уникальный номер.

Линейка STM32F051x, по сравнению с STM32F050x, имеет более развитую периферию для работы с аналоговыми сигналами и дополнительные интерфейсы:

  • 12-битный ЦАП;
  • два аналоговых компаратора с программируемым входом и выходом;
  • контроллер сенсорных элементов (Touch Sensor Controller TSC) поддерживает до 18 сенсорных кнопок, реализацию сенсорных полос и колес прокрутки;
  • интерфейс HDMI CEC (Consumer Electronics Control). Данный интерфейс позволяет пользователю объединять до пятнадцати бытовых приборов (телевизоры, DVD-плееры и др.) и управлять ими при помощи одного пульта ДУ. Кроме того, устройства могут обмениваться информацией и управлять друг другом без участия пользователя. Внастоящий момент многие компании используют данный стандарт под своим брендом: Anynet+ (Samsung), Aquos Link (Sharp), BRAVIA Link и BRAVIA Sync (Sony), HDMI-CEC (Hitachi), E-link (AOC), Kuro Link (Pioneer), CE-Link и Regza Link (Toshiba), RIHD (Onkyo), RuncoLink (Runco International), SimpLink (LG), T-Link (ITT), HDAVI Control, EZ-Sync, VIERA Link (Panasonic), EasyLink (Philips), NetCommand for HDMI (Mitsubishi).

Стоит отметить, что корпусное исполнение контроллеров ограничено несколькими вариантами (таблица 2).

Недавно была выпущена новая бюджетная линейка STM32F030x Value Line. Она предназначена специально для малобюджетных приложений. Инженеры STMicroelectronics сумели снизить цену контроллера до рекордной отметки в $0,5, сохранив производительность и базовый набор периферийных блоков.

 

ЛИНЕЙКА БЮДЖЕТНЫХ МИКРОКОНТРОЛЛЕРОВ STM32F030X

Стоимость микроконтроллера STM32F030x начинается от $0,5. Анализ показывает, что компания STMicroelectronics добивается низких цен на линейки Value Line за счет ряда факторов:

  • оптимизация процесса производства в большинстве случаев за счет применения уже существующих отработанных технологий;
  • сокращение периферии- STM32F030x обладает только базовым набором периферии семействаSTM32F0;
  • ограничение типов корпусов: применяются наиболее востребованные и популярные корпуса LQFP 64, LQFP 48, LQFP 32, TSSOP20;
  • оптимизация тестирования готовой продукции за счет более эффективного использования тестового оборудования и распараллеливания тестовых операций;
  • сокращение затрат на подготовку ПО и документации. Использование готовых программных библиотек- библиотека для старших линеек незначительно дополняется с учетом новых контроллеров. Использование готовой документации, созданной для старших линеек (так, например, руководство пользователя для линейки STM32F050/51 используется для линейки STM32F03).

Как было сказано выше, STM32F030x имеет урезанную функциональность по сравнению с другими линейками семейства STM32F0:

  • нет отдельного входа Vbat для внешней батарейки;
  • допустимый уровень питания ограничен 2,4...3,6В;
  • отсутствие блоков ЦАП и компараторов;
  • USART не имеет поддержки протоколов LIN, Smartсard и IrDA;
  • I2C не поддерживает SMBus/PMBus;
  • SPI может не поддерживать аудиопротокол I2S;
  • отсутствует уникальный номер.

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

 

ОБЛАСТИ ПРИМЕНЕНИЯ КОНТРОЛЛЕРОВ STM32F0

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

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

  • Медицинские приборы: анализаторы крови, измерители сахара в крови (глюкометры), инсулиновые помпы, мониторы давления/пульса/крови, измерители холестерина и др.;
  • Промышленная автоматизация: преобразователи интерфейсов, датчики, беспроводные датчики, драйверы и контроллеры исполнительных механизмов и др.;
  • Измерительные приборы: портативные мультиметры, измерители импеданса, счетчики газа, давления, воды, температуры и др.;
  • Бытовая техника: весы, стиральные и посудомоечные машины, микроволновые печи, пульты ДУ и др.;
  • Системы сигнализации и сбора информации: центральные модули, датчики задымления/движения/вскрытия, электронные клапаны водоснабжения, электронные замки, радио-брелоки сигнализации и др.;
  • Развлечения: радиоуправляемые модели, джойстики и манипуляторы, игрушки и др.;
  • Домашние приборы: часы, беспроводные телефоны, звонки и др.

Одной из причин широкого распространения 32-битных контроллеров является их простота освоения и доступность отладочных средств.

 

СРЕДСТВА РАЗРАБОТКИ И ОТЛАДКИ ДЛЯ СЕМЕЙСТВА STM32F0

Инженеры, использующие микроконтроллеры производства компании STMicroelectronics, давно оценили преимущества работы с ними:

  • Широкий выбор программных средств разработки, поддерживающих данные контроллеры.
  • Доступность средств программирования и отладки.
  • Наличие фирменных отладочных и стартовых наборов производства компании STMicroelectronics.
  • Предоставление бесплатных библиотек периферии для каждого семейства. Причем, переход с одного семейства на другое происходит безболезненно из-за преемственности библиотек (одинаковая структура библиотек, схожие программные реализация функции).
  • Огромное количество бесплатных библиотек и программных примеров управления двигателями, реализации блоков питания, работы с коммуникационными интерфейсами, использования периферийных блоков и др.
  • Постоянное дополнение и обновление документации по применению контроллеров, калибровке генераторов, повышению точности измерений и др.

Все эти положения применимы и к STM32F0.

 

Среды разработки программного обеспечения STM32F03. Существует большое количество программных средств, поддерживающих данное семейство (Keil uVision, IAR Embeded WorkBanch, CrossWorks Studio). Каждая из сред позволяет компилировать и отлаживать программы, имеет встроенные симуляторы, что позволяет часть программ писать без наличия «железа».

Средства программирования и отладки. Существуют различные программаторы/отладчики для STM32F0, которые хорошо известны по применению с другими семействами STM32: ULINK, ST-LINK, J-LINK и др. 

Для быстрого ознакомления с STM32F0 компания предлагает стартовый комплект STM32F0308-DISCO(рисунок 6).

 

 Оценочный набор STM32F0308-DISCO

 

Рис. 6. Оценочный набор STM32F0308-DISCO

Главными особенностями данного набора являются:

  • контроллер STM32F051R8T6 с 64кбайт Flash, 8кбайт ОЗУ;
  • реализованный на плате программатор ST-LINK/V2 (с разъемом для программирования других контроллеров);
  • питание от USB либо внешнего источника 5В;
  • четыре светодиода: индикация 3,3В, индикация связи по USB, два пользовательских светодиода;
  • две кнопки: кнопка сброса и пользовательская;
  • штыревой разъем для свободного доступа ко всем входам/выходам;
  • в комплект входит макетная плата.

Для получения полного представления о возможностях семейства предлагается использовать фирменную оценочную плату STM320518-EVAL (рисунок 7).

 

Стартовый набор STM320518-EVAL  

 

Рис. 7. Стартовый набор STM320518-EVAL  

Особенностями комплекта являются:

  • контроллер STM32F051R8T6 с 64кбайт Flash, 8кбайт ОЗУ;
  • возможность питания от различных 5В источников: разъем Power jack для подключения внешнего блока питания, питание от USB, питание от ST-LINK/V2;
  • микрофон и динамик, подключенные к АЦП и ЦАП контроллера;
  • разъем для подключения MicroSD;
  • температурный датчик и EEPROM, подключенные к шине I2C ;
  • реализованы интерфейсы RS-232 и RS-485;
  • реализован приемопередатчик IrDA;
  • инфракрасный диод и фотоприемник для реализации IRP (Infra-Red Protocol);
  • ST-LINK/V2, реализованный на плате;
  • 240x320 TFT-цветной экран, подключенный к SPI-интерфейсу контроллера;
  • четырехосевой джойстик;
  • три кнопки (одна для сигнала сброса);
  • разъем подключения дочерних плат;
  • сенсорный слайдер;
  • светочувствительный резистор;
  • возможность подстройки питания контроллера 2...3,6В;
  • потенциометр;
  • два разъема HDMI;
  • разъем подключения контроллера двигателя.

 

ЗАКЛЮЧЕНИЕ

Семейство STM32F0 построено на базе процессорного ядра ARM Cortex-M0, работающего на частоте до 48 МГц. Контроллеры имеют до 64 кбайт Flash, до 8 кбайт ОЗУ и широкий набор периферии. Новая линейка STM32F03x Value Line в дополнение к высокой производительности имеет сверхнизкую цену от $0,5. Высокая производительность, простота использования и низкая цена делают семейство STM32F0 отличной альтернативой 8-битным контроллерам.

Просмотров: 1244 | Добавил: shok | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: