Новые микроконтроллеры со сверхнизким потреблением от renesas electronics

Новые микроконтроллеры со сверхнизким потреблением от Renesas Electronics

Renesas Electronics представила новые микроконтроллеры серии RX111 со сверхнизким потреблением, предназначенные для здравоохранения, систем “Умный дом” и “Интернет вещей”.

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

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

“Производительность и эффективность являются ключевыми факторами для разработчиков, применяющих микроконтроллеры, и мы укрепили наше партнерство с Renesas Electronics, продолжая создавать производительные продукты”- сказал Стефан Скарин (Stefan Skarin), генеральный директор IAR Systems.

– “Как единственный поставщик, полностью охватывающий продукцию Renesas Electronics-  8, 16 и 32 битных микроконтроллеров, IAR Systems с гордостью объявляет о полной поддержке серии RX111 в IAR Embedded Workbench.

По данным тестов CoreMark подтверждается высокая производительность серии RX100 в IAR Embedded Workbench, как отличный выбор для клиентов направленных на создание высокопроизводительных систем с малым энергопотреблением.”

RX111 имеет несколько режимов работы- режим Run с эффективным гибким потреблением 100 мкА / МГц, и 350 нА в режиме Software Standby сна, из которого он может выйти за 4.8 мс, а так-же режим часов. Флэш память работает при напряжении от 1.8 В, имея скорость очистки в фоновом режиме блока размером 1 Кб менее чем за 10 мс. 

RX111 имеют рабочую частоту 32 МГц и вычислительную способность 1,56 DMIPS / МГц , с энергопотреблением от 64 мА / DMIPS. А так-же по данным тестов CoreMark- 3,08 CoreMark / МГц и 14,9 CoreMark / мА.

Микроконтроллеры серии имеют встроенный контроль заряда батареи, и поддерживают протоколы USB 2.0, OTG, I2C и SPI. Кроме того RX111 программно совместимы с RX600 и RX200. Так-же присутствуют 12 битный АЦП, 8 битный ЦАП и встроенный датчик температуры.

Пробные партии будут доступны в Июле 2013. Массовое производство планируется на Сентябрь 2013.

Даташит (PDF)

Источник новости

Источник: http://cxem.net/electronic_news/electronic_news78.php

Renesas выпускает микроконтроллеры со встроенным LCD контроллером и высокоточным внутренним осциллятором

Компания Renesas Electronics выпускает четыре группы 16-разрядных микроконтроллеров, вошедших в серию R8C/Lx и  содержащих встроенный высокоточный осциллятор и многофункциональный контроллер ЖК дисплея: R8C/L3AM, R8C/L38M, R8C/L36M, R8C/L35M. В представленные группы входят устройства с количеством выводов от 52 до 100, имеющие объем Flash-памяти программ до 128 КБайт, RAM до 10 КБайт и богатую периферию наряду с низким энергопотреблением.

Микроконтроллеры построены на высокопроизводительном 16-битном ядре R8C, однако вся периферия и CPU подключены к 8-битной шине.

Встроенный высокоскоростной осциллятор имеет заявленную точность ±1% в диапазоне комнатной температуры и ±1.5% во всем диапазоне рабочей температуры.

Кроме того, имеется встроенный делитель 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, и 1/9, тактовый сигнал с которого может подаваться на CPU и встроенную периферию.

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

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

Основные характеристики микроконтроллеров R8C/L3AM, R8C/L38M, R8C/L36M, R8C/L35M:

  • встроенный осциллятор сохраняет работоспособность при напряжении питания 1.8 В – 5.5 В и имеет низкое потребление;
  • эффективные режимы пониженного потребления: микроконтроллеры имеют несколько режимов пониженного энергопотребления, которые предоставляют интеллектуальное управление питанием;
  • встроенный, гибкий, многофункциональный драйвер ЖК дисплея со встроенными аппаратными функциями управления;
  • встроенная функция сброса при подаче питания;
  • встроенные модуль детектора напряжения, предоставляющий 20 конфигурируемых уровней напряжения;
  • встроенный контроллер передачи данных, благодаря которому перемещение данных между регистрами периферии и памятью происходит без участия CPU;
  • встроенный контроллер интерфейса I2C;
  • модуль последовательного асинхронного коммуникационного интерфейса;
  • многоканальный 10-битный АЦП, 2-канальный 8-битный ЦАП;
  • встроенный компаратор;
  • различные варианты корпусного исполнения.

Типовое применение микроконтроллеров: устройства с батарейным питанием, бытовая и офисная электроника, промышленное оборудование, системы безопасности.

Для отладки ПО микроконтроллеров используется отладчик/эмулятор E8a с однопроводным интерфейсом, причем возможна настройка любого вывода микроконтроллера для подключения эмулятора. Отладочный инструмент позволяет отслеживать и изменять данные ОЗУ микроконтроллера в процессе отладки, а также может использоваться для программирования Flash-памяти программ.

renesas.eu

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

Семейство микроконтроллеров AVR со сверхнизким энергопотреблением picoPower

Семейство микроконтроллеров AVR

со сверхнизким энергопотреблением picoPower

Владимир ЕРЕМЕЕВ

sby@rtcs.ru

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

В 2006 году компания Л1ше1 представила новое семейство экономичных ЛУИ-контроллеров. Семейство получило обозначение picoPower.

Контроллеры этого семейства способны длительное время работать от батарейного источника питания в таких приложениях, как приборы с ЖКИ, управление освещением, системы безопасности, бытовая автоматизация, ZigBee-решения.

Новые ЛУИ-микроконтрол-леры являются обновленной версией популярных микроконтроллеров серий ATmega.

В обозначении этих микросхем появится суффикс «Р». Новые микросхемы являются совместимыми функционально и ртЧо-рт с микросхемами ATmega без суффикса «Р». Первыми микроконтроллерами этой серии стали ATmega169P с 4х25-сегментным контроллером ЖКИ и ATmega165P — микроконтроллер общего применения. До конца 2007 года планируется расширение серии picoPower.

