Аналоги реле Phoenix Contact, Finder, Omron, ABB, Schneider
РадиоЛоцман - Все об электронике

Микроконтроллеры STM32W для беспроводных приложений

STMicroelectronics STM32W108

Андрей Самоделов

В настоящее время многие известные компании, занимающиеся разработкой и производством микроконтроллеров, вышли на рынок с решениями, предназначенными для создания беспроводных сетей на базе однокристальных устройств типа «система на кристалле» (SoC). К таким микроконтроллерам можно отнести CC430F61xx/CC430F513x от Texas Instruments, ATmega128RFA1 от Atmel и STM32W108 от STMicroelectronics. В данной статье будут рассмотрены микроконтроллеры STM32W108 от STMicroelectronics и их возможности по увеличению надежности беспроводных систем.

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Микроконтроллеры STM32W108 типа «система на кристалле» (SoC), созданные на базе 32-разрядного ядра ARM Cortex-M3, имеют встроенную flash-память (объемом 128 кбайт) и ОЗУ (объемом 8 кбайт), а также могут работать на частоте 6, 12 или 24 МГц. Поддерживаемый набор инструкций Thumb-2 обеспечивает превосходную плотность кода. Микросхемы имеют четыре тактовых генератора и систему переключения между ними при пропадании одной из тактовых частот.

STMicroelectronics STM32W108

Радиочастотный модуль работает на частоте 2.4 ГГц при скорости обмена данными до 500 кбит/с и поддерживает стандарт IEEE 802.15.4. Аппаратный MAC интерфейс повышает экономичность и быстродействие системы. Выходная мощность передатчика составляет 3 дБм (в нормальном режиме) и может быть программно увеличена до 7 дБм. При необходимости получения еще большей выходной мощности возможно подключение внешнего ВЧ-усилителя. Чувствительность приемника в нормальном режиме составляет –99 дБм и конфигурируется до –100 дБм (при 1% ошибок приема пакетов, размером 20 байт). Для повышения безопасности передачи данных поддерживается шифрование с помощью аппаратного криптографического ускорителя AES128.

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

  • 16-канальный 12-разрядный АЦП;
  • Контроллер последовательного интерфейса USCI, работающий в режимах UART/SPI /TWI;
  • Три 16-разрядных таймера, 12 каналов сравнения/захвата/ШИМ;
  • 24 конфигурируемых линии ввода/вывода общего назначения с триггерами Шмидта на входе;
  • Гибкий настраиваемый контроллер вложенных векторных прерываний.

Напряжение питания микросхем составляет 2.1…3.6 В при потребляемом токе:

  • 27 мA – режим приема;
  • 31 мA – режим передачи (выходная мощность 3 дБм);
  • В состоянии глубокого сна (ОЗУ и регистры GPIO в режиме хранения) – 400 нА/800 нА с включенным/выключенным системным таймером;

Микросхемы выпускаются в 48-выводном корпусе QFN, размером 7×7 мм.

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

  • Охранные системы и системы сигнализации;
  • Устройства управления зданиями и сооружениями;
  • Интеллектуальные энергосистемы;
  • Беспроводные датчики для сетей ZigBee Pro;
  • Изделия в стандарте RF4CE и системы дистанционного управления;
  • Реализация протокола 6LoWPAN и пользовательских протоколов;
  • Системы домашней автоматики и управления.

Рассмотрим подробнее основные функциональные блоки STM32W108.

Структурная схема микроконтроллера STM32W108 показана на рис. 1.

Структурная схема микроконтроллера STM32W108

Рис. 1. Структурная схема микроконтроллера STM32W108

Радиочастотный (РЧ) модуль

Радиоприемник STM32W108 выполнен по схеме супергетеродинного приемника с низкой промежуточной частотой (ПЧ). Его архитектура оптимизирована для сосуществования с другими устройствами, работающими в диапазоне частот 2.4 ГГц (WIFI и Bluetooth) при низкой потребляемой мощности. Для уменьшения чувствительности к помехам приемник использует различия в прохождении полезного сигнала и помехи. После усиления по высокой частоте (ВЧ) сигнал преобразуется вниз по частоте в смесителе с подавлением побочных каналов приема, фильтруется и переводится в цифровую форму быстродействующим аналого-цифровым преобразователем (АЦП).

