Рубрика «Cortex» - 2

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

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

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

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

Тактирование микроконтроллеров Atmel SAMD20-21 - 1
Согласно документации на микроконтроллеры 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, шин.

Читать полностью »

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

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

Atmel® Software Framework (ASF) — программная библиотека для микроконтроллеров, которая содержит широкий набор встраиваемого кода для микроконтроллеров Atmel из всех семейств: megaAVR, AVR XMEGA, AVR UC3 и SAM.
Основные преимущества:

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

Atmel Software Framework (ASF): как это работает? - 1
Читать полностью »

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

Все, что вы хотели узнать о Cortex – новой группе Twitter по разработкам, связанным с искусственным интеллектом - 1

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

Несколько недавних объявлений о приеме на работу освещают некоторые детали касательно новой группы Cortex, которая смогла бы помочь компании лучше персонализировать свои услуги для 300 миллионов пользователей сервиса и не отставать от Google и Facebook во все нарастающей гонке в отрасли ИИ.
Читать полностью »

Оценочные платы ST Nucleo:

image

Это открытая, недорогая и легко расширяемая отладочная платформа для разработки с широким выбором специальных плат расширения, для всей линейки 32-х битных микроконтроллеров STM32 архитектуры ARM Cortex-M3 и Cortex-M4.

image

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

Этот короткий пост может слегка напомнить некое исследование рынка по теоретической заметке "Микроконтроллеры устарели?".
Свежий взгляд на микроконтроллеры

На исследование микроконтроллеров и готовых плат натолкнула одна из небольших поделок, над которой сейчас работаю. В частности, необходим довольно компактный контроллер с 20 входами/выходами, и позволяющий выступать в роли ведомого USB устройства. Первый взгляд упал на Teensy, довольно компактный, на чипе Atmega32U4. Смутила только цена, $24 за устройство с распаянными ножками плюс доставка. Всего лишь чуть менее, чем вдвое дешевле, чем мне обошёлся, заказанный в апреле и пришедший лишь сегодня, Raspberry model B (ура!).
Цены на Arduino, Propeller также неприятно удивили.
Собственно, посетила мысль просто поставить сам чип на печатную плату и не заморачиваться с отдельным контроллером, но и Atmega32U не дёшев, около 4 евро за штуку (32U2) 5.5 евро за 32U4, и цены на них не снижаются, а, наоборот, растут.

С AVR'ами серии USB (90USB, 8U. 16U. 32U) смущает ещё то, что те пробные прошивки, что я делал по примерам, занимали около 18КБ, в основном занимаемые кодом работы с USB (LUFA/какое-то доморощенное от Teensy), а флеш памяти в половине этих устройств уже меньше. Что там с потреблением оперативной памяти, вообще сказать тяжело, хватит ли 1КБ? Без какого-то либо опыта оптимизации кода на C лезть в эти дебри совершенно не хотелось.

Читать полностью »

Заказал недавно на одном из китайских ресурсов вот такое устройство, с непретенциозным названием GV-2B.
Устройство GV2 B и возможности его применения
Кто является производителем определить не предоставляется возможным, поставщики умело скрывают это, прикрываясь слабым знанием английского.

Я колебался с выбором между GV-3 на Cortex A9 с Mali400MP (на Amlogic 8726-M) аналогичного GV-2B форм-фактора, и стиком (размером не многим более USB флешки) тоже на Cortex A9, целиком построенный на reference board от Renesas. Недостатком последнего является уменьшенное количество разьёмов подключения (есть HDMI, 1xUSB и 1xmicroSD). Изначально я планировал взять Raspberry Pi, уже был заказан корпус, USB хаб, WiFi и Bluetooth затычки, блок питания, но выяснилось, что в Россию Raspberry эксклюзивно не поставляется. Добрые ребята из ModMyPi, продающие корпуса к нему пообещали заказать несколько штук и отправлять в РФ вместе с заказом корпусов, но пока тишина.
Наверное, стоило взять GV-3, но, судя по обзорам, Rockchip 2918 не сильно отстаёт, а местами и быстрее Amlogic 8726-M при прочих равных.

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

Расскажу немного и о самом устройстве, и о том, на чём оно сделано, и как я планирую его использовать.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js