Характеристики микроконтроллеров этой серии приведены в таблице 1.

Таблица 1. Характеристики микроконтроллеров серии picoPower

Название ай б к ь, re s а Js EEPROM, байт ОЗУ, байт Порты В/В Дополнительно Интерфейсы 8/16-битные таймеры ШИМ, каналов Аналоговый компаратор 10-битный АЦП, каналов C н R Сторожевой таймер Апп. Умножитель Напряжение питания, В Макс. тактовая частота, МГц Тип корпуса

ATmega48P 256 512 23 Общ. назн. (GP) UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32

ATmega88P 512 1024 23 GP UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32

ATmega168P 16 512 1024 23 GP UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32

ATmega328P 32 1024 2048 23 GP UART, 2 SPI, I2C 2/1 + + + + 1,8-5,5 20 TQFP32, MLF32

ATmega164P** 16 512 1024 32 GP 2 USART, SPI, I2C 2/1 + + + + 1,8-5,5 20 DIP40, TQFP44, MLF44

ATmega324P** 32 1024 2048 32 GP 2 USART, SPI, I2C 2/1 + + + + 1,8-5,5 20 DIP40, TQFP44, MLF44

ATmega644P** 64 2048 4096 32 GP USART, SPI, I2C 2/1 + + + + 1,8-5,5 20 DIP40, TQFP44, MLF44

ATmega165P* 16 512 1024 54 GP SPI, USI, USART 2/1 + + + + 1,8-5,5 16 TQFP64, MLF64

ATmega325P 32 1024 2048 54 GP SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP64, MLF64

ATmega3250P 32 1024 2048 69 GP SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP100

ATmega169P* 16 512 1024 54 Драйвер ЖКИ 4×25 SPI, USI, USART 2/1 + + + + 1,8-5,5 16 TQFP64, MLF64

ATmega329P 32 1024 2048 54 Драйвер ЖКИ 4×25 SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP64, MLF64

ATmega3290P 32 1024 2048 69 Драйвер ЖКИ 4×40 SPI, USI, USART 2/1 + + + + 1,8-5,5 20 TQFP100

* — «Спящий» BOD у микроконтроллеров ATmega165P и ATmega169P отсутствует.

** — сертифицированы для автомобильного применения (рабочий диапазон температур от —40 до +125 °С)

Микросхемы, выполненные по технологии picoPower, обладают рядом преимуществ, которые позволяют экономить расходуемую энергию в активном и энергосберегающем режимах:

• напряжение питания от 1,8 В;

• минимизированный ток утечки;

• автоматически отключаемый модуль слежения за уровнем напряжения питания;

• часовой кварцевый генератор 32 768 Гц с повышенной экономичностью;

• сниженная потребляемая мощность модуля Flash-памяти;

• отключение цифровых портов ввода/вывода в аналоговом режиме;

• интеллектуальное управление потребляемой мощностью;

• расширенные возможности по управлению тактированием периферийных модулей. Ниже более подробно рассмотрены особенности нового семейства.

Питание 1,8 В

для всех модулей кристалла

В отличие от микроконтроллеров прежних поколений, технология picoPower подразумевает напряжение 1,8 В для питания абсолютно всех модулей кристалла, включая аналоговые модули (АЦП, компаратор, источник опорного напряжения), а также модулей памяти (Flash-ПЗУ, EEPROM и ОЗУ).

Минимизация токов утечки

Потребление тока в режимах энергосбережения в большей степени определяется токами утечки кристалла. Разработанные технологии фирмой Atmel были объединены под общим названием picoPower. Кристаллы, изготовленные по технологии picoPower, позволяют получить токи утечки в режиме Standby при напряжении питания 1,8 В не более 100 нА (для ATmega165P).

Концепция «спящий BOD»

Практически все современные микроконтроллеры имеют на кристалле модуль слежения за уровнем напряжения питания — BOD (Brown Out Detector). Есть два подхода к снижению потребления этого модуля. Первый — сделать модуль очень экономичным. Плата за экономичность — резкое снижение быстродействия.

Второй — использовать быстродействующий BOD, однако отключать этот модуль на время пребывания контроллера в режиме ожидания. Именно этот подход используется в микроконтроллерах серии picoPower. При этом время срабатывания модуля составляет 2 мкс.

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

Ультранизкопотребляющий генератор на 32 кГц

При переходе контроллера в режим Standby существенный вклад в общее энергопотребление контроллера вносят цепи генератора. Применение новой версии модуля генератора, работающего с «часовым» кварцем, позволяет получить ток не более 650 нА (для ATmega165P) при работающем модуле BOD.

Снижение энергопотребления периферийных узлов в активном режиме

Потребление КМОП-микросхем в активном режиме напрямую зависит от количества одновременно переключаемых вентилей и частоты их переключения вследствие перезаряда паразитных емкостей кристалла.

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

Существует три уровня работы Clock Gating — Analog Domain, CPU Domain и In/Out Domain.

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

Второй уровень задается программированием специального регистра снижения потребляемой мощности (Power Reduction Register, PRR).

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

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

При отключении модуля его текущий статус запоминается, и все его регистры становятся недоступными для модификации. Как показывает статистика, использование такого механизма позволяет снизить суммарную потребляемую мощность на 5-10% в активном режиме и на 10-20% в режиме Idle.

Третий уровень Clock Gating отвечает за адаптивное тактирование регистров. Извест-

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

Снижение потребления модуля Flash-памяти

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

Однако следует учесть, что в ряде случаев контроллер используется не на максимальной тактовой частоте, следовательно, время выборки команды из Flash-ПЗУ меньше одного периода тактовой частоты.

Когда AVR-контроллер работает на частоте не выше нескольких мегагерц, используется техника «Flash sampling» — модуль памяти активизируется только на время, необходимое для выборки команды, а затем отключается.

Снижение токов утечки по входам