Радиопередатчик использует эффективную архитектуру, в которой поток данных непосредственно модулирует частоту перестраиваемого ВЧ-генератора (VCO). Встроенный усилитель мощности (PA) обеспечивает необходимый уровень выходного сигнала. Цифровая подсистема управляет трактом передачи (Tx) и калибровкой выходной мощности. При работе STM32W108 с внешним усилителем мощности (PA) для управления внешним ВЧ коммутатором используются сигналы TX_ACTIVE или nTX_ACTIVE.

Встроенный VCO на частоту 4.8 ГГц и петлевой фильтр минимизируют количество внешних компонентов. Для работы внутренней системы фазовой автоподстройки частоты (PLL) необходим только кварцевый резонатор на частоту 24 МГц.

В режимах приема (Rx) и передачи (Tx) интерфейс доступа к среде (MAC) для хранения пакетов использует внутреннюю RAM. Модуль MAC обеспечивает аппаратную фильтрацию пакетов согласно спецификации IEEE 802.15.4. Он контролирует точное соблюдение временных характеристик протокола, уменьшая ошибки синхронизации, обусловленные программным стеком, и временные затраты на реализацию протокола передачи данных, и обеспечивает синхронизацию для алгоритма IEEE 802.15.4 CSMA-CA.

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

Встроенная память

Flash-память STM32W108 состоит из 128 кбайт основной памяти, 2048 байт системной области и 512 байт для хранения пользовательских констант. Гарантируется до 1000 циклов записи/стирания при времени хранения информации свыше 100 лет.

Программирование flash-памяти можно осуществить либо через интерфейс Serial Wire/JTAG с помощью сервисной утилиты, основанной на коде, размещаемом в RAM, либо посредством начального загрузчика с помощью специального программного обеспечения для загрузки «на лету» или для последовательной загрузки. Простейший последовательный загрузчик программируется как часть FIB при производстве микросхемы.

Область статической памяти с произвольным доступом (RAM) STM32W108 имеет объем 8 кбайт. Хотя ядро ARM® Cortex-M3 обеспечивает побитовый доступ к этой области памяти, стандартная конфигурация модуля защиты памяти (MPU) не позволяет использовать эту функцию.

Область RAM физически подключена к расширенной высокоскоростной шине (AHB System bus) и поэтому доступна как ядру ARM® Cortex-M3, так и отладчику. Ее можно использовать как для хранения кода, так и для хранения данных. Стандартная конфигурация MPU не позволяет выполнять код из RAM, но для специальных целей, таких как программирование основной flash-памяти, MPU можно отключить. Со стороны шины обмена RAM представляет собой 32-разрядную память с нулевым временем выборки данных. В режиме максимальной тактовой частоты CPU для доступа к RAM требуется два такта ожидания. Это обеспечивается аппаратно, прозрачно для пользовательских приложений, и не требует дополнительного конфигурирования.

Некоторые периферийные модули (радио-тракт (802.15.4 MAC), АЦП общего применения, контроллеры последовательного интерфейса (SCI)) оборудованы контроллерами прямого доступа к памяти (DMA), позволяющими им автономно обмениваться данными с RAM. Для SCI DMA является полностью дуплексным, так что для RAM одновременно могут потребоваться операции чтения и записи.

В состав STM32W108 входит арбитр DMA, который обеспечивает порядок доступа как к микропроцессору, так и к периферийным модулям посредством схемы фиксированных приоритетов в соответствии с требованиями к скорости обмена для каждого потребителя.

Для защиты памяти в STM32W108 реализовано два механизма:

  1. С помощью блока защиты памяти (MPU) ядра ARM® Cortex-M3. Блок MPU можно использовать для защиты любой области памяти. Конфигурация MPU обычно управляется программным обеспечением.
     
  2. С помощью модуля защиты RAM, который обеспечивает разбиение RAM на блоки размером 32 байта, каждый из которых можно отметить как защищенный от записи.

В пользовательском режиме попытка записи в защищенный блок RAM приведет к возникновению ошибки шины. В системном режиме запись разрешена в любое время, а чтение разрешено в обоих режимах. Основной целью мелкой сегментации в модуле защиты RAM является сообщение об ошибочных попытках записи в системные области памяти. Защита RAM конфигурируется с использованием группы регистров, которые являются битовым массивом. Каждый бит массива представляет 32-битный блок RAM. При установке бита блок будет защищен от записи.

