Выпуск #4/2014
М.Миенкина, А.Головлев
Kinetis M. Микроконтроллеры для измерительных устройств
Kinetis M. Микроконтроллеры для измерительных устройств
Просмотры: 3293
Задача производителей микроконтроллеров для измерительных систем – создание устройств, которые не только соответствуют базовым техническим требованиям (точность измерений, производительность вычислений, энергопотребление), но и обеспечивают достаточную гибкость и возможность разделения метрологически значимого кода и остальной программы.
В октябре 2013 г. компания Freescale выпустила новую линейку микроконтроллеров на ядре ARM Cortex-M0+, получившую название Kinetis M. В дополнение к высокоточной аналоговой периферии, таймерам, внешним интерфейсам и часам реального времени с температурной компенсацией микроконтроллеры оснащены специализированным аппаратным модулем для разграничения доступа к памяти, периферии и дискретным выводам микроконтроллера (рис.1).
Основной блок Kinetis M – четыре независимых 24-разрядных сигма-дельта АЦП со встроенными программируемыми усилителями. Скорость преобразования АЦП – до 100 000 выборок в секунду. Сигма-дельта-модулятор второго порядка позволяет измерять биполярные аналоговые сигналы с амплитудой от нескольких микровольт до одного вольта синхронно по всем каналам либо с заданной фазовой задержкой.
Среди аналоговой периферии Kinetis M нужно отметить два высокоскоростных компаратора (HSCMP) с программным гистерезисом 5–30 мВ, 16-разрядный АЦП последовательного приближения с 12 мультиплексированными каналами и высокоточный источник опорного напряжения (ИОН) 1,2 В с температурным коэффициентом стабильности 33 ppm/°C. Благодаря буферизации встроенным операционным усилителем, ИОН может применяться не только с внутренними аналоговыми блоками микроконтроллера, но и с внешними аналоговыми компонентами. Если характеристики встроенного ИОН не удовлетворяют требованиям разработчика, вся аналоговая периферия микроконтроллера легко перенастраивается на работу с внешним ИОН.
Разрабатывая Kinetis M, компания Freescale поставила перед собой задачу создать микроконтроллер, идеально подходящий для измерительных приложений. Для этого в структуру Kinetis M кроме стандартной периферии семейства микроконтроллеров Kinetis были добавлены модули, характерные для других семейств – например, коммутатор ресурсов (XBAR) и четырехканальный таймер (Quad Timer), которые традиционно встраивались в цифровые сигнальные контроллеры. Эти модули позволяют разработчикам более гибко работать с встроенной периферией (рис.2).
Примером применения XBAR в алгоритме работы трехфазного счeтчика может служить настройка запуска измерения напряжений (три канала 16-разрядного АЦП) синхронно с началом измерения величины тока (три канала 24-разрядного АЦП). Другие возможные варианты его применения – автоматическое измерение частоты (периода) аналогового сигнала, автоматическое определение скорости обмена данными по интерфейсам RS-485 и RS-232, модулирование сигнала для передачи данных по инфракрасному каналу, подключение внешних сигма-дельта-модуляторов, генерация высокостабильных калибровочных импульсов.
Модуль тактовых генераторов включает в себя блоки автоматической подстройки частоты (FLL), фазовой автоподстройки частоты (PLL), низкочастотный (OSC32K) и высокочастотный (OSCMHZ) генераторы и опорные тактовые генераторы 32 кГц и 4/2 МГц.
Также нужно обратить внимание на модули, повышающие надежность работы устройства – сторожевой таймер, соответствующий стандартам безопасности для бытовых устройств (IEC 60730), ускоритель расчета циклического избыточного кода (CRC), генератор случайных чисел (RNGA) и детектор неавторизированного доступа (Tamper).
Микроконтроллеры Kinetis M доступны в 44-выводных корпусах LGA, 64- или 100-выводных LQFP и с объемом флеш-памяти 64 или 128 Кбайт. Устройства в корпусах LQFP имеют встроенный контроллер ЖК-индикатора, поддерживающий до 160 или 288 сегментов соответственно. Напряжение питания микроконтроллеров – 1,71–3,6 В, диапазон рабочих температур – от –40 до 85°С (см. таблицу).
В рекомендациях по созданию программного обеспечения для средства измерений Международной организации законодательной метрологии (МОЗМ) и Европейского сотрудничества в области законодательной метрологии (WELMEC) содержатся правила разделения метрологически значимой части программы и остального кода; аналогичные рекомендации содержатся в ГОСТ Р 8.654-2009. Если разработка велась в соответствии с этими правилами, после прохождения сертификации программного обеспечения разработчики могут вносить в него изменения, не затрагивающие метрологически значимую часть кода. При этом повторная сертификация программного обеспечения не требуется. При разработке Kinetis M Freescale учла эти рекомендации: в новый микроконтроллер был добавлен специализированный модуль для разграничения доступа к ресурсам (рис.3).
Платформа Kinetis M включает ядро ARM Cortex-M0+ и контроллер прямого доступа к памяти (DMA). Пересылка данных между ними и другими периферийными устройствами возможна в пользовательском и привилегированном режимах. Специализированный модуль управления (MCM) в зависимости от идентификатора процесса (PID) добавляет к транзакциям дополнительный атрибут доступа – "защищенный" или "не защищенный". Так реализуется аппаратная система разграничения доступа с тремя типами транзакций: привилегированный защищенный, пользовательский защищенный и пользовательский не защищенный. В счетчиках все метрологически значимые транзакции выполняются только в привилегированном режиме, а остальные – в пользовательском.
Доступ со стороны ядра и контроллера DMA к модулю защиты памяти (MPU), мосту периферии (AIPS) и модулю портов ввода/вывода (GPIO) может быть также ограничен настройками. При включенном режиме разграничения доступа и правильной настройке атрибутов доступа микроконтроллер отклоняет любые попытки периферийных модулей воздействовать на метрологически значимые компоненты.
Для микроконтроллеров Kinetis M компания Freescale предлагает оценочную плату TWR-KM34Z50M. Для удобства разработчиков на плате размещен отладочный интерфейс OpenSDA, поддерживающий отладку и программирование по шине SWD, и виртуальный последовательный порт. Совместно с драйвером FreeMASTER и приложением для ПК последовательный порт позволяет отслеживать любые статические и динамические данные программы микроконтроллера. На плате также присутствуют 160-сегментный ЖКИ, трехосевой акселерометр MMA8491, семиканальный программируемый генератор синусоидальных сигналов с интерфейсом USB, датчик температуры (терморезистор), IRDA-приемопередатчик, несколько светодиодов и кнопок. Плата может применяться как отдельно, так и совместно с другими Tower-совместимыми оценочными платами (рис.4).
Для быстрого начала разработки электросчетчика Freescale предлагает образцовые одно-, двух- и трехфазные счетчики с необходимым метрологическим ПО. Однофазный счетчик (рис.5) соответствует классам точности С для активной и 0,5% точности для реактивной энергии. Диапазон измеряемого тока – до 120 А с возможностью измерения энергии в четырех квадрантах. Измерительный элемент счетчика – токовый шунт. Счетчик успешно прошел тестирование на ЭМС по стандартам EN 61000-4-2, EN 61000-4-4, EN 61000-4-5, EN 61000-4-6, EN 61000-4-8 и EN 61000-4-11.
Разработка ПО для микроконтроллеров Kinetis M может проводиться в любой среде, поддерживающей ядро ARM Cortex-M0+. Одна из популярных сред разработки – IAR Embedded Workbench for ARM версии 6.7. Версия Kickstarter предоставляется бесплатно и позволяет создавать проекты объемом не более 16 КБайт. Более серьезные разработки можно вести в специальной версии среды CodeWarrior IDE for MCU’s 10.5 с ограничением объема кода до 64 Кбайт. Эта среда построена на базе Eclipse и содержит все необходимые инструменты – компилятор С, ассемблер, линкер и отладчик (рис.6).
Неотъемлемая часть среды CodeWarrior – инструмент Processor Expert. Эта программная надстройка значительно облегчает начало работы с проектом. Processor Expert позволяет настраивать периферию микроконтроллера, подключать необходимые библиотеки и генерировать компактный программный код. Благодаря удобному графическому интерфейсу и возможности тонкой настройки, Processor Expert применяют не только новички, но и опытные программисты. Конечно, код, полученный с помощью Processor Expert, будет менее эффективным, чем код, написанный программистом с большим опытом работы. Но если требуется быстро начать разработку, не углубляясь в выяснение назначения регистров, Processor Expert – это именно то, что нужно.
Тем, кому для начала работы достаточно "стартового" кода, инициализации таблицы векторов прерываний, файла настройки линкера и драйверов периферии, компания Freescale предлагает набор примеров Kinetis M bare-metal drivers and software examples, включающий более 50 образцов программ и драйверы периферийных модулей. В примерах показана работа со всей доступной периферией микроконтроллера (32 модуля) в различных режимах. Текущая версия пакета примеров совместима со средами разработки CodeWarrior IDE for MCU’s 10.5, IAR Embedded Workbench for ARM 6.70 и Rowley CrossWorks for ARM 2.3 development tools. Драйверы периферийных устройств оптимизированы для быстрого выполнения и доступны с исходными кодами. В пакет примеров также входит утилита для быстрого создания новых проектов.
* * *
Микроконтроллер Kinetis M – сбалансированное решение для построения измерительного оборудования. Благодаря хорошей аналоговой периферии, популярному ядру ARM Cortex-M, большому количеству примеров и образцовых дизайнов Kinetis M станет оптимальным выбором для создания современных измерительных устройств. ⦁
Основной блок Kinetis M – четыре независимых 24-разрядных сигма-дельта АЦП со встроенными программируемыми усилителями. Скорость преобразования АЦП – до 100 000 выборок в секунду. Сигма-дельта-модулятор второго порядка позволяет измерять биполярные аналоговые сигналы с амплитудой от нескольких микровольт до одного вольта синхронно по всем каналам либо с заданной фазовой задержкой.
Среди аналоговой периферии Kinetis M нужно отметить два высокоскоростных компаратора (HSCMP) с программным гистерезисом 5–30 мВ, 16-разрядный АЦП последовательного приближения с 12 мультиплексированными каналами и высокоточный источник опорного напряжения (ИОН) 1,2 В с температурным коэффициентом стабильности 33 ppm/°C. Благодаря буферизации встроенным операционным усилителем, ИОН может применяться не только с внутренними аналоговыми блоками микроконтроллера, но и с внешними аналоговыми компонентами. Если характеристики встроенного ИОН не удовлетворяют требованиям разработчика, вся аналоговая периферия микроконтроллера легко перенастраивается на работу с внешним ИОН.
Разрабатывая Kinetis M, компания Freescale поставила перед собой задачу создать микроконтроллер, идеально подходящий для измерительных приложений. Для этого в структуру Kinetis M кроме стандартной периферии семейства микроконтроллеров Kinetis были добавлены модули, характерные для других семейств – например, коммутатор ресурсов (XBAR) и четырехканальный таймер (Quad Timer), которые традиционно встраивались в цифровые сигнальные контроллеры. Эти модули позволяют разработчикам более гибко работать с встроенной периферией (рис.2).
Примером применения XBAR в алгоритме работы трехфазного счeтчика может служить настройка запуска измерения напряжений (три канала 16-разрядного АЦП) синхронно с началом измерения величины тока (три канала 24-разрядного АЦП). Другие возможные варианты его применения – автоматическое измерение частоты (периода) аналогового сигнала, автоматическое определение скорости обмена данными по интерфейсам RS-485 и RS-232, модулирование сигнала для передачи данных по инфракрасному каналу, подключение внешних сигма-дельта-модуляторов, генерация высокостабильных калибровочных импульсов.
Модуль тактовых генераторов включает в себя блоки автоматической подстройки частоты (FLL), фазовой автоподстройки частоты (PLL), низкочастотный (OSC32K) и высокочастотный (OSCMHZ) генераторы и опорные тактовые генераторы 32 кГц и 4/2 МГц.
Также нужно обратить внимание на модули, повышающие надежность работы устройства – сторожевой таймер, соответствующий стандартам безопасности для бытовых устройств (IEC 60730), ускоритель расчета циклического избыточного кода (CRC), генератор случайных чисел (RNGA) и детектор неавторизированного доступа (Tamper).
Микроконтроллеры Kinetis M доступны в 44-выводных корпусах LGA, 64- или 100-выводных LQFP и с объемом флеш-памяти 64 или 128 Кбайт. Устройства в корпусах LQFP имеют встроенный контроллер ЖК-индикатора, поддерживающий до 160 или 288 сегментов соответственно. Напряжение питания микроконтроллеров – 1,71–3,6 В, диапазон рабочих температур – от –40 до 85°С (см. таблицу).
В рекомендациях по созданию программного обеспечения для средства измерений Международной организации законодательной метрологии (МОЗМ) и Европейского сотрудничества в области законодательной метрологии (WELMEC) содержатся правила разделения метрологически значимой части программы и остального кода; аналогичные рекомендации содержатся в ГОСТ Р 8.654-2009. Если разработка велась в соответствии с этими правилами, после прохождения сертификации программного обеспечения разработчики могут вносить в него изменения, не затрагивающие метрологически значимую часть кода. При этом повторная сертификация программного обеспечения не требуется. При разработке Kinetis M Freescale учла эти рекомендации: в новый микроконтроллер был добавлен специализированный модуль для разграничения доступа к ресурсам (рис.3).
Платформа Kinetis M включает ядро ARM Cortex-M0+ и контроллер прямого доступа к памяти (DMA). Пересылка данных между ними и другими периферийными устройствами возможна в пользовательском и привилегированном режимах. Специализированный модуль управления (MCM) в зависимости от идентификатора процесса (PID) добавляет к транзакциям дополнительный атрибут доступа – "защищенный" или "не защищенный". Так реализуется аппаратная система разграничения доступа с тремя типами транзакций: привилегированный защищенный, пользовательский защищенный и пользовательский не защищенный. В счетчиках все метрологически значимые транзакции выполняются только в привилегированном режиме, а остальные – в пользовательском.
Доступ со стороны ядра и контроллера DMA к модулю защиты памяти (MPU), мосту периферии (AIPS) и модулю портов ввода/вывода (GPIO) может быть также ограничен настройками. При включенном режиме разграничения доступа и правильной настройке атрибутов доступа микроконтроллер отклоняет любые попытки периферийных модулей воздействовать на метрологически значимые компоненты.
Для микроконтроллеров Kinetis M компания Freescale предлагает оценочную плату TWR-KM34Z50M. Для удобства разработчиков на плате размещен отладочный интерфейс OpenSDA, поддерживающий отладку и программирование по шине SWD, и виртуальный последовательный порт. Совместно с драйвером FreeMASTER и приложением для ПК последовательный порт позволяет отслеживать любые статические и динамические данные программы микроконтроллера. На плате также присутствуют 160-сегментный ЖКИ, трехосевой акселерометр MMA8491, семиканальный программируемый генератор синусоидальных сигналов с интерфейсом USB, датчик температуры (терморезистор), IRDA-приемопередатчик, несколько светодиодов и кнопок. Плата может применяться как отдельно, так и совместно с другими Tower-совместимыми оценочными платами (рис.4).
Для быстрого начала разработки электросчетчика Freescale предлагает образцовые одно-, двух- и трехфазные счетчики с необходимым метрологическим ПО. Однофазный счетчик (рис.5) соответствует классам точности С для активной и 0,5% точности для реактивной энергии. Диапазон измеряемого тока – до 120 А с возможностью измерения энергии в четырех квадрантах. Измерительный элемент счетчика – токовый шунт. Счетчик успешно прошел тестирование на ЭМС по стандартам EN 61000-4-2, EN 61000-4-4, EN 61000-4-5, EN 61000-4-6, EN 61000-4-8 и EN 61000-4-11.
Разработка ПО для микроконтроллеров Kinetis M может проводиться в любой среде, поддерживающей ядро ARM Cortex-M0+. Одна из популярных сред разработки – IAR Embedded Workbench for ARM версии 6.7. Версия Kickstarter предоставляется бесплатно и позволяет создавать проекты объемом не более 16 КБайт. Более серьезные разработки можно вести в специальной версии среды CodeWarrior IDE for MCU’s 10.5 с ограничением объема кода до 64 Кбайт. Эта среда построена на базе Eclipse и содержит все необходимые инструменты – компилятор С, ассемблер, линкер и отладчик (рис.6).
Неотъемлемая часть среды CodeWarrior – инструмент Processor Expert. Эта программная надстройка значительно облегчает начало работы с проектом. Processor Expert позволяет настраивать периферию микроконтроллера, подключать необходимые библиотеки и генерировать компактный программный код. Благодаря удобному графическому интерфейсу и возможности тонкой настройки, Processor Expert применяют не только новички, но и опытные программисты. Конечно, код, полученный с помощью Processor Expert, будет менее эффективным, чем код, написанный программистом с большим опытом работы. Но если требуется быстро начать разработку, не углубляясь в выяснение назначения регистров, Processor Expert – это именно то, что нужно.
Тем, кому для начала работы достаточно "стартового" кода, инициализации таблицы векторов прерываний, файла настройки линкера и драйверов периферии, компания Freescale предлагает набор примеров Kinetis M bare-metal drivers and software examples, включающий более 50 образцов программ и драйверы периферийных модулей. В примерах показана работа со всей доступной периферией микроконтроллера (32 модуля) в различных режимах. Текущая версия пакета примеров совместима со средами разработки CodeWarrior IDE for MCU’s 10.5, IAR Embedded Workbench for ARM 6.70 и Rowley CrossWorks for ARM 2.3 development tools. Драйверы периферийных устройств оптимизированы для быстрого выполнения и доступны с исходными кодами. В пакет примеров также входит утилита для быстрого создания новых проектов.
* * *
Микроконтроллер Kinetis M – сбалансированное решение для построения измерительного оборудования. Благодаря хорошей аналоговой периферии, популярному ядру ARM Cortex-M, большому количеству примеров и образцовых дизайнов Kinetis M станет оптимальным выбором для создания современных измерительных устройств. ⦁
Отзывы читателей