Многие AVR-контроллеры имеют модуль АЦП, который использует некоторые порты как аналоговые входы. Мультиплексирование выводов контроллера для цифровых или аналоговых операций повышает функциональность, однако приводит к увеличению энергопотребления. Это объясняется следующим.

Входной каскад КМОП-логики состоит из двух комплементарных МДП-транзисторов. При изменении уровня входного напряжения, в моменты, когда на вход подается уровень, примерно равный половине питания, оба транзистора «приоткрыты», и через входной каскад протекает сквозной ток.

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

Для этого введен специальный регистр DIDR (Dedicated Input Disable Register), который выборочно запрещает цифровые входы при работе АЦП.

Также этот регистр запрещает неиспользуемые входы контроллера при переходе в ждущий режим.

Для управления потребляемой мощностью контроллер имеет шесть режимов энергосбережения:

• Холостой режим (Idle mode) — в этом режиме блокируется подача тактовых импульсов на CPU и Flash-память.

• Режим снижения шума АЦП (ADC noise reduction mode) — холостой режим, плюс блокируется тактирование портов ввода/ вывода.

• Расширенный дежурный режим (Extended Standby mode) — режим снижения шума АЦП, плюс запрещается работа АЦП и EEPROM.

• Дежурный режим (Standby mode) — расширенный дежурный режим, плюс запрещается работа таймера 2.

• Режим отключения (Power Down mode) — дежурный режим, плюс запрещается работа генератора.

• Экономичный режим (Power Save mode) — самый низкопотребляющий режим, активны только асинхронные модули — прерывания и порт TWI.

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

Для систем с автономным питанием наиболее популярны микроконтроллеры со сверхнизким потреблением, среди которых можно выделить продукцию компаний Texas Instruments Inc (серия MSP430), Microchip (серия nanoWatt), Renessas (серия H8/38076R) и Atmel (серия picoPower).

В таблицах 2, 3 для сравнения приведены параметры низкопотребляющих микроконтроллеров этих компаний.

Таблица 2. Потребление в режиме Power Save с включенным генератором 32 кГц

Прибор Типовое значение при 25 °С Максимальное значение при 2,2 В и 85 °С Комментарий

MSP430F435 1,1 мкА (Vcc = 2,2 B) 6 мкА Малопотребляющий BOR

MSP430F2xxx 0,8 мкА (Vcc = 2,2 B) 2,3 мкА Малопотребляющий BOR

ATmega164P 0,5 мкА (Vcc = 1,8 B) Нет данных «Спящий» BOD

ATmega165P 0,55 мкА (Vcc = 1,8 B) 1,6 мкА «Спящий» BOD

HD64F38076Rxxx 0,7 мкА (Vcc = 1,8 B) 5 мкА

Таблица 3. Потребление в режиме Power Down

Прибор Типовое значение при 3,0/5,0 В и 25 °С Максимальное значение при 3,0/5,0 В и 85 °С Комментарий

MSP430F435 0,1 мкА/- 3,5 мкА/ – Макс. Усс 3,6 В

MSP430F2xxx 0,1 мкА/ – 1,9 мкА/ – Макс. Усс 3,6 В

ATmega164P 0,1 мкА/ – 2 мкА/ – Нет данных для 5 В

ATmega165P 0,1 мкА/ 0,6 мкА 2 мкА/ – Нет данных для 5 В

PIC16F88x 0,15 мкА/ 0,35 мкА 1,5 мкА/ 1,8 мкА

PIC18F4220 0,1 мкА/ 0,1 мкА 1,7 мкА/ 6,5 мкА

HD64F38076Rxxx 0,3 мкА/ – 5 мкА/ – Нет данных для 5 В

Примеры применения

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

Линейка контроллеров picoPower включает в себя устройства, которые могут использоваться в автомобилестроении: ATmega164P, ATmega324P и ATmega644P. Они прошли

сертификацию по стандарту ЛEC-Q100 (возможность эксплуатации в жестких условиях) и доступны как в общем, так и в автомобильном исполнении. Во втором случае рабочий температурный диапазон этих контроллеров — от -40 до + 125 °С, а диапазон рабочих напряжений — от 2,7 до 5,5 В.

Микроконтроллеры со встроенным драйвером ЖКИ поддерживают такие возможности, как экономичная генерация сигналов управления ЖКИ, встроенное управление контрастностью, гибкий выбор длительностей сигналов управления и частоты обновления, формирование напряжения питания ЖКИ и продолжение работы после перевода микроконтроллера в экономичный режим работы. По сравнению с существующими аналогичными решениями наличие встроенного источника питания позволит снизить количество внешних компонентов. Для работы с 3,3-вольтовыми ЖКИ потребуется один внешний конденсатор и источник питания напряжением не менее 1,8 В. В типичных приложениях с ЖКИ технология picoPower совместно со встроенным контроллером ЖКИ позволят на годы продлить ресурс батареи питания. При этом себестоимость конечного изделия будет ниже за счет уменьшения количества внешних компонентов.

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

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

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

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

• автоматизация зданий, где технология ZigBee используется для связи с датчиками температуры, влажности, освещения, вентиляции и т. д.;

• системы промышленного контроля и автоматизация производственных процессов;

• домашняя автоматизация и система «умный дом».

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

Решение компании Atmel для сетей ZigBee получило название AVR Z-Link и представляет собой связку 802.15.

4-совместимого приемопередатчика AT86RF230 с микроконтроллером семейства AVR ATmega644(P), ATmega1281 или ATmega2561.

Atmel ZigBee является гибкой системой. Она поддерживается семейством микрокон-

троллеров Atmel AVR 8-битовый RISC с объемом внутренней Flash-памяти от 32 до 256 кбайт. Система Atmel Z-Link при рабочем напряжении 1,8 В потребляет ток 17 мА в режиме передачи, 15 мА — в режиме приема и 0,7 мкА — в спящем режиме. Это наилучшие показатели среди систем 802.15.4, предлагаемых на рынке.

