Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Управление офисным освещением по Wi-Fi. Часть 1: Wi-Fi модуль Atmel WINC1500

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *
Tutorial

Введение


В данном цикле статей речь пойдет не о DIY разработке а-ля «Умный офис» или «коробочном» продукте, который мы предлагаем купить. Целью цикла является ознакомление читателей с основами работы по трем продуктам небезызвестной компании Atmel:
  • Микроконтроллером из серии SAMD21 с ядром Cortex-M0+
  • Wi-Fi модулем WINC1500
  • Технологией сенсорных кнопок Q-touch

Только вместо привычного мигания светодиодом на отладке, мы для пущей масштабности решили помигать светильниками в нашем офисе через Wi-Fi сеть с использованием промышленного протокола ModBus TCP, а управлять будем при помощи сенсорных кнопок и слайдеров. Использовать для этого будем уже хорошо знакому нашим читателям отладочную плату SAMD21 Xplained Pro, c 2-мя подключенными к ней модулями расширения ATWINC1500-XPRO и ATQT1-XPRO. Подключив модули расширения к отладке получаем следующую конструкцию:

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 11K
Комментарии 0

Управление офисным освещением по Wi-Fi. Часть 2: Сенсорная технология Q-touch

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *
Tutorial
Продолжаем наш амбициозный «Hello, World!» на отладочной плате Atmel SAMD21 Xplained, затеянный в первой части, в которой была описана работа с Wi-Fi модулем WINC1500.
Сегодня будет продемонстрирован пример обработки сенсорных кнопок и слайдера при помощи библиотеки Q-touch.

В третьей части цикла, как и было обещано, данные с этих сенсоров будут «запаковываться» в посылку ModBus TCP и передаваться по Wi-Fi в систему управления освещением в нашем офисе.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 6.6K
Комментарии 0

USB bootloader на микроконтроллере: обновление прошивки с флешки

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

Поэтому важность наличия bootloader'а во вновь разрабатываемых устройствах в большинстве случаев не вызывает сомнений. В данной статье пойдет речь о разработке bootloader'а по интерфейсу USB на микроконтроллере Atmel SAM D21 с ядром Cortex M0+. А конкретно на SAMD21J18A. У микроконтроллеров SAM D20/21 нет предзаписанного бутлоадера, поэтому придётся заниматься его программной реализацией. На сайте Atmel можно найти Application notes, как сделать его с использованием стандартных интерфейсов (UART, I2C, SPI, USB). Под катом описание процесса создания USB-бутлоадера.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 16K
Комментарии 6

Atmel Software Framework (ASF): как это работает?

Блог компании Rainbow Программирование микроконтроллеров *
Tutorial

Немного теории


Atmel Software Framework (ASF) — программная библиотека, которая содержит широкий набор встраиваемого кода для микроконтроллеров Atmel всех семейств: megaAVR, AVR XMEGA, AVR UC3 и SAM.
Основные преимущества:
  • Упрощается использование и освоение микроконтроллеров, так как библиотека написана на высоком и среднем уровнях абстракции;
  • ASF разработана для использования на любой стадии проектирования;
  • ASF интегрирована в Atmel Studio с графическим пользовательским интерфейсом, но также может использоваться с компиляторами IAR и GCC;
  • ASF бесплатна.



Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 18K
Комментарии 3

1-Wire slave на МК. Часть 1: Железо

Блог компании Rainbow Программирование микроконтроллеров *

Для одного из проектов по автоматизации потребовалось сделать устройство, которое является подчинённым 1-Wire устройством, принимает команды от мастера и выставляет на своих выходах значение аналогового сигнала в диапазоне от 0 до 10В.
Проанализировав линейку стандартных микросхем 1-Wire от Maxim, стало ясно, что нет микросхемы, которая позволит реализовать подобный функционал.
Потому было принято решение реализовывать 1-Wire slave на микроконтроллере. Надеюсь, данный материал будет интересен и полезен людям, которые делают «умный дом» своими руками, т.к. 1-Wire достаточно популярная шина в подобных проектах. В качестве камня был выбран МК Cortex M0+ ATSAMD20G16 от Atmel, но о реализации в коде расскажем во второй части. Забегая немного вперед, скажу что в третьей части цикла пойдет речь о реализации собственного семейства устройств для линуксовой библиотеки OWFS (One Wire File System). А сегодня расскажем о некоторых аппаратных решениях, к которым мы пришли в процессе разработки.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 14K
Комментарии 8

Тактирование микроконтроллеров Atmel SAMD20/21

Блог компании Rainbow Программирование микроконтроллеров *

Немного теории



Согласно документации на микроконтроллеры Atmel серии SAMD20/21 система тактирования состоит из следующих блоков:
  • блок источников сигнала (управляется SYSCTRL)
    • Clock source – это базовая частота в системе. Это может быть, например, внутренний осциллятор 8 МГц (OSC8M), внешний осциллятор (XOSC), блок цифровой фазовой автоподстройки частоты (DFLL48M);
  • базовый контроллер тактовой частоты (GLCK-generic clock controller), который управляет системой распределения тактовых сигналов и состоит из:
    • базовых генераторов частоты (Generic Clock Generator) — это программируемый предделитель, к которому может быть подключен любой источник сигнала. С выхода генератора 0 (GCLKGEN[0], GCLK_MAIN) сигнал идет на блок управления питанием (Power manager), который генерирует главный тактовый сигнал;
    • базовые тактовые сигналы (Generic Clocks) – обычно это сигналы, которые тактируют периферию. Базовые тактовые сигналы, с помощью базовых мультиплексоров сигнала могут использовать любой из доступных в системе тактовых сигналов. Разные периферийные блоки могут использовать разные тактовые сигналы. Выход мультиплексора 0 используется как источник опорного сигнала для блока цифровой фазовой автоподстройки частоты. Обратите внимание, что в таком случае выход с DFLL не должен использоваться как опорный сигнал для генератора, выход которого используется как опорный для мультиплексора 0.
  • блок управления питанием (PM – Power manager)
    • блок управления питанием управляет синхронным тактированием системы. Это включает в себя CPU, шины (APB, AHB) и синхронную (с точки зрения CPU) периферию. Он содержит маски тактирования, с помощью которых можно включать и выключать пользовательский интерфейс периферии, а также делители для тактовых сигналов CPU, шин.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 6.5K
