Компания silicon labs выпустила экономичные микроконтроллеры на ядре arm cortex-m0+

Silicon Labs выпускает самые малопотребляющие микроконтроллеры с ядром ARM Cortex-M0+

Недорогие микроконтроллеры EFM32 Zero Gecko отличаются лучшей в отрасли энергоэффективностью среди 32-разрядных устройств

Компания Silicon Labs представила самые малопотребляющие в отрасли 32-разрядные микроконтроллеры на базе процессора ARM Cortex-M0+.

Благодаря сверхмалому энергопотреблению устройства семейства EFM32 Zero Gecko могут применяться в приложениях с батарейным питанием, таких как изделия для занятия спортом и фитнесом, умные часы, устройства мониторинга активности, интеллектуальные счетчики, охранные системы и беспроводные датчики, а также в безбатарейных системах с питанием от устройств сбора энергии.

Семейство Zero Gecko является последним расширением серии микроконтроллеров EFM32 Gecko, созданных компанией Energy Micro, и содержит 16 недорогих микроконтроллеров, изначально разработанных для минимизации энергопотребления сетевых устройств, используемых для Интернета вещей.

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

В режиме глубокого сна устройствам Zero Gecko требуется всего 0.9 мкА, что является лучшим на сегодняшний день показателем для приборов подобного класса. В активном режиме микроконтроллеры потребляют 110 мкА/МГц на частоте 24 МГц.

В режиме полного отключения (shut-off) потребление тока будет менее 20 нА.

Как и во всех продуктах EFM32 Gecko, в микроконтроллерах Zero Gecko реализована самая совершенная для такого класса приборов технология энергосбережения, названная Peripheral Reflex System (PRS), которая значительно повышает энергоэффективность на системном уровне.

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

Благодаря PRS микроконтроллер может анализировать последовательности определенных событий, происходящих до пробуждения процессора, тем самым, оставляя ядро Cortex-M0+ в энергосберегающем режиме максимально возможное время и снижая общее энергопотребление системы.

В микроконтроллерах EFM32 Zero Gecko имеется множество малопотребляющих точных аналоговых периферийных устройств, типичных для популярных семейств Tiny Gecko, Giant Gecko и Wonder Gecko. В частности, это аналоговый компаратор, компаратор напряжения питания, встроенный датчик температуры и 12-битный АЦП, потребляющий ток 350 мкА при частоте дискретизации 1 МГц.

Устройства Zero Gecko являются единственными микроконтроллерами с ядром Cortex-M0+, которые содержат аппаратный блок шифрования AES128. Благодаря такой аппаратной поддержке ускорения шифрования Zero Gecko являются идеальными решениями для использования в радиочастотных передатчиках и трансиверах, применяемыми для организации Интернета вещей.

Чтобы ускорить время выхода на рынок и снизить стоимость разработки, устройства семейства EFM32 Zero Gecko поддерживаются средой Simplicity Studio, которая работает на платформах Microsoft Windows, Linux и Mac/OS X. Средства разработки сторонних фирм включают IAR Embedded Workbench, Keil MDK-ARM и CrossWorks компании Rowley Associates.

EFM32ZG-STK3200

Цена и доступность

Образцы микроконтроллеров EFM32 Zero Gecko с объемом flash-памяти от 4 до 32 КБ доступны в корпусах QFN и QFP. Стартовая цена при заказе свыше 100,000 компонентов составляет $0.49 за штуку. Легкий в использовании и недорогой оценочный набор EFM32ZG-STK3200 можно приобрести по цене $69.

Источник: https://www.rlocman.ru/news/new.html?di=150122

Микроконтроллеры компании Silicon Labs c интерфейсом USB

Алексей Курилин,
Журнал “Электронные компоненты” №5, 2007г

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

В данной статье представлены микросхемы с интерфейсом USB компании Silicon Labs, предназначенные для применения в системах сбора данных, либо позиционируемые как микроконтроллеры общего назначения.

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

Компания Silicon Labs специализируется на производстве микроконтроллеров (МК) различного назначения.

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