Упрощенный выбор нужного универсального микроконтроллера для конкретного приложения из относительно небольшого, но сбалансированного семейства AVR, хорошая совместимость микроконтроллеров по коду и расположению выводов, отличное соотношение «цена — производительность — энергопотребление» для 8-разрядных микроконтроллеров являются хорошими аргументами в их пользу. Общие тенденции развития AVR показывают, что данная платформа еще долго будет удерживать положительную динамику роста продаж и удовлетворять пожеланиям большого числа конечных поль-

зователей.

Литература

1. Горелков Р. AVR-микроконтроллеры picoPower компании Atmel с ультранизким потреблением. // Компоненты и технологии. 2006. № 12.

2. Королев Н., Шабынин А. Архитектура AVR: развитие вширь и в глубь. Часть 1. // Компоненты и технологии. 2007. № 2.

3. www.atmel.com/products/AVR/picopower

4. www.atmel.com/products/AVR/z-link/

Источник: https://cyberleninka.ru/article/n/semeystvo-mikrokontrollerov-avr-so-sverhnizkim-energopotrebleniem-picopower

Renesas Electronics предлагает 32-битные микроконтроллеры со сверхнизким энергопотреблением и высокой производительностью

Компания Renesas Electronics предлагает 32-битные микроконтроллеры семейства RX110. Они имеют сверхнизкое энергопотребление при высокой производительности, функции цифровой обработки сигналов и привлекательные цены.

Микроконтроллеры рекомендованы для использования в различных применениях, таких как: «Интернет вещей» (Internet of Things), портативные медицинские приборы, датчики/детекторы окружающей среды, строительная и промышленная автоматика, системы для построения интеллектуальных зданий.

Обладая сверхнизким уровнем энергопотреблением в рабочем режиме — не более 100 мкА/МГц, временем пробуждения 4.8 мкс, и тремя режимами пониженного энергопотребления, микроконтроллеры RX110 гарантируют увеличенный срок эксплуатации для устройств, работающих от батарейных источников питания, таких как, измерители уровня глюкозы в крови, системы дистанционного управления или POS-терминалы.

Новые микроконтроллеры обладают тремя рабочими режимами и позволяют достичь удельной производительности ядра 1.56 Dhrystone MIPS (DMIPS)/МГц и 3.08 CoreMark/МГц. В дополнение к этому, Renesas предлагает возможность использовать полноценные DSP-библиотеки, а также выполнять операции аппаратного умножения с накоплением и деления за один такт.

Серия RX100, включая и RX110, удовлетворяет требованиям сертификатов FDA/FCC и IEC60730 по безопасности, и имеет несколько аппаратных функций безопасности, недоступных в других 32-битных микроконтроллерах.

Особенности 32-битных микроконтроллеров RX110:

  • Встроенная схема определения точности тактовой частоты (CAC) ― обеспечивает контроль точности тактовой частоты микроконтроллера.
  • Схема сравнения данных (DOC) ― на аппаратном уровне тестирует оперативную память, выявляя тем самым потенциальную неисправность.
  • Контроль с использованием циклического избыточного кода (CRC) ― аппаратная функция, которая предотвращает рассинхронизацию и искажение данных при их обмене.

Краткие технические характеристики семейства RX110:

  • 32-битное ядро RX, 32 МГц (50 DMIPS)
  • Flash-память: от 8 до 128 KБ, ОЗУ: от 8 до 16 КБ с нулевым временем ожидания
  • Интерфейсы: I2C – 1 канал, SCI до 4 каналов, SPI – 1 канал
  • 12-разрядный АЦП, до 14 каналов
  • 16-разрядные таймеры – до 6 каналов, RTC
  • Напряжение питания: от 1.8 В до 3.6 В
  • Ток потребления 3.2 мА при 32 МГц в режиме RUN
  • Ток потребления 350 нА в режиме Software standby mode
  • Корпуса: WFLGA36, HWQFN40, LFQFP48, HWQFN48, LFQFP64, WFLGA64, LQFP64.

Источник: http://www.eham.ru/news/detail/renesas-electronics-predlagaet-32-bitnye-mikrokontrollery-so-sverhnizkim-energopotrebleniem-i-vysokoj-proizvoditelnostyu_5661

Знакомство с микроконтроллерами Renesas на примере линейки RL78

25 ноября 2014 г. в 11:38, 132

Если среднестатистического русскоговорящего разработчика микроконтроллерной электроники попросить назвать три-пять наиболее известных или крупных производителей микроконтроллеров, вероятнее всего мы услышим в ответ такие имена, как Microchip, Atmel, TI или STM. Кто-то назовет также NXP, Freescale, Samsung или Fujitsu. Но мало кто вспомнит про еще одного производителя, который на постсоветском пространстве почти неизвестен.

Речь идет о японской компании Renesas Electronics, которая, между тем, в своих годовых отчетах демонстрирует весьма интересные данные (рис. 1).

Таким образом, «темная лошадка», о продуктах которой пойдет речь в данной статье, является лидером мирового рынка как микроконтроллеров общего назначения, так и рынка автомобильной электроники, и имеет полное право называть себя «поставщиком микроконтроллеров №1 в мире».

Секрет такого успеха компании прост: Renesas Technology появилась в 2003 г. как совместное предприятие Hitachi и Mitsubishi, а в 2010 г.

к ним также присоединилась Nec Electronics, образовав совместное предприятие Renesas Electronics.

Итог этого сотрудничества – возможность использования хорошо зарекомендовавших себя ядер трех компаний совместно с эффективной специализированной периферией: от Hitachi достались ядра H8, H8S, H8SX и SuperH, от Mitsubishi в руки разработчиков попали M16/M32, R32, 720 и 740, а от NEC – линейки ядер V850 и 78K.

Получив такое количество наработок, Renesas начала разрабатывать новые линейки с использованием доступных компаниям–участникам технологий. На замену Hitachi H8SX и Mitsubishi R32C пришла линейка 32-разрядных микроконтроллеров RX.