Механизм защиты RAM также доступен для контроллеров DMA периферийных модулей. При попытке записи в защищенную область RAM через DMA генерируется управляющее прерывание. Для возможности отладки запоминается сбойный адрес и вид периферийного модуля, вызвавшего сбой.

Блок защиты памяти (MPU) управляет правами доступа и характеристиками до восьми адресных областей, каждая из которых может быть разделена на восемь подобластей. При обнаружении несанкционированного доступа к данным MPU сохраняет информацию о типе доступа, адрес обращения и местоположение вызывавшего фрагмента кода. Это упрощает отладку программного обеспечения и увеличивает надежность создаваемых устройств. Детальное описание блока MPU содержится в документе «ARM® Cortex-M3 Technical Reference Manual» (DDI 0337A).

Тактовые генераторы

В состав STM32W108 входят четыре тактовых генератора:

  1. Высокочастотный внутренний RC-генератор (OSCHF), используемый как системный источник тактовой частоты (по умолчанию) при подаче напряжения питания. Номинальная частота после системного сброса составляет 12 МГц. Большинство периферий, исключая радио-модуль, может полнофункционально работать от OSCHF. Поскольку шаг частоты OSCHF составляет 0.5 МГц, а для его калибровки используется ВЧ кварцевый резонатор, точность установки частоты OSCHF составляет ±250 кГц ±40 ppm, что может оказаться недостаточным для нормальной работы UART и АЦП.
     
  2. Высокочастотный кварцевый генератор (OSC24M), для работы которого требуется внешний резонатор на частоту 24 МГц с точностью ±40 ppm. С целью минимизации потребляемой мощности кварцевый генератор имеет программируемую схему смещения. Вся периферия, включая радиомодуль, может полнофункционально работать от OSC24M. При выходе из строя кварцевого резонатора на частоту 24 МГц механизм аппаратной защиты заставляет систему перейти обратно к ВЧ RC-генератору, как к главному источнику тактовой частоты, и в контроллер прерываний поступает немаскируемое прерывание. Для нормальной работы прикладное ПО должно различать источники синхронизации: периферии – OSCHF или OSC24M, поскольку тактовые частоты в каждом случае могут различаться.
     
  3. Низкочастотный внутренний RC-генератор (OSCRC) выполняет функцию внутреннего источника меток времени. Номинальная частота после выхода из системного сброса составляет 10 кГц и калибруется программным обеспечением от ST. После настройки OSCRC на частоту 10 кГц калибруется дробный делитель на N, чтобы получить образцовый тактовый сигнал CLK1K с частотой 1 кГц.
     
  4. Низкочастотный кварцевый генератор (OSC32K) на частоту 32,768 кГц (OSC32K) обеспечивает дополнительные метки времени для внутренних таймеров и разработан для использования с внешним часовым кварцевым резонатором.

Прерывания

В систему прерываний STM32W108 входят:

  • Стандартный контроллер вложенных векторных прерываний (NVIC) ядра ARM® Cortex-M3, который обеспечивает обработку прерываний верхнего уровня;
  • Диспетчер событий (EM), который обеспечивает обработку прерываний второго уровня.

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

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

Контроллер вложенных векторных прерываний (NVIC)

Контроллер вложенных векторных прерываний (NVIC) за счет тесной интеграции с ядром ARM® Cortex-M3 обеспечивает исключительно низкое время ожидания и обработки прерываний и эффективную обработку следующих поступающих прерываний. Кроме того NVIC (для создания цепочки прерываний) содержит информацию о стековых (каскадных) прерываниях.

Контроллер NVIC ядра ARM® Cortex-M3 содержит десять стандартных прерываний, которые соответствуют работе микросхемы CPU и операциям управления. Кроме десяти стандартных прерываний имеется 17 индивидуальных векторизованных периферийных прерываний, специфичных для STM32W108.

Модуль NVIC задает список исключительных ситуаций (исключений). В этот список входят как прерывания от периферии, так и более специализированные события, такие как ошибки и сброс CPU. В NVIC ядра ARM® Cortex-M3 событие сброса CPU рассматривается как исключение с наивысшим приоритетом.