Общее число МК фирмы Silicon Labs насчитывает порядка ста микросхем, среди которых присутствуют МК с интерфейсом USB (см. табл. 1). Последние можно разделить на четыре группы:

  1. Миниатюрные микросхемы со встроенным 10-разрядным АЦП ('F320/321)
  2. Миниатюрные микросхемы без АЦП ('F326/327)
  3. Микросхемы с большим количеством выводов, увеличенной производительностью и объемами памяти, с интерфейсом внешней памяти и 10-разрядным АЦП ('F340/341/342/343)
  4. Микросхемы, аналогичные предыдущей группе, но с типовой производительностью ('F344/345/346/347)

Табл. 1. Наименования и технические характеристики МК Silicon Labs с интерфейсом USB

Микроконтроллеры фирмы Silicon Labs строятся по единой топологии, и на примере функциональной схемы кристалла C8051F340 можно выделить следующие области (см. рис. 1), заслуживающие особого внимания:

  1. Ядро CIP-51 – разработка Silicon Labs. Архитектурно и программно оно совместимо с платформой 8051, но в отличие от нее выполняет за один такт более 70% команд. Ядро микроконтроллера C8051F340 обеспечивает производительность до 48MIPS на тактовой частоте 48МГц.
  2. Микроконтроллер снабжен Flash-памятью программ и ОЗУ. Flash-память поддерживает функцию самопрограммирования, что удобно для реализации в приборе с интерфейсом USB функции обновления микрокода без использования программатора, а также для энергонезависимого хранения данных.
  3. Для подключения дополнительной оперативной памяти в микроконтроллере предусмотрен интерфейс внешней памяти. Интерфейс может работать в мультиплексированном режиме с внешним регистром-защелкой (обеспечивая экономию выводов микросхемы) либо в немультиплексированном режиме (обеспечивая максимальную скорость обмена данными с внешней памятью).
  4. Аналоговая подсистема включает 10-разрядный АЦП, мультиплексор для подключения двадцати входных аналоговых сигналов в униполярном включении либо десяти – в дифференциальном. Помимо этого на кристалле размещен стабилизированный источник опорного напряжения, два аналоговых компаратора и датчик для измерения температуры корпуса микросхемы. Аналоговая подсистема микроконтроллера имеет высокие показатели точности и быстродействия, что позволяет использовать эту микросхему для прецизионных измерений. Важным моментом является то, что аналоговая и цифровая подсистемы микросхемы разделены на кристалле таким образом, что для получения заявленных показателей точности не требуется останавливать цифровую подсистему, что часто требуется в большинстве микросхем с аналоговыми блоками других производителей.
  5. Интерфейс USB микроконтроллера работает в режиме Device и включает в себя блок Serial Interface Engine (SIE), трансивер и 1 Кбайт памяти FIFO. Блок SIE управляет передачей данных, формирует сигналы квитирования и запросы прерывания к ядру МК. Трансивер обеспечивает согласованное подключение к шине USB и коммутирует подтягивающий резистор для задания режима работы интерфейса. Со стороны МК передача данных может осуществляться с четырьмя конечными точками. Конечная точка О работает в режиме CONTROL, a конечные точки 1, 2 и 3 поддерживают режимы передачи данных BULK, INTERRUPT и ISOCHRONOUS. Память FIFO разделена на 4 части для хранения данных каждой конечной точки.
  6. МК поддерживает функцию внутрисхемного программирования и отладки по единому интерфейсу С2 – двухпроводному интерфейсу разработки Silicon Labs, обеспечивающим полноценное управление кристаллом с использованием минимального количества выводов МК. Этот интерфейс поддержан недорогим внутрисхемным программатором/эмулятором и бесплатной интегрированной средой разработки Silicon Labs IDE.
  7. Встроенный регулятор напряжения со входным напряжением 2,7…5,25 В и выходным номинальным напряжением 3,3 В обеспечивает возможность питания микросхемы от шины USB без использования внешних стабилизаторов. Так как стаби-лизатор обеспечивает выходной ток до 100 мА, его можно использовать для питания прочих внешних элементов устройства.

Рис. 1. Функциональная схема МК C8051F340

Отметим, что в МК встроен тактовый генератор, обеспечивающий частоту 48 МГц ±1,5% во всем рабочем диапазоне температур, что обеспечивает стабильную работу интерфейса USB без использования внешнего кварца, исключая тем самым лишний ненадежный компонент и, снижая общую стоимость прибора. Генератор снабжен делителем тактовой частоты, что позволяет устанавливать различные значения частот в диапазоне 1,5…48МГц, обеспечивая тем самым гибкое управление энергопотреблением.

Энергопотребление самых энергоемких блоков – ядра и интерфейса USB – на максимальной частоте (48 МГц) составляет менее 35 мА. Если же интерфейс USB не задействован, то суммарное энергопотребление кристалла на частоте 48 МГц составит порядка 25 мА.

В микроконтроллере предусмотрены два режима энергосбережения: IDLE и STOP. Энергопотребление также может быть снижено за счет переключения источника тактового сигнала на внутренний низкочастотный генератор, обеспечивающий тактовый сигнал частотой 10…80 кГц. При тактовой частоте 80 кГц, энергопотребление ядра составит 55 мкА.

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

АППАРАТНЫЕ И ПРОГРАММНЫЕ СРЕДСТВА ПОДДЕРЖКИ РАЗРАБОТОК ДЛЯ МИКРОСХЕМ SILICON LABS С ИНТЕРФЕЙСОМ USB

Silicon Labs обеспечивает комплексную поддержку аппаратными средствами поддержки разработок и инструментальным программным обеспечением для реализации конечного приложения, как на нижнем, так и на верхнем уровне (см. рис.2).

Рис. 2. Комплексный подход к поддержке МК с интерфейсом USB

Для каждой серии микросхем Silicon Labs предлагаются стартовые наборы, название которых состоит из наименования самого “мощного” микроконтроллера в линейке и суффикса DK. Для микросхем с интерфейсом USB предлагаются стартовые наборы C8051F320-DK, C8051F326-DK и C8051F340-DK.

В состав каждого набора входит целевая (target) плата с установленным МК, внутрисхемный эмулятор USB Debug Adapter, источник питания, набор кабелей и компакт-диск с документацией и программным обеспечением.

Возвращаясь к рисунку 2, выделим специфическое для МК с интерфейсом USB программное обеспечение, находящееся на компакт-диске стартовых наборов C8051F320-DK, C8051F326-DK и C8051F340-DK.

На верхнем уровне обозначены драйверы для мостов СР210х, описанных ранее в статье [1]. Эти микросхемы являются двунаправленными преобразователями интерфейса USB в интерфейс UART.

Для этих микросхем выпускаются драйверы виртуального СОМ-порта, позволяющие избавиться от разработки ПО для передачи данных непосредственно по шине USB.

Обмен данными здесь производится по интерфейсу UART со стороны микроконтроллера и через виртуальный СОМ-порт со стороны ПК.

На втором уровне обозначена библиотека USBXpress, включающая в свой состав библиотеку нижнего уровня, драйверы USB для ПК и DLL-библиотеку для разработки приложений на верхнем уровне.

Для реализации передачи данных на нижнем уровне USBXpress содержит библиотеку с такими простыми для понимания функциями как USB_Init(), Block_Write() или Block_Read(), которые существенно упрощают задачу освоения интерфейса USB на микроконтроллерах Silicon Labs. В библиотеке реализована передача данных только в режиме BULK. При использовании всех функций библиотеки, их реализация займет всего 3 Кбайта Flash-памяти микроконтроллера.

На верхнем уровне задача написания драйверов сводится к простому конфигурированию готового драйвера с помощью распространяемого производителем программного обеспечения [2].

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

Для написания программного обеспечения на верхнем уровне, которое будет осуществлять обмен данными по интерфейсу USB посредством вышеупомянутого драйвера, в набор USBXpress включена DLL-библиотека, которая реализует простой пользовательский интерфейс к этому драйверу. Функции этой библиотеки также просты и понятны любому разработчику: Si_Open(), Si_Write(), Si_Read() и так далее.

Для демонстрации функций библиотек USBXpress предлагаются примеры программ для верхнего и нижнего уровня, демонстрирующие обмен файлами между ПК и Flash-памятью микроконтроллера, а также реализацию пользовательской панели на ПК, управляющую ресурсами микроконтроллера.

Более подробную информацию по набору библиотек USBXpress можно найти в руководстве по применению [3]. На рисунке 2 приведены примеры программ, реализующих некоторые типовые задачи, возникающие при использовании интерфейса USB:

  1. В руководстве [4] приведен пример создания HID-устройства, подробно описана специфика работы с ним на верхнем и нижнем уровне.
  2. В руководстве [5] описан способ передачи данных по интерфейсу USB в изохронном режиме на примере создания устройства AUDIO-класса, в котором непрерывная передача данных с гарантированной скоростью является очень важным фактором для обеспечения непрерывного звучания.
  3. Реализация загрузчика для обновления микрокода микроконтроллера по интерфейсу USB описана в руководстве [6]. Загрузчик реализован с использованием НШ-класса, что избавляет пользователя такого устройства от необходимости установки драйверов при подключении устройства к ПК.
  4. В руководстве [7] приведен пример реализации USB Flash-накопителя – устройства класса Mass Storage Device (MSD). Так как реализация такого устройства может быть наиболее полезной при разработке систем сбора данных с подключением к компьютеру по интерфейсу USB, опишем это руководство подробнее.

СОЗДАНИЕ УСТРОЙСТВА MSD КЛАССА

Благодаря своей прецизионной аналоговой подсистеме, микроконтроллеры Silicon Labs в первую очередь позиционируются для систем сбора данных. У пользователя может возникнуть вопрос: “Куда сохранять данные и как их впоследствии передать на ПК?”. Silicon Labs предлагает набор USB-MSD-RD (см. рис. 3), в котором реализована данная задача, исходя из следующих принципов:

  1. Самый удобный способ подключения устройства к ПК в большинстве случаев – по интерфейсу USB;
  2. Сохраненные данные должны загружаться на ПК в виде файла;
  3. Подключаемое к системе устройство должно использовать стандартные классы, известные операционной системе, не требующие установки дополнительных драйверов и ПО.
Рис. 3. Набор USB-MSD-RD и целевая плата набора C8051F340-DK Рис.4. Организация сохранения и считывания данных в наборе USB-MSD-RD

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

Набор USB-MSD-RD включает в состав плату, подключаемую к разъему расширения целевой платы стартового набора C8051F340-DK, приобретаемого отдельно, карту памяти SD объемом 256 Мбайт и набор программного обеспечения, схема работы которого изображена на рисунке 4.

В соответствии со схемой работы, изображенной на рисунке, микроконтроллер C8051F340 выполняет все функции конечного приложения либо приема данных из прочей периферии в приборе, формирует данные в формате файловой системы FAT16 и записывает их на карту памяти. Поддерживаются карты памяти SD, ММС и CF. При подключении устройства к компьютеру по интерфейсу U SB, микроконтроллер декодирует запросы, поступающие к файловой системе, и обеспечивает прозрачный доступ к данным со стороны ПК.

Ввиду того, что данные на карте памяти хранятся в файловой системе FAT16, возникает ограничение на объем используемой карты памяти – ее объем должен быть не меньше 16 Мбайт и не более 4 Гбайт.

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

Приобретать набор USB-MSD-RD необязательно – схема включения и исходные файлы проекта размещены в свободном доступе на сайте производителя в руководстве по применению AN282 и описании к набору USB-MSD-RD.

Необходимые для реализации доступа к файловой системе функции, в бинарном формате требуют 18 Кбайт Flash-памяти (см. рис. 5), что позволяет реализовать достаточно сложное приложение с использованием остальных 46 Кбайт Flash-памяти микроконтроллера C8051F340.

Рис. 5. Распределение Flash-памяти при реализации USB-накопителя на МК C8051F340

ЗАКЛЮЧЕНИЕ

Интерес со стороны разработчиков к МК с интерфейсом USB компании Silicon Labs растет с каждым годом. Это происходит благодаря тщательной продуманности не только самих МК, но и программно-аппаратного комплекса для них.

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

В качестве примера универсальности микроконтроллеров Silicon Labs с интерфейсом USB, приведем оценочный набор USBFMRADIO-RD (см. рис. 6), выпускаемый Silicon Labs для оценки возможностей однокристальных FM-приемников (на рисунке справа).

Набор построен с использованием микроконтроллера C8051F321 (на рисунке слева), который выполняет в устройстве функцию управления FM-приемником, “оцифровку” звукового сигнала с выхода приемника и передачу его по интерфейсу USB для дальнейшего воспроизведения радиотрансляции на компьютере.

Рис. 6. Внешний вид набора USBFMRADIO-RD

 

ЛИТЕРАТУРА

Источник: http://mymcu.ru/articles/mikrokontrolleri-kompanii-silicon-labs-interfeysom-usb.html

Микроконтроллеры с ядром Cortex-M

– набор инструкций Thumb/Thumb-2;

– трёхуровневый конвейер;

– одно немаскируемое прерывание и от 1-го до 32-х физических прерываний;

– аппаратное одноцикловое умножение 32×32 разряда;

– в зависимости от производителя может быть доступен 24-разрядный таймер SysTick;

– для перехода в спящий режим имеются инструкции WFI или WFE;

– отладка возможна через JtAg или SWD.

Это ядро используют, например, микроконтроллеры Cypress PSoC 4, Cypress PSoC 4M, Cypress PSoC 4L; Infineon XMC1000; Nordic nRF51; NXP LPC1100, LPC1200; семейство nuvoTon NuMicro M0 Family; Sonix SN32F700; STMicroelectronics STM32F0; Toshiba TX00; Vorago VA10800 (экстремальная температура), VA10820 (радиационностойкие).

Кроме этого, есть микроконтроллеры с двумя ядрами, одно из которых – Cortex-M0. Так фирма NXP создала микроконтроллер LPC4300 (одно ядро Cortex-M4F и одно Cortex-M0), фирма Texas Instruments – микроконтроллеры CC1310 и CC2650 (одно ядро Cortex-M3, одно Cortex-M0 и специальный процессор для датчика контроля двигателя).

Отечественные разработчики (ПКК “Миландр”) тоже не отстают от зарубежных фирм и запустили в производство микроконтроллер 1986ВЕ4У1.

Он работает на тактовой частоте до 36 МГц, содержит 128 Кбайт FLASH-памяти программ и 16 Кбайт ОЗУ. При этом имеет интервал рабочей температуры от -60 до +125 оС.

Кроме того, разработаны микроконтроллеры К1986ВК234 и К1986ВК214 для трёхфазного счётчика электроэнергии.

Cortex-M0+ (рис. 2) – дальнейшее развитие ядра Cortex-M0 с целью снижения энергопотребления (3 мВт/МГц, что меньше, чем у младшего ядра семейства Cortex-M0) и повышения производительности до 0,94 DMIPS/МГц.

Оно содержит одноцикловую систему ввода/вывода для ускоренного управления, микробуфер трассировки (MTB), используемый для отладки, и другие общие для семейства Cortex-M элементы, например блок защиты памяти (MPU).

– набор инструкций Thumb/Thumb-2;

– двухуровневый конвейер;

– защита памяти (8 регионов);

– одно немаскируемое прерывание и от 1-го до 32-х физических прерываний;

– для перехода в спящий режим имеются команды WFI и WFE;

– аппаратное одноцикловое умножение 32×32 разряда;

– отладка возможна через JTAG или SWD;

– дополнительно может присутствовать микробуфер трассировки (MTB).

Это ядро используют микроконтроллеры Atmel SAMD, SAMR, SAML, SAMC; Cypress PSoC 4S, FM0+; Holtek HT32F52xxx; NXP LPC800, LPC11 E6x, LPC11U6x; Freescale Kinetis E, EA, L, M, V1, W0; Renesas Synergy S1; Silicon Labs EFM32 Zero, Happy; STMicroelectronics STM32L0.

Ядро Cortex-M1 разработано специально для реализации в микросхемах FPGA. Его основные особенности:

– архитектура ARMv6-M;

– набор инструкций: Thumb/Thumb-2;

– трёхуровневый конвейер;

– аппаратный умножитель 32×32 разряда с 32-разрядным результатом;

– одно немаскируемое прерывание и от 1-го до 32-х физических прерываний;

– дополнительно может быть реализована сильно связанная память (TCM) объёмом от 0 до 1 Мбайт для команд и от 0 до 1 Мбайт для данных;

– отладка может отсутствовать, быть упрощённой или полной;

– порядок следования данных little-endian или BE-8 big-endian;

– поддержка операционной системы может присутствовать или нет.

Это ядро можно использовать, например, в FPGA Altera Cyclone-II, Cyclone-III, Stratix-II, Stratix-III; Microsemi (Actel) Fusion, IGLOO/e, ProASIC3L, ProASIC3/E; Xilinx Spartan-3, Virtex-2, Virtex-3, Virtex-4.

Рис. 3. Ядро Cortex-M3

Cortex-M3 (рис. 3) – наиболее популярное у производителей и разработчиков микроконтроллеров ядро с архитектурой aRm. Это самое первое появившееся на рынке ядро семейства Cortex-M.

Оно основано на архитектуре ARMv7-M и полностью реализует наборы команд Thumb и Thumb2. Производительность – 1,25 DMIPS/МГц. Энергопотребление примерно в два раза больше, чем у Cortex-M0.

Основные особенности ядра Cortex-M3:

– гарвардская архитектура Armv7-M;

– набор инструкций Thumb/Thumb-2;

– трёхуровневый конвейер;

– защита памяти от 0 до 8 регионов;

– аппаратный умножитель 32×32 разряда с 32- или 64-разрядным результатом, знаковым или беззнаковым, со сложением или вычитанием после умножения;

– одно немаскируемое прерывание и от 1-го до 240 физических прерываний;

– от 8 до 256 уровней приоритетов прерываний;

– контроллер до 240 прерываний;

– для перехода в спящий режим имеются команды WFI и WFE;

– манипуляция битами;

– контроллер прямого доступа к памяти (DMA);

– аппаратное деление (от 2 до 12 циклов);

– отладка через JTAG или SWD, имеется возможность трассировки отлаживаемого кода.

Это ядро используют, например, микроконтроллеры Actel SmartFusion, SmartFusion 2; Analog Devices ADuCM3xx; Atmel SAM3A, SAM3N, SAM3S, SAM3U, SAM3X; Cypress PSoC 5, 5LP, FM3; Holtek HT32F; NXP LPC1300, LPC1700, LPC1800; ON Semiconductor Q32M210; Realtek RTL8710; Silicon Labs Precision32, EFM32 Tiny, Gecko, Leopard, Giant; STMicroelectronics STM32F1, F2, L1, W; Texas Instruments F28, LM3, TMS470, OMAP 4, CC1310, CC2650; Toshiba TX03.

Отечественные разработки – микроконтроллеры 1986ВЕ92У, 1986ВЕ93У, K1986BE92QI, 1986ВЕ94Т, 1986ВЕ91Т.

Некоторые компании используют Cortex-M3 как второе ядро.

В Apple A9 это интегрированный сопроцессор движения M9, в CSR Quatro 5300 – сопроцессор, в Samsung Exynos 7420 – DVS микроконтроллер, в Texas Instruments F28, LM3, TMS470, OMAP 4470 содержится одно ядро Cortex-A9 и два ядра Cortex-M3, в MOS XS1-XA – семь ядер xCORE и одно ядро Cortex-M3. Компания Microsemi встроила ядро Cortex-M3 в свою FPGA SmartFusion2.

Ядро Cortex-M4 (рис. 4) разработано для управления устройствами, в которых необходима цифровая обработка сигнала. Можно считать, что это улучшенный вариант ядра Cortex-M3, оснащённый дополнительным модулем цифрового сигнального процессора (DSP).

Производительность у него такая же, как и у Cortex-M3 – 1,25 DMIPS/МГц. Сочетает высокую эффективность обработки сигналов с низким энергопотреблением, невысокой ценой и простотой в использовании. В серии M4 есть ещё один вариант под обозначением Cortex-M4F.

В нём дополнительно к DSP установлен блок операций над числами с плавающей запятой (FPU).

Рис. 4. Ядро Cortex-M4

Основные особенности ядра Cortex-M4:

– гарвардская архитектура Armv7E-M;

– набор инструкций Thumb/Thumb-2;

– трёхуровневый конвейер c предсказанием ветвлений;

– команды цифровой обработки. Одноцикловые 16/32-разрядные MAC (умножение с накоплением), одноцикловые двойные 16-разрядные MAC, 8/16-разрядные SIMD (одна команда – много данных), аппаратное деление (от 2 до 12 циклов);

– аппаратный умножитель 32×32 разряда с 32- или 64-разрядным результатом, знаковым или беззнаковым, со сложением или вычитанием после умножения;

– по желанию дополнительно может быть поставлен блок обработки чисел с плавающей запятой одинарной точности, совместимый с IEEE 754, называемый FPv4-SP расширением;

– защита памяти от 0 до 8 регионов;

– одно немаскируемое прерывание и от 1-го до 240 физических прерываний;

– от 8 до 256 уровней приоритетов прерываний;

– для перехода в спящий режим имеются команды WFI и WFE;

– битовая манипуляция;

– отладка через JTAG или SWD, имеется возможность трассировки отлаживаемого кода.

Примеры микроконтроллеров, использующих ядро Cortex-M4: Analog Devices CM4xx Mixed-Signal Control Processors; Atmel SAM4L, SAM4N, SAM4S; Freescale Kinetis K, W2; Texas Instruments CC3200 и CC3200MOD.

Примеры микроконтроллеров, использующих ядро Cortex-M4F: Atmel SAM4C (два ядра), SAM4E, SAMG, SAM E5x, SAM D5x; Cypress PSoC6, FM4; Infineon XMC4000; Microchip CEC1302; Nordic nRF52; NXP LPC4000, LPC4300 (одно ядро Cortex-M4F и одно Cortex-M0); Freescale Kinetis K, V3, V4; Renesas Synergy S3, S5, S7; Silicon Labs EFM32 Wonder; STMicroelectronics STM32 F3, F4, L4; Texas Instruments LM4F, TM4C, MSP432; Toshiba TX04; отечественная разработка 1986ВЕ8Т.

Примеры микроконтроллеров, использующих Cortex-M4 как второе ядро: Freescale Vybrid VF6 (одно ядро Cortex-A5 и одно Cortex-M4F); Freescale i.MX 6 SoloX (одно ядро Cortex-A9 и одно Cortex-M4F); Freescale i.

MX 7 Solo/Dual (одно или два ядра Cortex-A7 и одно Cortex-M4F); Texas Instruments OMAP 5 (два ядра Cortex-A15s, два Cortex-M4); Texas Instruments Sitara AM57xx (одно или два ядра Cortex-A15s и два Cortex-M4s как модуль обработки изображений и два ядра Cortex-M4s блока общего назначения).

Cortex-M23 (рис. 5) – это относительно новое ядро на основе архитектуры Дж. фон Неймана Armv8-M, представленное в 2016 г. Идейно это ядро похоже на Cortex-M0+ с дополнительными функциями безопасности TrustZone. Ядро Cortex-M23 имеет двухуровневый конвейер, поддерживающий базовый набор команд Armv8-M. Он предназначен для приложений, где ключевое требование – безопасность.

TrustZone для Armv8-M обеспечивает аппаратную принудительную изоляцию между доверенными и ненадёжными ресурсами устройства Cortex-M23, сохраняя при этом эффективную обработку исключений и детерминизм (переход из основной задачи на обработку прерывания за минимально возможное и, самое главное, определённое заранее время).

Это было отличительной чертой всех процессоров с ядром Cortex-M.

Рис. 5. Ядро Cortex-M23

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

Основные особенности ядра Cortex-M23:

– архитектура Дж. фон Неймана Armv8-M;

– набор инструкций Thumb/Thumb-2;

– двухуровневый конвейер;

– технология защиты TrustZone;

– дополнительно может быть оснащён блоком защиты памяти (MPU) на 0, 4, 8, 12 или 16 регионов;

– дополнительно может быть поставлен блок задания атрибутов безо-

пасности (SAU) на 0, 4 или 8 регионов;

– одно немаскируемое прерывание и до 240 физических прерываний с четырьмя уровнями приоритетов;

– аппаратное одноцикловое умножение и деление 32×32 разряда;

– отладка через JTAG или SWD;

– дополнительно может быть поставлен микробуфер трассировки (MTB) или встраиваемая макроячейка трассировки (ETM).

Микроконтроллер Nuvoton M2351 остаётся пока единственным с ядром Cortex-M23, хотя другие производители активно работают в этом направлении.

Ядро Cortex-M33 (рис. 6) также было представлено в 2016 г. Оно основано на той же архитектуре, что и Cortex-M23.

Но идейно оно похоже на ядро Cortex-M4, что позволяет сочетать повышенную производительность (приблизительно на 20 % больше, чем у ядер Cortex-M3 и Cortex-M4) с обеспечением безопасности приложений.

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

Рис. 6. Ядро Cortex-M33

Основные особенности ядра Cortex-M33:

– архитектура Дж. фон Неймана Armv8-M;

– набор инструкций Thumb/Thumb-2;

– трёхуровневый конвейер;

– технология защиты TrustZone;

– аппаратный целочисленный 32разрядный делитель;

– регистр ограничения стека;

– дополнительные DSP/SIMD команды, одноцикловые 16/32-разрядные MAC, одноцикловые двойные 16-разрядные MAC, 8/16-разрядная SIMD арифметика;

– блок FPU одинарной точности с плавающей запятой, совместимый с IEEE 754;

– дополнительно может быть поставлен блок защиты памяти (MPU) на 0, 4, 8, 12 или 16 регионов;

– дополнительно может быть поставлен блок задания атрибутов безопасности (SAU) на 0, 4 или 8 регионов;

– немаскируемые прерывания и до 480 физических прерываний от 8 до 256 уровней приоритета;

– отладка через JTAG или SWD;

– дополнительно может быть поставлены микробуфер трассировки (MTB) или встраиваемая макроячейка трассировки (ETM), трассировка данных (DWT) и инструментальная трассировка (ITM).

Примером использования ядра Cortex-M33 может быть микроконтроллер Nordic nRF91, вероятно, и другие производители в ближайшем будущем выпустят свои варианты данного ядра.

Ядро Cortex-M7 (рис. 7) – самое сложное из семейства Cortex-M. Оно позволяет создавать самые совершенные микроконтроллеры и системы на кристалле (SOC).

По сравнению с предыдущими вариантами изменена ширина шины данных и команд с 32 до 64 разрядов, что позволило значительно повысить производительность ядра.

Ядро Cortex-M7 основано на простой и лёгкой в использовании архитектуре Armv7-M, позволяя использовать его в самых разных отраслях – автомобильной и другой промышленности, обработке аудио- и медиаданных, Интернете вещей (IoT).

Рис. 7. Ядро Cortex-M7

Основные особенности этого ядра:

– гарвардская архитектура Armv7-M;

– шестиуровневый суперскалярный конвейер с предсказанием ветвлений;

– набор инструкций Thumb/Thumb-2;

– одноцикловые 16/32-разрядные

команды MAC, одноцикловые двойные 16-разрядные команды MAC, 8/16-разрядная SIMD арифметика, аппаратное 32-разрядное деление занимает от 2 до 12 циклов;

– аппаратный умножитель 32×32 разряда с 32- или 64-разрядным результатом, знаковым или беззнаковым сложением или вычитанием после умножения;

– 64-разрядная AMBA4 AXI, AHB шина;

– немаскируемые прерывания и от 1-го до 240 физических прерываний,

имеющих от 8 до 256 уровней приоритета;

– отладка с интегрированными командами через JTAG или SWD.

Дополнительно может быть использовано следующее:

– блок обработки чисел с плавающей запятой одинарной и двойной точности, совместимый с IEEE 754 и называемый FPv5 расширением;

– кэш инструкций объёмом от 0 до 64 Кбайт с двухуровневой ассоциативной ECC;

– кэш данных объёмом от 0 до 64 Кбайт с четырёхуровневой ассоциативной ECC;

– инструкции TCM от 0 до 16 Мбайт с ECC;

– данные TCM от 0 до 16 Мб с ECC;

– защита памяти на 8 или 16 зон;

– микробуфер трассировки (MTB) или встраиваемую макроячейку трассировки (ETM), трассировку данных (DWT) и инструментальную трассировку (ITM).

Примеры микроконтроллеров, использующих ядро Cortex-M7: Atmel SAME70, SAMS70, SAMV70; Freescale Kinetis KV5xi.MX RT; STMicroelectronics STM32F7, STM32H7.

Источник: http://www.radioradar.net/radiofan/radiofan_technology/microcontrollers_corte_m_core.html

SAMD новая линейка микроконтроллеров с ядром ARM Cortex-M0+ компании Atmel – PDF

Обзор микроконтроллеров RL78 компании Renesas Electronics Дмитрий Покатаев инженер по внедрению 2013 История создания компании Renesas Electronics Корпорации Renesas Electronics является поставщик микроконтроллеров

Подробнее

Роман Иванов (г. Санкт-Петербург) MSP430 VALUE LINE: 16 БИТ ПО ЦЕНЕ 8 БИТ! Семейство MSP430 Value Line предоставляет разработчику производительность 16-битного микроконтроллера по цене восьмибитного; в

Подробнее

LPC-H1114, Отладочная плата на базе микроконтроллера LPC1114FBD48 ARM Cortex-M0 ВВЕДЕНИЕ LPC-P1114 это плата развития на базе микроконтроллера LPC1114FBD48 ARM Cortex- M0 от NXP отличается высоким уровнем

Подробнее

Системы Модули и Компоненты Беспроводные модули Техническое описание и руководство пользователя Board Revision 3.0 Product Name Doc Name hw_mb3 Revision Date 16.02.2012 Revision Number 7 hw_mb3 Оглавление

Подробнее

STM32-LCD STM32-LCD отладочная плата с STM32F103ZE микроконтроллером от STMicroelectronics. Этот мощный микроконтроллер поддерживает различные последовательные интерфейсы, такие как USB, USART, SPI. Кроме

Подробнее

Развитие серии 32-разрядных ARM микроконтроллеров Шумилин Сергей Начальник отдела разработки цифровых ИС Специализированный семинар «Современные разработки в области ЭКБ компании ЗАО «ПКК «Миландр» для

Подробнее

6 компоненты рубрика Технология снижения энергопотребления picopower в микроконтроллерах AVR и SMART ARM компании Atmel Александр Рыжаков akr@efo.ru Игорь Кривченко ik@efo.ru На заре развития микроконтроллерных

Подробнее

46 Однокристальные приемопередатчики ISM-диапазона Nordic Semiconductor Вячеслав БУРЛАКОВ burlakov@dodeca.ru Олег СТАРИКОВ oleg.starikov@symmetron.ru В статье рассматриваются однокристальные приемопередатчики

Подробнее

ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ………………………………………………7 ГЛАВА 1. ЗНАКОМСТВО С СЕМЕЙСТВОМ CLASSIC…………………9 1.1. ОБЩИЕ СВЕДЕНИЯ………………………………………9

Подробнее

Роман Попов, Кирилл Автушенко (КОМПЭЛ) Автономное питание? выбираем STM32L Новое семейство 32-разрядных микроконтроллеров STM32L компании STMicroelectronics обеспечивает ультранизкое динамическое энергопотребление,

Подробнее

Системы Модули и Компоненты Беспроводные модули Техническое описание и руководство пользователя Board Revision 2.1 Product Name Doc Name hw_mb21 Revision Date 17.08.2015 Revision Number 4 hw_mb21 Оглавление

Подробнее

STM32-P152, Отладочная плата на базе микроконтроллера STM32L152 с ядром Cortex-M3 ВВЕДЕНИЕ: STM32-P152 плата развития с STM32L152VBT6 ARM Cortex M3 микроконтроллером от STMicroelectronics. Это микроконтроллер

Подробнее

Лекция 7: Архитектура микроконтроллеров (на примере AVR и Cortex M): ядро, память, прерывания Гончаров Олег Игоревич Факультет вычислительной математики и кибернетики, Московский государственный университет

Подробнее

Системы Модули и Компоненты Беспроводные модули Техническое описание Board Revision 3.3 Product Name Doc Name hw_mbdual Revision Date 04.07.2016 Revision Number 2 hw_mbdual 1. ОГЛАВЛЕНИЕ 1. Оглавление…

Подробнее

Роман Попов (КОМПЭЛ), Максим Мусиенко, Ярослав Крайнык (г. Николаев) ОСОБЕННОСТИ РАБОТЫ STM32L0 В РЕЖИМАХ ПОНИЖЕННОГО НАПРЯЖЕНИЯ Сокращение потребления в динамических режимах работы, новая низкопотребляющая

Подробнее

Средства для программирования интегральных микросхем, разработанные ЗАО «ПКК Миландр» Средства для программирования интегральных микросхем, разработанные ЗАО «ПКК Миландр» 1. Средства для программирования

Подробнее

MILESTONE Линейка одноплатных компьютеров Milestone. 2016 Intec Group. Все права защищены. Intec. Research and development company. www.intecgroup.ru, office@intecgroup.ru Одноплатный Arduino-совместимый

Подробнее

Источник: https://docplayer.ru/57801123-Samd-novaya-lineyka-mikrokontrollerov-s-yadrom-arm-cortex-m0-kompanii-atmel.html

32-bit MCU | Silicon Labs

The energy-friendly EFM32 MCUs are ideal for ultra-low power applications. Based on ARM® Cortex® -M0+, Cortex-M3 and Cortex-M4 cores, EFM32 MCUs also include the most energy-friendly peripherals and energy modes to enable design of highly functional low power systems.

The Silicon Labs mixed-signal MCU family offers critical system benefits in terms of performance, size, cost, and power consumption.    

Visit this page on your desktop to filter.

Product Families

FamilyCoreSpeed (MHz)Flash Memory (kB)RAMUSBLCDUARTUSARTI²CI²SCryptographyPackages
Tiny Gecko S1 ARM Cortex-M0+ 48 64, 128 32 No Yes 1 4 2 4 AES-128 AES-256 ECC SHA1 SHA2 QFN32, QFN64, QFN80, QFP48, QFP64, QFP80
Giant Gecko S1 ARM Cortex-M4 72 1024, 2048 384, 512 Yes Yes 2 6 3 3 AES-128 AES-256 ECC SHA1 SHA2 BGA112, BGA120, BGA152, BGA192, QFN64, QFP100, QFP64
Zero Gecko ARM Cortex-M0+ 24 4, 8, 16, 32 2, 4 No No 2 1 1 1 QFN24, QFN32, QFP48
Happy Gecko ARM Cortex-M0+ 25 32, 64 4, 8 Yes No 3 2 1 1 CSP36, QFN24, QFN32, QFP48
Tiny Gecko ARM Cortex-M3 32 4, 8, 16, 32 2, 4 No Yes 2, 3 1, 2 1 1 BGA48, QFN24, QFN32, QFN64, QFP48, QFP64
Gecko ARM Cortex-M3 32 16, 32, 64, 128 8, 16 No Yes 0, 1, 6 2, 3 1 BGA112, QFN32, QFN64, QFP100, QFP48, QFP64
Jade Gecko ARM Cortex-M3 40 128, 256, 1024 32, 256 No No 2, 4 1, 2 1, 2 AES-128 AES-256 ECC SHA1 SHA2 BGA125, QFN32, QFN48
Leopard Gecko ARM Cortex-M3 48 64, 128, 256 32 Yes Yes 5, 7 3 2 1 AES-128 AES-256 BGA112, BGA120, CSP81, QFN64, QFP100, QFP64
Giant Gecko ARM Cortex-M3 48 512, 1024 128 Yes Yes 5, 7 3 2 1 AES-128 AES-256 BGA112, BGA120, QFN64, QFP100, QFP64
Pearl Gecko ARM Cortex-M4 40 128, 256, 1024 32, 256 No No 2, 4 1, 2 1, 2 AES-128 AES-256 ECC SHA1 SHA2 BGA125, QFN32, QFN48
Wonder Gecko ARM Cortex-M4 48 64, 128, 256 32 Yes Yes 5, 7 3 2 1 AES-128 AES-256 BGA112, BGA120, CSP81, QFN64, QFP100, QFP64

Browse additional ARM Cortex-M3 based MCUs in the Precision32™ family of devices. SiM3L1xx operate at 50 MHz, SiM3U1xx are USB capable and operate at 80 MHz, and SiM3C1xx operate at 80 MHz

Get up and running quickly with precompiled demos, application notes and examples. Use advanced tools including energy profiling and network analysis to optimize your MCU and wireless systems.

Источник: https://www.silabs.com/products/mcu/32-bit

Микроконтроллеры с ядром ARM Cortex-M0

АктуальностьСтоимостьПродолжительностьГруппаНачало занятий
Идёт набор
17000 руб
40 часов
от 8 до 10 человек
По мере формирования группы

  Записаться на курс

Основной задачей курса является изучение микроконтроллеров семейства LPC 111х компании «NXP SEMICONDUCTORS”, предназначенные для разработки 8/16/32- разрядных приложений и отличающиеся низкой стоимостью и малым потреблением энергии.

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

Микроконтроллеры содержат:

32 кб программной памяти типа flash , 8 кб оперативной памяти, блоки таймеров и ШИМ, АЦП, интерфейсы UART, I2C, SSP, SPI.

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

В программе рассматриваются особенности архитектуры микроконтроллеров, изучаются:

  • структура микроконтроллеров и подсистема памяти;
  • подсистемы ввода-вывода и прерываний;
  • интерфейсы и периферийные узлы микроконтроллеров,

а также система команд, вопросы программирования и программно-аппаратные средства разработки программного обеспечения микроконтроллеров.

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

Теоретический курс сопровождается практическими занятиями на базе программно-аппаратного комплекса LPC-Expresso.

Учебный план

№ п/пНаименование разделовВсего часовВ том числеЛекцииПрактические и лабораторные занятияСамостоятельное изучениеПроверка знаний
1 Процессорное ядро ARM Cortex-M0 2 2
2 МК с ядром ARM Cortex-M0 фирмы NXP LPC1114: cтруктура  и  его архитек-турные особенности  2 2
3 Подсистема тактирования и питания МК LPC1114 2 2
4 Подсистема памяти микро-контроллера LPC1114  и его    регистровая модель  4 4
5 Система команд микроконт-роллера LPC1114   2 2
6 Средства отладки програм-много обеспечения, интегри- рованная среда разработки LPC Expresso 4 2 2
7 Подсистема прерываний, контроллер векторных пре-рываний 6 2 4
8 Периферийные устройства МК LPC1114 8 4 4
9 Интерфейсы МК LPC1114 8 4 4
Итоговая аттестация 2
Итого 40 24 14 2

Контактная информация

Запись на курс

Источник: http://www.eltech.ru/ru/povyshenie-kvalifikacii/programmy/shemotehnika-priborostroenie-i-informacionno-izmeritelnye-tehnologii/mikrokontrollery-mikroprocessory/mikrokontrollery-s-yadrom-arm-cortex-m0

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}