В качестве преемника популярного NEC V850 была разработана RH850 – линейка микропроцессоров для применения в автомобильной электронике.

Также было разработано ядро R8C как решение нижнего ценового диапазона, совместимое с Mitsubishi M16C.

Первой самостоятельной разработкой Renesas после объединения с NEC стало новое 16-разрядное ядро RL78 с CISC-архитектурой (рис. 2). В нем разработчики попробовали совместить положительные стороны R8C и 78K0 в одном семействе. На данный момент семейство можно условно разделить на пять «веток» для различного применения:

  • RL78/G1x – микроконтроллеры общего назначения: до 28 каналов ADC, DAC, USB, I2C, SPI, PWM, RTCC.
  • RL78/L1x – микроконтроллеры управления ЖК-панелями: поддержка USB 2.0, управление ЖК-индикаторами до 4х53/8×48 сегментов.
  • RL78/F1x – микроконтроллеры для автомобильной промышленности: поддержка интерфейса CAN, управление двигателями, расширенный диапазон температур (до +150° C).
  • RL78/D1x – микроконтроллеры для приборостроения: контроллер шаговых двигателей на четыре канала прямо «из коробки», управление ЖК-индикаторами до 4х53 сегментов, CAN.
  • RL78/I1x – микроконтроллеры для управления освещением: DALI/DMX512, PWM.

Контроллеры всех семейств могут похвастаться наличием линий DMA, ADC/DAC-преобразователями, поддержкой интерфейсов I2C и SPI, а также поддержкой работы в промышленной сети LIN.

Конвейер CISC ядра RL78 состоит из трех стадий, около 86% инструкций могут быть исполнены за один-два процессорных цикла. Также поддерживается аппаратное исполнение MAC-команд 16 х 16 бит.

В качестве основного преимущества микроконтроллеров RL78 производитель заявляет минимальное энергопотребление, называя линейку не иначе как True Low Power (по-настоящему низкое энергопотребление). Несмотря на это, можно отметить сохранение высокой производительности и широкий диапазон рабочих напряжений.

Для наглядности в общей таблице представлены ключевые характеристики данного контроллера и основных конкурентов от «народных» брендов.

В этой таблице намеренно не упоминается периферия, но и тут перевес определенно не в пользу конкурентов — с периферией у Renesas традиционно все очень хорошо.

Что касается полезных особенностей некоторых представителей линейки, можно отметить следующие:

  • Data transfer control — возможность пересылки данных между периферийными модулями без участия процессора.
  • Event link controller — обмен прерываниями между периферийными модулями без участия процессора.
  • Flash-память c ECC.
  • LVD — детектирование низкого напряжения.
  • Возможность выдавать до 20 мА на GPIO-пин, толерантные 5-В пины.

Все это звучит хорошо и красиво, но так ли удобны микроконтроллеры Renesas при разработке? Чтобы проверить это, возьмем отладочную плату Renesas YRPBRL78G13 (рис. 3) и попробуем оценить порог вхождения для использования микроконтроллеров Renesas серии RL78.

«На борту» платы установлен микроконтроллер R5F100LEAFB, который относится к семейству RL78/G13: 64 кбайт flash-памяти, 4 кбайт RAM, также дополнительно выделено 4 кбайт flash-памяти с увеличенным количеством циклов перезаписи для хранения данных. Встроенный ADC на 12 каналов обеспечивает разрешение до 10 бит, а DMA на два канала поможет сохранять полученные данные в памяти.

Четырнадцать каналов таймеров, семь каналов PWM, три UART и семь I2C — вполне неплохо для «малыша» в корпусе LFQFP64. Данная плата отнесена самим Renesas к разделу демонстрационных (Promotion Boards), поэтому предоставляется бесплатно, как отладочная плата YRPBRL78L12 для RL78/L12 и ряд других.

Для желающих существует также большое количество «больших» отладок, предлагаемых на платной основе.

Плата выполнена в компактном формфакторе 100 х 30 мм и кроме самого контроллера RL78/G13 содержит аппаратный отладчик, позволяющий не только прошивать плату по USB, но и производить внутрисхемную отладку в реальном времени. Плата предусматривает питание как от шины USB, так и от внешнего источника питания. На рис. 4 показана схема YRPBRL78G13.

Внешнее питание (+5 В) может быть подведено на плату напрямую с помощью разъема J4, при этом необходимо перекоммутировать расположенные рядом контактные площадки.

С помощью перемычек J6–J9 можно выбрать режим работы USB-порта, OCD (On Chip Debug) или Vir tual UART (эмулятор COM-порта через USB с помощью дополнительного 8-битного контроллера μPD78F0730 ранее упомянутого семейства 78K0).

Vir tual UART, впрочем, не всегда удобно использовать из-за необходимости постоянно переставлять джамперы при отладке. Поэтому разработчики предусмотрели возможность использования внешнего отладчика Renesas E1, подключаемого через разъем J5.

На длинные линейки J1 и J2 выведены практически все пины микроконтроллера. Коннектор J10 используется для прошивки вспомогательного контроллера 78K0 на производстве. Для контроля энергопотребления микроконтроллера питание к нему подведено через перемычку J3.

Также на плате расположены два светодиода (индикатор питания и пользовательский светодиод) и потенциометр, подключенный к 10-разрядному ADC микроконтроллера. Что интересно, для регулирования потенциометра в комплекте с платой идет маленькая отвертка.

Разработка начинается с документации, и тут Renesas можно назвать примером для подражания: спецификацию без проблем можно найти в свободном доступе, и с их актуальностью и полнотой чаще всего нет проблем. Особое внимание производитель традиционно уделяет описанию периферии и замечаниям по применению (Application Notes).

В связи с широкой распространенностью у Renesas также есть свое онлайн-сообщество со скромным названием Renesas Rulz.