Комментарии 1

1-Wire slave на МК. Часть 2: Реализация в коде

Блог компании Rainbow Программирование микроконтроллеров *

Первая статья цикла: 1-Wire slave на МК. Часть 1: Железо

Что есть в инетрнете по 1-Wire slave


В интернете про реализацию 1-Wire мастера можно найти множество информации, статей, application notes для микроконтроллеров на любой вкус и цвет.
А вот для реализации со стороны Slave материалов немного. Исходных кодов и того меньше. В итоге был найден один исходник для PIC, с ассемблерными вставками и ошибками. Недавно появилась статья на хабре для MSP430 от resetnow. Под катом наш вариант реализации задачи.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 8.3K
Комментарии 0

Удаленное обновление прошивки микроконтроллера

Блог компании Rainbow Программирование микроконтроллеров *
В одной из прошлых статей мы писали про USB bootloader на микроконтроллере SAM D21 с ядром Cortex M0+. Использование флешки для обновления прошивки очень удобно, но подходит не для всех случаев. Например, если доступ к устройству ограничен или проблематичен, а связь с ним устанавливается удаленно. В подобных случаях, к разработке бутлоадера следует отнестись с особой тщательностью. Иначе, в случае ошибки высока вероятность получить «кирпич» и огромное число проблем себе на голову. Примером такого труднодоступного устройства может быть управляющая плата «умного» архитектурного светильника, висящего на фасаде здания на 7-м этаже.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 9.3K
Комментарии 3

Интересные семейства микроконтроллеров Cortex от Atmel

Блог компании Rainbow Программирование микроконтроллеров *


Общаясь с разработчиками различной электроники (как любителями, так и профессионалами), я и мои коллеги обратили внимание, что широкой публике практически неизвестны микроконтроллеры Atmel на платформе Cortex-M. Я решил подготовить обзор по новым семействам микроконтроллеров, чтобы показать: не AVRом единым интересен Atmel.

Немного истории
Эпоха ARM Cortex-M началась с платформы Cortex-M3. Несмотря на то, что Atmel стал одним из первых производителей микроконтроллеров на платформе ARM7TDMI, компания не проявила интереса к новой платформе, сфокусировавшись на развитии собственных платформ. В результате этого, первыми серийными контроллерами нового типа стали микроконтроллеры STM32 от компании ST.

Вторым обстоятельством послужило то, что выпуск первых микроконтроллеров на платформе Cortex-M у Atmel пришелся не на лучшие времена. Следствием этого стали существенно более высокие цены на Atmel’овские контроллеры в сравнении с ST.
Оба этих обстоятельства закрепили приоритет за микроконтроллерами STM32. Причем это лидерство год за годом закреплялось все сильнее, поскольку в Сети стало появляться все больше и больше материалов по разработке на STM32. А к аналогам от Atmel на нашем рынке стал применяться один из двух стереотипов:
1. Atmel = AVR
2. Cortex’ы от Atmel дорогие и не интересны для использования.

Если первый стереотип развеивается заходом в соответствующий раздел на сайте Atmel, то со вторым все немного сложнее. С ним мы и попробуем разобраться.


В обзоре я не стану перечислять все семейства, расскажу только о тех, которые отвечают одному или обоим критериям:
• уникальные особенности семейства;
• цена лучше, чем у конкурентов, или сопоставима (здесь я вынужден сделать оговорку, что речь идет о сопоставимости оптовых цен).

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 14K
Комментарии 4

Беспроводные решения Atmel для IoT

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *


Представляем обзор новых продуктов Atmel по беспроводке, вышедших в 2015 году и позиционируемых как решения для применения в разработке устройств Internet of Things. С точки зрения Atmel, фундаментальными требования к подобным продуктам является минитюаризация, высока степень интеграции решений, низкое потребление и низкая стоимость.

В статье внимание будет уделено линейкам WiFi, BLE и микроконтроллерам Cortex M0 со встроенным радиопередатчиком на 2.4 МГц.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 9.4K
Комментарии 8

Тетрис на микроконтроллере в Tera Term

Блог компании Rainbow Программирование микроконтроллеров *
В этом году компания Atmel анонсировала линейку «младших» кортексов М0+ семейства SAM D09, SAM D10, SAM D11. Эти не сильно «навороченные» контроллеры имеют низкую цену и небольшие корпуса. Причем в линейке присутствуют камни в легкопаяемых корпусах SOIC-14 и SOIC-20. Для ознакомления с возможностями контроллера доступны очень дешевые отладки из серии Xplained mini, которые совместимы с шилдами от Arduino. Эти особенности, возможно, вызовут интерес не только среди профессиональных разработчиков, но и у радиолюбителей.

Когда отладки попали к нам в руки, захотелось вместо «серьёзной» демонстрационной задачи в честь приближающегося Нового года сделать что-нибудь забавное и креативное. Мы поскребли по сусекам и нашли старенький проектик — тетрис на MEGA168 через терминалку и решили портировать его на новый камень и представить общественности. Практического смысла в этом никакого, что называется Just for fun. Кому интересны подробности, прошу под кат.


Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 5K
Комментарии 6