Положение каждой исключительной ситуации является важным, поскольку оно задает аппаратный приоритет исключений и непосредственно преобразуется в 32-разрядный адрес, который загружается в программный счетчик. Исключение с приоритетом от 0 (указатель стека) по 15 (SysTick) являются частью стандартного NVIC-ядра ARM® Cortex-M3, в то время как исключения с приоритетом от 16 (Таймер 1) по 32 (Отладчик) являются прерываниями от периферии, специфичными для STM32W108.

Приоритет большинства прерываний можно задавать программным путем. Исключения Reset, NMI и Hard Fault в указанном порядке всегда имеют наивысший приоритет и не конфигурируются программно. Для всех других исключений можно назначить пятиразрядный номер приоритета, при этом низшему значению соответствует высший приоритет. Если некоторые имеют одинаковый программно-сконфигурированный приоритет, то NVIC использует приоритеты, заданные аппаратно и совпадающие с положением исключения в таблице исключений.

Например, если одновременно выдаются запросы от IRQA и IRQB, и они имеют одинаковый, заданный программно приоритет, то NVIC обрабатывает IRQA первым, поскольку он имеет более высокий аппаратный приоритет (28) чем IRQB (29).

Прерываниями верхнего уровня управляют пять регистров NVIC ядра ARM® Cortex-M3: INT_CFGSET, INT_CFGCLR, INT_PENDSET, INT_PENDCLR и INT_ACTIVE. Запись «0» в любой бит любого из этих пяти регистров не приводит ни к каким действиям. Запись «1» в бит INT_CFGSET разрешает, а запись «1» в бит INT_CFGCLR запрещает прерывание верхнего уровня. Запись «1» в бит INT_PENDSET запускает, а запись «1» в бит INT_PENDCLR очищает прерывание верхнего уровня. INT_ACTIVE не может быть модифицирован и используется для указания активного прерывания.

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

За подробной информацией об исключениях NVIC и Cortex-M3 можно обратиться к документам «ARM® Cortex-M3 Technical Reference Manual» и «ARM ARMv7-M Architecture Reference Manual».

Немаскируемые прерывания (NMI)

Немаскируемые прерывания представляют собой особый случай. Несмотря на то, что такое прерывание является одним из десяти стандартных прерываний NVIC ядра ARM® Cortex-M3, оно обрабатывается диспетчером событий подобно периферийному прерыванию. Немаскируемое прерывание имеет два источника прерываний второго уровня:

  1. Выход из строя кварцевого резонатора на частоту 24 МГц. Если главный тактовый генератор STM32W108 работает от внешнего кварцевого резонатора на частоту 24 МГц, и резонатор выходит из строя, STM32W108 обнаруживает такой сбой и автоматически переключается на внутренний RC-генератор с частотой 12 МГц. При обнаружении этого сбоя и переключения генераторов STM32W108 генерирует прерывание второго уровня, которое генерирует немаскируемое прерывание.
     
  2. Состояние ожидания сторожевого таймера «watchdog». Если сторожевой таймер STM32W108 активен, и счетчик сторожевого таймера не сбрасывается за время, превышающее 1,792 с, то возникает прерывание второго уровня, которое генерирует немаскируемое прерывание.

Внешние прерывания

STM32W108 может использовать до четырех внешних источников прерываний (IRQA, IRQB, IRQC и IRQD), каждый из которых имеет собственный вектор прерывания верхнего уровня в NVIC. Поскольку источники этих прерываний присоединены к стандартным выводам GPIO, выводы внешних прерываний могут одновременно использоваться и периферийными устройствами или как выходы. Режим аналогового ввода является единственной конфигурацией GPIO, которая не совместима с использованием вывода в качестве источника внешнего прерывания.

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

0 – запрещено;
1 – по нарастающему фронту;
2 – по спадающему фронту;
3 – по обоим фронтам;
4 – по присутствию высокого статического уровня;
5 – по присутствию низкого статического уровня.

Минимальное время, необходимое для захвата немаскируемого внешнего прерывания, как в режиме срабатывания по фронту, так и в режиме срабатывания по статическому уровню, составляет 80 нс. При включенном цифровом фильтре минимальное время реакции увеличивается до 450 нс.

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

Два из четырех внешних прерываний, IRQA и IRQB, имеют фиксированную привязку к выводам микроконтроллера. Два другие внешние прерывания, IRQC и IRQD, могут использовать любые выводы GPIO, которые задаются в специальных регистрах.

Диспетчер событий