Язык написания кода для RL78 — Си. В качестве среды разработки предлагается многими любимый IAR Embedded Workbench с поддержкой RL78 (версия EWRL78), традиционно существует его бесплатная версия KickStart edition с ограничением на размер кода в 16 кбайт.

Встроенный в IAR отладчик C-SPY полностью поддерживается: можно ставить точки останова и свободно гулять по коду с просмотром регистров/переменных.

Также в качестве среды разработки возможно использование e2 studio (Eclipse Embedded Studio) с отладчиком GDB, а также множество других утилит.

Код прошивки можно писать как для «голого» железа, так и с использованием RTOS: производитель предлагает при-менять реализации FreeRTOS, CMX-RTX, Micrium μC/OS, OSEK Run Time Interface (ORTI), Express Logic или Segger embOS. Для любителей домашней автоматизации существует реализация стека KNX.

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

Наиболее интересный подход с точки зрения разработки программного кода Renesas демонстрирует своей графической утилитой Applilet, которая позволяет в удобном человеко-понятном виде сконфигурировать всю используемую микроконтроллером периферию, gpio, подсистему прерываний и режимы работы ADC/DAC, а затем на основании этой конфигурации сгенерировать код инициализации и «заглушки» для всех обработчиков событий. Сгенерированный код можно затем использовать в качестве основы проекта и, при условии соблюдения правил организации кода, в любой момент иметь возможность изменения конфигурации готового проекта.

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

Таким образом, порог вхождения для RL78 значительно снижается: даже разработчик без опыта программирования микроконтроллеров сможет написать простую прошивку за минимальное время.

Источник: https://www.elec.ru/articles/znakomstvo-s-mikrokontrollerami-renesas-na-primere/

Знакомство с микроконтроллерами Renesas на примере линейки RL78

  Если среднестатистического русскоговорящего разработчика микроконтроллерной электроники попросить назвать 3–5 наиболее известных или крупных производителей микроконтроллеров, наиболее вероятно услышать в ответ такие имена как Microchip, Atmel, TI или STM.

Кто-то назовет также NXP, Freescale, Samsung или Fujitsu. Но мало кто вспомнит про еще одного производителя, который на постсоветском пространстве почти неизвестен.

  Речь идет о японской компании Renesas Electronics, которая, между тем, в своих годовых отчетах хвастается вот такой интересной инфографикой…

Микроконтроллеры общего применения: микроконтроллеры для различных сфер применения, исключая автомобильную электронику   Таким образом, «темная лошадка», о продуктах которой пойдет речь ниже, является лидером мирового рынка как микроконтроллеров общего назначения, так и рынка автомобильной электроники, и имеет полное право называть себя «поставщиком микроконтроллеров №1 в мире». Секрет такого успеха компании прост: Renesas Technology появилась в 2003 году как совместное предприятие Hitachi и Mitsubishi, а в 2010 году к ним также присоединилась Nec Electronics, образовав совместное предприятие Renesas Electronics.  

Итог этого сотрудничества — возможность использования хорошо зарекомендовавших себя ядер трех компаний совместно с эффективной специализированной периферией:

  • От Hitachi были использованы ядра H8, H8S, H8SX и SuperH.
  • От Mitsubishi в руки разработчиков попали ядра M16/M32, R32, 720 и 740.
  • От NEC — линейки ядер V850 и 78K.

Получив такое количество наработок, Renesas начала разрабатывать новые линейки с использованием доступных компаниям-участникам технологий. На замену Hitachi H8SX и Mitsubishi R32C пришла линейка 32-разрядных микроконтроллеров RX.

В качестве преемника популярного NEC V850 была разработана RH850 — линейка микропроцессоров для применения в автомобильной электронике. Также было разработано ядро R8C как решение нижнего ценового диапазона, совместимое с Mitsubishi M16C.

 

Первой самостоятельной разработкой Renesas после объединения с NEC стало новое 16-ти разрядное ядро RL78 с CISC-архитектурой. В нем разработчики попробовали совместить положительные стороны R8C и 78K0 в одном семействе. На данный момент семейство можно условно разделить на 5 «веток» для различного применения:

  1. RL78/G1x — микроконтроллеры общего назначения: до 28 каналов ADC, DAC, USB, I2C, SPI, PWM, RTCC.
  2. RL78/L1x — микроконтроллеры управления ЖКИ-панелями: поддержка USB 2.0, управление ЖКИ-индикаторами до 4х53 / 8×48 сегментов.
  3. RL78/F1x — микроконтроллеры для автомобильной промышленности: поддержка интерфейса CAN, управление двигателями, расширенный диапазон температур до +150 ºC.
  4. RL78/D1x — микроконтроллеры для приборостроения: контроллер шаговых двигателей на 4 канала прямо «из коробки», управление ЖКИ-индикаторами до 4х53 сегментов, CAN.
  5. RL78/I1x — микроконтроллеры для управления освещением: DALI/DMX512, PWM.

Ассортимент микроконтроллеров RL78 просто огромен, подобрать подходящую под конкретное использование модель не составит труда. Контроллеры всех семейств могут похвастаться наличием линий DMA, ADC/DAC-преобразователями, поддержкой интерфейсов I2C и SPI, а также поддержкой работы в промышленной сети LIN.

  Конвейер CISC ядра RL78 состоит из 3-х стадий, около 86% инструкций могут быть исполнены за 1–2 процессорных цикла. Также поддерживается аппаратное исполнение MAC-команд 16х16 бит.

  В качестве основного преимущества микроконтроллеров RL78 производитель заявляет минимальное энергопотребление, называя линейку не иначе как true low power (по-настоящему низкое энергопотребление). Не смотря на это можно отметить сохранение высокой производительности и широкий диапазон рабочих напряжений.

   Для наглядности сведем в общую таблицу ключевые характеристики данного контроллера и основных конкурентов от «народных» брендов:  

Сравнение характеристик популярных микроконтроллеров

