Поиск по сайту: |
|
По базе: |
|
Главная страница > Статьи > Микроконтроллеры |
|
|||||||||
Новые микроконтроллеры STM32W для беспроводных приложенийВ настоящее время многие известные компании, занимающиеся разработкой и производством микроконтроллеров, вышли на рынок с решениями, предназначенными для создания беспроводных сетей на базе однокристальных устройств типа «система на кристалле» (SoC). К таким микроконтроллерам можно отнести CC430F61xx/CC430F513x от Микроконтроллеры STM32W108 типа «система на кристалле» (SoC), созданные на базе 32-разрядного ядра ARM Cortex-M3, имеют встроенную flash-память (объемом 128 кбайт) и ОЗУ (объемом 8 кбайт), а также могут работать на частоте 6, 12 или 24 МГц. Поддерживаемый набор инструкций Thumb-2 обеспечивает превосходную плотность кода. Микросхемы имеют четыре тактовых генератора и систему переключения между ними при пропадании одной из тактовых частот. Радиочастотный модуль работает на частоте 2,4 ГГц при скорости обмена данными до 500 кбит/с и поддерживает стандарт IEEE 802.15.4. Аппаратный MAC интерфейс повышает экономичность и быстродействие системы. Выходная мощность передатчика составляет 3 дБм (в нормальном режиме) и может быть программно увеличена до 7 дБм. При необходимости получения еще большей выходной мощности возможно подключение внешнего ВЧ-усилителя. Чувствительность приемника в нормальном режиме составляет -99 дБм и конфигурируется до -100 дБм (при 1% ошибок приема пакетов, размером 20 байт). Для повышения безопасности передачи данных поддерживается шифрование с помощью аппаратного криптографического ускорителя AES128. Набор периферийных модулей STM32W108 включает в себя:
Напряжение питания микросхем составляет 2,1...3,6 В при потребляемом токе:
Микросхемы выпускаются в 48-выводном корпусе QFN, размером 7х7 мм. Основными областями применения STM32W108 являются:
Рассмотрим подробнее основные функциональные блоки STM32W108. Структурная схема микроконтроллера STM32W108 показана на рис. 1.
Радиочастотный (РЧ) модульРадиоприемник 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 реализовано два механизма:
В пользовательском режиме попытка записи в защищенный блок RAM приведет к возникновению ошибки шины. В системном режиме запись разрешена в любое время, а чтение разрешено в обоих режимах. Основной целью мелкой сегментации в модуле защиты RAM является сообщение об ошибочных попытках записи в системные области памяти. Защита RAM конфигурируется с использованием группы регистров, которые являются битовым массивом. Каждый бит массива представляет 32-битный блок RAM. При установке бита блок будет защищен от записи. Механизм защиты RAM также доступен для контроллеров DMA периферийных модулей. При попытке записи в защищенную область RAM через DMA генерируется управляющее прерывание. Для возможности отладки запоминается сбойный адрес и вид периферийного модуля, вызвавшего сбой. Блок защиты памяти (MPU) управляет правами доступа и характеристиками до восьми адресных областей, каждая из которых может быть разделена на восемь подобластей. При обнаружении несанкционированного доступа к данным MPU сохраняет информацию о типе доступа, адрес обращения и местоположение вызывавшего фрагмента кода. Это упрощает отладку программного обеспечения и увеличивает надежность создаваемых устройств. Детальное описание блока MPU содержится в документе «ARM® Cortex-M3 Technical Reference Manual» (DDI 0337A). Тактовые генераторы В состав STM32W108 входят четыре тактовых генератора:
ПрерыванияВ систему прерываний STM32W108 входят:
Модули 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, оно обрабатывается диспетчером событий подобно периферийному прерыванию. Немаскируемое прерывание имеет два источника прерываний второго уровня:
Внешние прерывания STM32W108 может использовать до четырех внешних источников прерываний (IRQA, IRQB, IRQC и IRQD), каждый из которых имеет собственный вектор прерывания верхнего уровня в NVIC. Поскольку источники этих прерываний присоединены к стандартным выводам GPIO, выводы внешних прерываний могут одновременно использоваться и периферийными устройствами или как выходы. Режим аналогового ввода является единственной конфигурацией GPIO, которая не совместима с использованием вывода в качестве источника внешнего прерывания. Внешние прерывания имеют индивидуальные настройки срабатывания и фильтрации, устанавливаемые с использованием битовых полей регистров управления. Имеются следующие условия генерации внешних прерываний:
Минимальное время, необходимое для захвата немаскируемого внешнего прерывания, как в режиме срабатывания по фронту, так и в режиме срабатывания по статическому уровню, составляет 80 нс. При включенном цифровом фильтре минимальное время реакции увеличивается до 450 нс. Регистр флагов прерываний второго уровня указывает на ожидающие прерывания. Если прерывание обрабатывается в режиме срабатывания по статическому уровню, флаг прерывания устанавливается немедленно после очистки, если вход прерывания все еще находится в активном состоянии. Два из четырех внешних прерываний, IRQA и IRQB, имеют фиксированную привязку к выводам микроконтроллера. Два другие внешние прерывания, IRQC и IRQD, могут использовать любые выводы GPIO, которые задаются в специальных регистрах. Диспетчер событий В то время как стандартный контроллер вложенных векторных прерываний ядра ARM® Cortex-M3 обеспечивает обработку прерываний в CPU, диспетчер событий обеспечивает обработку прерываний второго уровня. В диспетчер событий поступает большое количество разнообразных аппаратных прерываний от периферии, которые затем преобразуются в небольшую группу прерываний в NVIC. Все прерывания второго уровня от периферийных устройств объединяются по «ИЛИ» в одно прерывание в NVIC. Периферийные модулиКонтроллер последовательного интерфейса SCI Встроенный контроллер последовательного интерфейса имеет два канала обмена данными SC1 и SC2. Канал SC1 можно сконфигурировать для операций SPI (ведущий или ведомый), TWI (только ведущий) или UART, а канал SC2 - для операций SPI или TWI. Аналого-цифровой преобразователь (АЦП) АЦП STM32W108 является дельта-сигма преобразователем первого порядка со следующими возможностями:
Поскольку модуль АЦП поддерживает работу, как в несимметричном, так и в дифференциальном режиме, его входы всегда работают в дифференциальном режиме. Несимметричное преобразование выполняется при подключении одного из дифференциальных входов к источнику с напряжением 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
Библиотека самотестирования Class B для микроконтроллеров STM32С октября 2007 года бытовые приборы необходимо сертифицировать на соответствие стандарту EN/IEC60335-1. Не следует позволять этому недавнему требованию к свидетельству безопасности замедлять разработку приложений. Модули самодиагностики для STM32 упрощают сертификацию бытовой техники на соответствие нормам EN/IEC60335-1 Class B (безопасность функционирования), предлагая полный набор функций самотестирования, которые готовы к интеграции в приложение и сертифицированы VDE - всемирным институтом тестирования программного обеспечения. Библиотека для STM32 сертифицирована VDE 12 октября 2007 года. Микроконтроллеры ST одними из первых 32-разрядных микроконтроллеров прошли сертификацию. Таким образом, электронные устройства на базе микроконтроллеров ST также могут быть легко сертифицированы. Библиотека поддерживает тестирование следующих компонентов микроконтроллера:
Отладочные интерфейсыМикроконтроллер 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. Набор обеспечивает всем необходимым для разработки:
Библиотека ST ZigBee ProКомпания STMicroelectronics предоставляет своим клиентам библиотеку ST ZigBee Pro, которая совместно с библиотекой для стандартной периферии позволяет реализовывать надежные и экономичные сети на базе микроконтроллеров STM32W108. Примеры использования библиотеки ST ZigBee Pro показаны на рис. 2.
В зависимости от сложности приложения используются соответствующие модули библиотеки. Стек ZigBee PRO занимает на 20% меньше места, чем предыдущее поколение программных продуктов. Код библиотеки ST ZigBee Pro, так же как и код библиотеки стандартной периферии, выполняются в системном режиме ядра, тогда как пользовательский код, реализующий алгоритмы сбора и обработки данных, работает в режиме приложения. Это позволяет четко разграничить приоритеты выполнения задач и обеспечить более быстрое реагирование на события, происходящие на аппаратном уровне и связанные с информацией, проходящей через канал обмена данными с внешней средой. ЗаключениеВ заключение хочется отметить, что с выпуском микроконтроллеров STM32W108 пользователи получили платформу, обладающую повышенным уровнем надежности за счет резервирования тактовых генераторов, улучшенной схемы обработки ошибочных ситуаций на уровне ядра, наличия системного и пользовательского режима выполнения кода и имеющую низкий уровень энергопотребления в спящем режиме. Все это позволяет рекомендовать микроконтроллеры STM32W108 для использования в беспроводных приложениях, требующих высокого уровня надежности, в том числе тех из них, которые используют батарейное питание. Литература
Андрей Самоделов Источник: Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|