В то время как стандартный контроллер вложенных векторных прерываний ядра ARM® Cortex-M3 обеспечивает обработку прерываний в CPU, диспетчер событий обеспечивает обработку прерываний второго уровня. В диспетчер событий поступает большое количество разнообразных аппаратных прерываний от периферии, которые затем преобразуются в небольшую группу прерываний в NVIC. Все прерывания второго уровня от периферийных устройств объединяются по «ИЛИ» в одно прерывание в NVIC.

Периферийные модули

Контроллер последовательного интерфейса SCI

Встроенный контроллер последовательного интерфейса имеет два канала обмена данными SC1 и SC2. Канал SC1 можно сконфигурировать для операций SPI (ведущий или ведомый), TWI (только ведущий) или UART, а канал SC2 – для операций SPI или TWI.

Аналого-цифровой преобразователь (АЦП)

АЦП STM32W108 является дельта-сигма преобразователем первого порядка со следующими возможностями:

  • Разрешение до 12 бит;
  • Время преобразования 5.33 мкс (188 кГц);
  • Дифференциальное и асимметричное преобразование от шести внешних и четырех внутренних источников;
  • Два диапазона входного напряжения (в дифференциальном режиме): от –VREF до +VREF и от –VDD_PADS до +VDD_PADS;
  • Выбор внутреннего или внешнего источника опорного напряжения VREF: внутренний VREF (может быть доступен для внешней схемы);
  • Цифровая подстройка напряжения смещения и коэффициента усиления;
  • Специализированный канал DMA с режимами однократного или непрерывного преобразования и записью результатов измерения непосредственно в RAM, минуя CPU.

Поскольку модуль АЦП поддерживает работу, как в несимметричном, так и в дифференциальном режиме, его входы всегда работают в дифференциальном режиме. Несимметричное преобразование выполняется при подключении одного из дифференциальных входов к источнику с напряжением VREF/2, в то время как полностью дифференциальные операции используют оба входа.

Таймеры

В дополнение к двум таймерам общего назначения STM32W108 содержит: сторожевой таймер для защиты программного обеспечения от сбоев и остановки CPU; 32-разрядный таймер режима ожидания, используемый для хранения системного времени и вывода микропроцессора из спящего режима через заданный промежуток времени, и стандартный таймер системных событий ARM® в контроллере прерываний.

Источники питания

STM32W108 содержит три системы источников питания. Всегда включенный высоковольтный источник питания обеспечивает работу GPIO и функционирование критических блоков микросхемы. Остальные блоки микросхемы питаются от низковольтных стабилизаторов. Низковольтные источники питания можно отключить при переходе в спящий режим, что дополнительно уменьшает энергопотребление. Внутренние стабилизаторы обеспечивают получение напряжений питания 1,25 В и 1,8 В из нерегулируемого напряжения питания микросхемы. Выход стабилизатора напряжения 1,8 В имеет внешний фильтр и может использоваться внешними аналоговыми блоками, RAM и flash-памятью. Выход стабилизатора напряжения 1,25 В имеет внешний фильтр и используется для питания ядра микропроцессора.

Режимы пониженного энергопотребления

STM32W108 имеет сверхнизкое энергопотребление в режиме глубокого сна с возможностью выбора способа тактирования. Таймер выхода из состояния бездействия можно тактировать или от внешнего кварцевого резонатора на частоту 32,768 кГц, или от сигнала частотой 1 кГц, полученного делением частоты 10 кГц от внутреннего RC-генератора. Для режима с наименьшим энергопотреблением все тактовые генераторы можно выключить, т.к. микросхема будет пробуждаться только внешними событиями с выводов GPIO. STM32W108 обладает быстрым временем пробуждения (типичное значение - 100 мкс) из состояния глубокого сна до момента выполнения первой инструкции ARM® Cortex-M3.

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

Для создания приложений на базе STM32W108 можно использовать широкий набор сред разработки и отладки, а также операционных систем реального времени (OS и RTOS), предназначенных для работы с ARM-микроконтроллерами, и предлагаемых многими ведущими производителями программного и аппаратного обеспечения. Для создания прикладных программ для STM32W108 можно использовать интегрированную среду разработки Keil RealView Microcontroller Development Kit (MDK) совместно с семейством USB-JTAG адаптеров Keil ULINK или IAR Embedded Workbench for ARM совместно с адаптером IAR J-Trace for Cortex-M3.