STM8L STM32L PIC24 Lite MSP430 RL78
Разрядность 8 бит 32 бита 16 бит 16 бит 16 бит
Производительность ~1 DMIPS / МГц, 16 МГц max ~1,04 DMIPS / МГц, 32 МГц max ~0,5 MIPS / МГц, 32 МГц max ~1 DMIPS / МГц, 25 МГц max ~1,3 DMIPS / МГц, 32 МГц max
Flash 2-64 КБ 32-384 КБ 16-32 КБ 0,5-512 КБ 0,125-512 КБ
RAM 1-4 КБ 4-48 КБ 1-2 КБ 0,125-66 КБ 1-32 КБ
Потребление раб. 150-180 μA/МГц 214-230 μA/МГц 195-350 μA/МГц 80-280 μA/МГц 46-156,25 μA/МГц
Потребление сон + RTC 1,3 μA 0,9 μA 0,5-0,7 μA 0,7 μA 0,56-0,68 μA
Диапазон питания 1,65-3,6 В 1,65-3,6 В 1,8-3,6 / 2,0-5,5 В 1,65-3,6 B 1,6-5,5 В
Примерный диапазон цен 0,5-4,5 $ 1,5-7,7 $ 0,8-4,2 $ 0,34-9,5 $ 0,68-8$

В этой таблице намеренно не упоминается периферия, но и тут перевес определенно не в пользу конкурентов — с периферией у Renesas традиционно все очень хорошо.  

Что касается полезных особенностей некоторых представителей линейки, можно отметить следующее:

  • Data transfer control — возможность пересылки данных между периферийными модулями без участия процессора.
  • Event link controller — обмен прерываниями между периферийными модулями без участия процессора.
  • Flash-память c ECC.
  • LVD — детектирование низкого напряжения.
  • Возможность выдавать до 20 мА на GPIO пин, 5В-толерантные пины.

Все это звучит хорошо и красиво, но так ли удобны микроконтроллеры Renesas при разработке? Чтобы проверить это, возьмем отладочную плату Renesas YRPBRL78G13 и попробуем оценить порог вхождения для использования микроконтроллеров Renesas серии RL78.

  «На борту» платы установлен микроконтроллер R5F100LEAFB, который относится к семейству RL78/G13: 64 КБ flash-памяти, 4 КБ RAM, также дополнительно выделено 4 КБ flash-памяти с увеличенным количеством циклов перезаписи для хранения данных. Встроенный ADC на 12 каналов обеспечивает разрешение до 10 бит, а DMA на 2 канала поможет сохранять полученные данные в памяти.

Четырнадцать каналов таймеров, семь каналов PWM, три UART-а и семь I2C — вполне неплохо для «малыша» в корпусе LFQFP64 за 1,64$ (правда, в партиях от 1000 штук).   Данная плата отнесена самим Renesas к разделу демонстрационных (promotion boards), поэтому её розничная стоимость составляет 25$.

Справедливости ради, это не самое интересное предложение компании, отладочная плата YRPBRL78L12 на RL78/L12 на данный момент предлагается всего за 10$. Для желающих существует также большое количество больших, «взрослых» отладок.  

