Как стать автором
Обновить

Компания Rainbow временно не ведёт блог на Хабре

Сначала показывать

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

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

Компании Dialog и Atmel объявили о слиянии. Комментарии официального дистрибьютора в России

Время на прочтение3 мин
Количество просмотров7.3K
Многие уже слышали, что в полупроводниковой отрасли объявлено об очередном крупном слиянии в области электроники. 20 сентября 2015г. компании Atmel Corporation и Dialog Semiconductor выпустили пресс-релизы о предстоящей сделке. Согласно пресс-релизу, Dialog приобретает Atmel за сумму около 4.6 миллиарда долларов США. По условиям соглашения акционеры Atmel получат $4.65 наличными и 0.112 американской депозитарной акции Dialog за каждую принадлежащую им ценную бумагу, что в сумме составляет $10.42 за акцию по состоянию на 18 сентября 2015г. Закрыть сделку предполагается в первом квартале 2016г. По завершении процесса слияния акционеры Atmel будут владеть 38% акций новой компании. До этого срока обе компании будут вести деятельность раздельно.


Мы (компания Rainbow), как официальный дистрибьютор Atmel в России хотим дать некоторые свои комментарии по поводу данной сделки и её влияния на российский рынок разработки электроники.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии9

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

Время на прочтение5 мин
Количество просмотров9.7K

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

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


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

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

Время на прочтение6 мин
Количество просмотров8K

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



Согласно документации на микроконтроллеры 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
Комментарии1

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

Время на прочтение3 мин
Количество просмотров16K

Для одного из проектов по автоматизации потребовалось сделать устройство, которое является подчинённым 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
Комментарии8

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

Время на прочтение5 мин
Количество просмотров21K

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


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



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

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

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

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

Добавление Wi-Fi к различным устройствам

Время на прочтение4 мин
Количество просмотров49K

Предисловие


Один мой хороший товарищ занимается автоматизацией зданий. И вот как-то за кружкой пива пожаловался он мне на один из объектов, который находится у него в эксплуатации. «Головой» всей тамошней автоматики является ПЛК 100 известного отечественного производителя ОВЕН. Работает он автономно, без постороннего вмешательства, но раз в месяц необходимо с него снимать логи и контролировать общую исправность всей автоматики в здании. Проблема в том, что в шкафу, в котором расположен ПЛК, по каким-то причинам не провели Ethernet от местной сетки. Дотянуть провод, по неким организационным причинам не представляется возможным. И вешать GSM модем нельзя, т.к. шкаф находится в подвале, где нету сети. При этом до шкафа с ПЛК добивает местная Wi-Fi сеть, однако у ПЛК 100 нет Wi-Fi.
И вот приходится каждый месяц ездить на объект с ноутбуком, включаться переходником USB-RS232 в прибор и снимать логи. В результате, я пообещал «допилить» ПЛК, добавив в него Wi-Fi.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии23

Удаленная отладка в Linux при помощи связки GDB-gdbserver

Время на прочтение9 мин
Количество просмотров54K
Как всем нам известно, процесс отладки это такая вещь, важность которой трудно переоценить. Причем, понимая важность таких методов как дебажное моргание светодиодами и вывод дебажных сообщений в порт, я остаюсь при мнении, что эффективнее пошаговой отладки пока ничего не придумано. Однако, задача пошаговой отладки становится не такой тривиальной в случае программирования под Linux на встраиваемых системах (таких как rasbery pi, virt2real или промышленные процессорные модули).

Данную задачу в Linux призвана решать стандартная связка программ GDB и gdbserver. Идея в том, что пишешь на компе программу (host в терминологии GDB), компилируешь её и заливаешь на целевое устройство (target). Далее запускаешь на целевом устройстве (target) отлаживаемый файл и gdbserver, а на хосте GDB и вперед.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии12
2