Отличительной особенностью STM32W108 является наличие аппаратной поддержки модуля трассировки пакетов, который обеспечивает многоуровневую отладку на уровне пакетов. Этот блок является необходимым компонентом для интегрированной среды разработки InSight Desktop компании Ember и при использовании специального адаптера InSight компании Ember обеспечивает возможность расширенной сетевой отладки.

Стандартная библиотека для периферийных устройств

Стандартная библиотека для периферийных устройств (Standard Peripheral Library) для микроконтроллеров STM32 является полным пакетом, содержащим драйвера устройств для всех стандартных периферийных блоков. Каждый драйвер устройства включает в свой состав набор функций, полностью обеспечивающий работу периферийного блока. Исходные коды, созданные на языке C, подробно документированы и полностью протестированы.

Библиотека обеспечивает работу с полным набором стандартных периферийных устройств (устройство контроля, часы реального времени, таймеры и т.п.). Работа с модулями USB, Ethernet и радио-модулем не включена в Standard Peripheral Library и поддерживается программным обеспечением сторонних производителей или специализированными дополнительными библиотеками от ST.

Библиотека создана, чтобы облегчить разработку приложений для микроконтроллеров STM32. С помощью Standard Peripheral Library любое периферийное устройство можно использовать для приложения без необходимости детального изучения его функционирования. Хотя для работы с библиотекой требуются элементарные знания программирования на языке C, разработчики будут экономить время, которое иначе было бы потрачено на кодирование общих функций низкого уровня, что позволит уменьшить стоимость разработки и интеграции создаваемых приложений.

Библиотека содержит полные исходные тексты на языке C, которые совместимы со всеми средами разработки для микроконтроллеров на базе ядра ARMTM. Она предлагает последовательность в наименовании и доступе к переменным, сокращая время на разработку нового кода и облегчая обслуживание старого кода.

Особенности и преимущества Standard Peripheral Library

  • Имеет законченную библиотеку для создания прикладных программ (firmware), написанную на языке C, с входящими в комплект полными исходными текстами и файлами заголовков;
  • Имеет драйверы и примеры для каждого периферийного устройства;
  • Независима от используемой среды разработки;
  • Изначально создана для работы с ознакомительными платами STMicroelectronics, но может быть легко приспособлена для работы с любым другим аппаратным обеспечением;
  • Шаблоны проектов имеются для всех поддерживаемых сред разработки;
  • Полностью документирована в руководстве пользователя;
  • Имеет дополнительные тренировочные слайды и руководства по быстрому старту;
  • Полностью совместима со стандартом ARM® CortexTM Microcontroller Software Interface Standard (CMSIS).

Библиотека самотестирования Class B для микроконтроллеров STM32

С октября 2007 года бытовые приборы необходимо сертифицировать на соответствие стандарту EN/IEC60335-1. Не следует позволять этому недавнему требованию к свидетельству безопасности замедлять разработку приложений. Модули самодиагностики для STM32 упрощают сертификацию бытовой техники на соответствие нормам EN/IEC60335-1 Class B (безопасность функционирования), предлагая полный набор функций самотестирования, которые готовы к интеграции в приложение и сертифицированы VDE – всемирным институтом тестирования программного обеспечения.

Библиотека для STM32 сертифицирована VDE 12 октября 2007 года. Микроконтроллеры ST одними из первых 32-разрядных микроконтроллеров прошли сертификацию. Таким образом, электронные устройства на базе микроконтроллеров ST также могут быть легко сертифицированы.

Библиотека поддерживает тестирование следующих компонентов микроконтроллера:

  • Регистры CPU;
  • Программный счетчик CPU;
  • Вызов и обработка прерываний;
  • Тактовый генератор;
  • ПЗУ и ОЗУ;
  • Внутренняя адресация;
  • Внутреннее прохождение данных;
  • Внешняя адресация;
  • Внешний обмен данными;
  • Временные интервалы;
  • Периферия ввода/вывода;
  • Аналоговые АЦП и ЦАП;
  • Аналоговый мультиплексор.

Отладочные интерфейсы