Отладочная плата Renesas YRPBRL78G13   Плата выполнена в компактном форм-факторе 100х30 мм и кроме самого контроллера RL78/G13 содержит аппаратный отладчик, позволяющий не только прошивать плату по USB, но и производить внутрисхемную отладку в реальном времени. Плата предусматривает питание как от шины USB, так и от внешнего источника питания.  
Схема отладочной платы Renesas YRPBRL78G13   Внешнее питание (+5В) может быть подведено на плату напрямую с помощью разъема J4, при этом необходимо перекоммутировать расположенные рядом контактные площадки. С помощью перемычек J6–J9 можно выбрать решим работы USB-порта, OCD (On Chip Debug) или Virtual UART (эмулятор COM-порта через USB с помощью дополнительного 8-ми битного контроллера μPD78F0730 ранее упомянутого семейства 78K0). Virtual UART, впрочем, не всегда удобно использовать из-за необходимости постоянно переставлять джамперы при отладке. При необходимости можно использовать и внешний отладчик Renesas E1, подключаемый через разъем J5.   На длинные линейки J1 и J2 выведены практически все пины микроконтроллера. Коннектор J10 используется для прошивки вспомогательного контроллера 78K0 на производстве. Для контроля энергопотребления микроконтроллера питание к нему подведено через перемычку J3.   Также на плате расположено два светодиода (индикатор питания и пользовательский светодиод) и потенциометр, подключенный к 10-разрядному ADC микроконтроллера. Что интересно, для регулирования потенциометра в комплекте с платой идет маленькая отвертка.   Итак, с аппаратной частью все ясно, теперь посмотрим, что Renesas предлагает разработчикам программного обеспечения.   Разработка начинается с документации, и тут Renesas можно назвать примером для подражания: спецификацию без проблем можно найти в свободном доступе, и с их актуальностью и полнотой чаще всего нет проблем — непосвященного человека объем документации может даже испугать. Особое внимание производитель традиционно уделяет описанию периферии и замечаниям по применению (application notes). В связи с широкой распространенностью у Renesas также есть свое онлайн-сообщество со скромным названием Renesas Rulz.   Язык написания кода для RL78 — Си. В качестве среды разработки предлагается многими любимый IAR Embedded Workbench с поддержкой RL78 (версия EWRL78), традиционно существует его бесплатная версия KickStart edition с ограничением на размер кода в 16 КБ. Встроенный в IAR отладчик C-SPY полностью поддерживается: можно ставить точки останова и свободно гулять по коду с просмотром регистров/переменных. Также в качестве среды разработки возможно использование e² studio (eclipse embedded studio) с отладчиком GDB, а также множество других утилит.   Код прошивки можно писать как для «голого» железа, так и с использованием RTOS: производитель предлагает использовать реализации FreeRTOS, CMX-RTX, Micrium μC/OS, OSEK Run Time Interface (ORTI), Express Logic или Segger embOS. Для любителей домашней автоматизации существует реализация стека KNX.   Для заливки прошивки в контроллер существует множество приложений, например бесплатная утилита WriteEZ5. Эта утилита универсальна: для поддержки определенной модели микроконтроллера достаточно скачать соответствующий конфигурационный файл в формате pr5 и указать на него программе перед прошивкой.   Наиболее интересный подход с точки зрения разработки программного кода Renesas демонстрирует своей графической утилитой Applilet. Эта утилита позволяет в удобном человеко-понятном виде сконфигурировать всю используемую микроконтроллером периферию, gpio, подсистему прерываний и режимы работы ADC/DAC, а затем на основании этой конфигурации сгенерировать код инициализации и «заглушки» для всех обработчиков событий. Сгенерированный код можно затем использовать в качестве основы проекта и, при условии соблюдения правил организации кода (об этом ниже), в любой момент иметь возможность изменения конфигурации готового проекта.   Такой подход позволит сконцентрироваться на логике приложения, инициализацию периферии и API для её управления сгенерированный утилитой код возьмет на себя. При этом нет необходимости разбираться с монстроподобными библиотеками работы с периферией, как это часто бывает у других вендоров, а генерируемый код гарантированно содержит минимум избыточности.   Таким образом, порог вхождения для RL78 значительно снижается, даже разработчик без опыта программирования микроконтроллеров сможет написать простую прошивку за минимальное время.   В качестве примера покажем, как написать традиционный Hello world из мира микроконтроллеров — помигаем светодиодом. А чтобы было не так скучно, мигать мы будет не просто так, а используя широтно-импульсную модуляцию и таймеры для плавного включения и выключения светодиода. Всего нам понадобится 3 таймера — 2 из них будут использованы для ШИМа, а по третьему мы будем плавно менять скважность импульсов, что в нашем случае приведет к изменению яркости.   Откроем утилиту Applilet от Renesas и создадим новый проект для контроллера R5F100LEAFB:  
Новый проект в окне утилиты Applilet3 for RL78/G13   Так выглядит окно утилиты Applilet текущей на данный момент версии 3, открытое на вкладке настройки нулевого канала таймера. При использовании соответствующего режима работы канал 0 отведен под таймер, задающий период ШИМа, поэтому настройками не изобилует. При включении прерывания INTTM00, ровно как и любого другого прерывания от периферии, в генерируемый утилитой код будет автоматически добавлен (и инициализирован) код «заглушки» данного прерывания.   Канал 1 непосредственно задает активную часть периода, поэтому на вкладке его конфигурации можно задать ширину активного уровня (в процентах от периода канала 0) и настройки уровня:  
Настройки канала 1 в окне утилиты Applilet3 for RL78/G13   Также нам понадобится так называемый интервальный таймер, который будет генерировать прерывание каждые 0,2 секунды. Его настройка также сводится к паре «галочек» в интерфейсе утилиты Applilet.  
Настройка интервального таймера в окне утилиты Applilet3 for RL78/G13   Ну и конечно, нам понадобится перевести пин P77, к которому подключен наш светодиод, в режим вывода.  
Настройка пин P77в окне утилиты Applilet3 for RL78/G13   На этом можно остановиться, сохранить проект и нажать заветную кнопку Generate code (сгенерировать код). В качестве среды разработки будем использовать IAR.   Посмотрим на файлы сгенерированного проекта: r_cg_cgc.c r_cg_cgc_user.c r_cg_it.c r_cg_it_user.c r_cg_port.c r_cg_port_user.c r_cg_timer.c r_cg_timer_user.c r_main.c r_systeminit.c   Как можно понять из их названий, весь код разбит на модули согласно выполняемым функциям: clock generator, interval timer, gpio, timers, а также основной цикл программы (в нашем случае – пустой) и код низкоуровневой инициализации контроллера. В файлах вида *_user.c содержатся заглушки обработчиков событий соответствующей периферии.   Откроем файл r_cg_it_user.c и модифицируем обработчик интервального таймера. Каждый вызов обработчика будет производиться уменьшение либо увеличение скважности ШИМа на величину, задаваемую количеством шагов STEPS_NUM. При достижении максимума или минимума, направление изменения яркости меняем на противоположное.#pragma vector = INTIT_vect
__interrupt static void r_it_interrupt(void)
{ /* Start user code. Do not edit comment generated here */ int16_t TDR0_value, TDR1_value, step; R_TAU0_Channel0_Stop(); TDR0_value = TDR00; TDR1_value = TDR01; step = TDR0_value / STEPS_NUM; if (moving_up == 1) { if (TDR1_value > TDR0_value – step) moving_up = 0; else TDR1_value += step; } else { if (TDR1_value < step) moving_up = 1; else TDR1_value -= step; } TDR01 = TDR1_value; R_TAU0_Channel0_Start(); /* End user code. Do not edit comment generated here */ }

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

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

  Единственное что нам осталось добавить в проект – связь состояния ШИМа и пина P77, к которому подключен светодиод. Для этого при срабатывании прерывания канала 0 таймера устанавливаем ножку контроллера в единицу:

#pragma vector = INTTM00_vect
__interrupt static void r_tau0_channel0_interrupt(void)
{ /* Start user code. Do not edit comment generated here */ P7_bit.no7 |= 1; /* End user code. Do not edit comment generated here */
}

А для канала 1 – сбрасываем это значение в ноль:
 

#pragma vector = INTTM01_vect
__interrupt static void r_tau0_channel1_interrupt(void)
{ /* Start user code. Do not edit comment generated here */ P7_bit.no7 &= 0; /* End user code. Do not edit comment generated here */
}

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

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

Вопросы и комментарии приветствуются.

P.S. Эта статья была опубликована в новом номере печатного журнала «Вестник электроники».

Источник: http://www.pvsm.ru/zhelezo/63192

Ссылка на основную публикацию
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}