Микроконтроллер STM32W108 имеет в своем составе стандартные интерфейсы Serial Wire и JTAG (SWJ). Интерфейс SWJ является первичным интерфейсом программирования и отладки для микроконтроллеров STM32W108. Он также обеспечивает доступ средствам отладки к внутренним шинам STM32W108, позволяет осуществлять независимый доступ к памяти и регистрам, а также осуществлять пошаговую отладку CPU. Поэтому, любые разработки, основанные на STM32W108, должны обеспечивать доступность сигналов SWJ.

Интерфейс Serial Wire является двунаправленным двухпроводным стандартным протоколом для микроконтроллеров семейства ARM®, созданным для замены JTAG-интерфейса, и обеспечивает все стандартные функции отладки и тестирования. Кроме того, две сигнальных линии Serial Wire (SWDIO и SWCLK) наложены на две сигнальных линии JTAG (JTMS и JTCK).

Это делает разработку компактной и позволяет легко переключаться между отладчиками с интерфейсами Serial Wire JTAG без изменения подключения выводов.

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

Порт отладочного доступа ARM® CoreSight Debug Access Port (DAP) включает в свой состав Serial Wire- и JTAG-интерфейсы (SWJ). DAP состоит из двух первичных компонентов: порта отладки (SWJ-DP) и порта доступа (AHB-AP). SWJ-DP обеспечивает внешний доступ для отладки, в то время как AHB-AP обеспечивает доступ к внутренним шинам. Внешние отладочные средства присоединяются к отладочным выводам STM32W108, соединенным с модулем SWJ-DP. Затем SWJ-DP обеспечивает обмен данными с AHB-AP. В конечном счете, модуль AHB-AP обменивается данными с внутренними шинами.

Стартовый набор ZigBee® STM32W108

Для ускорения разработки и отладки беспроводных приложений на базе микроконтроллера STM32W108 компания STMicroelectronics в январе-феврале 2010 года планирует начать выпуска набора STM32W108 ZigBee® Starter Kit.

Стартовый набор представляет собой инструментарий, который можно использовать, чтобы оценить возможности микросхемы STM32W108 для радиочастотного (РЧ) беспроводного обмена данными, основанном на стандарте IEEE 802.15.4-2006 и протоколе ZigBee.

Набор обеспечивает всем необходимым для разработки:

  • Оценочного РЧ-приложения, которое имеет целью выполнить РЧ-тестирование, обмен данными и разрабатывать программное обеспечение ZigBee.
  • РЧ-сетевого приложения, которое имеет целью ознакомить с более сложным ZigBee приложением.

Библиотека ST ZigBee Pro

Компания STMicroelectronics предоставляет своим клиентам библиотеку ST ZigBee Pro, которая совместно с библиотекой для стандартной периферии позволяет реализовывать надежные и экономичные сети на базе микроконтроллеров STM32W108. Примеры использования библиотеки ST ZigBee Pro показаны на рис. 2.

Использование библиотеки ST ZigBee Pro

Рис. 2. Использование библиотеки ST ZigBee Pro

В зависимости от сложности приложения используются соответствующие модули библиотеки. Стек ZigBee PRO занимает на 20% меньше места, чем предыдущее поколение программных продуктов.

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

Заключение

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

Литература

  1. High-performance, IEEE 802.15.4 wireless system-on-chip http://www.st.com/stonline/products/literature/ds/16252/stm32w108cb.pdf
  2. STM32W for RF applications ESC Boston September 2009 http://www.st.com/mcu/files/mcu/1254219171.ppt
  3. STM32W108 ZigBee® starter kit (beta version) http://www.st.com/stonline/products/literature/um/16222.pdf
  4. STM32 Standard Peripheral Library http://www.st.com/mcu/inchtml.php?fdir=pages&fnam=stm32lib
  5. STM32 (CORTEX M3) - Self-test routines Class B norm certification http://www.st.com/mcu/inchtml-pages-stm32_classb.html.
23 предложений от 17 поставщиков
32-бит ARM Cortex M3, 24МГц, 128кб Flash, Ember Zig Bee Stack, низкое потребление, ускоритель кодирования, генератор случайных чисел, PTI, проводные интерфейсы,...
STM32W108CBU61
STMicroelectronics
136 ₽
AiPCBA
Весь мир
STM32W108HBU63
STMicroelectronics
190 ₽
LifeElectronics
Россия
STM32W108CBU6
STMicroelectronics
по запросу
МосЧип
Россия
STM32W108B-KEXT
STMicroelectronics
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя