Рубрика «микроконтроллеры» - 29

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

История эта началась с проектирования переносного устройства, в котором было желательно уменьшить потребление от аккумулятора в режиме отключения, но механический переключатель был неприемлем в силу конструктивных особенностей. Также было нежелательно использовать транзистор в качестве ключа ввиду значительных рабочих токов устройства (более 3А). Поэтому было принято распространенное решение о блокировке работы входящих в состав устройства источников питания (ИП) при помощи управления сигналом разрешения работы. Ничего нового и необычного, таких схем можно найти 12 на дюжину в устройствах с автономным питанием, однако совершенно неожиданно возникли определенные осложнения, которые привели к ряду поучительных выводов.

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

«и доказал, что поскольку… то схема на частотах требуемого диапазона работать не будет» Савченко «Открытие себя»

Поводом к написанию данного опуса послужило, как всегда и бывает у меня, стечение обстоятельств. Размышляя над особенностями возможной реализации интерфейса от микроконтроллера (МК) к WS2812, наткнулся, причем совершенно случайно, на нечто аналогичное на сайте одной фирмы, называть которую не буду, поскольку намерен ее слегка (а может и сильно, пока не знаю, будет видно по ходу изложения) поругать. Даю подсказку — она занимается продажей в нашей стране Arduino плат и шилдов к ним, название начинается с первой буквы русского алфавита, заканчивается на нее же, и товар, сподвигший меня на данный пост, расположен на последней позиции четвертой страницы в разделе «Платы и модули», на странице этого товара можно найти схему устройства и ссылку на программу, о которых я и хотел бы рассказать кое-что интересное, в особенности для молодых инженеров (ну я так думаю). Не знаю, как у других обитателей Хабра, а у меня бывает такое, что читаю текст и вижу, что какое-то слово в нем неправильное. То есть сразу понимаю, что оно неправильное, но потом нужно некоторое время, чтобы в него вчитаться и понять, что именно в нем неправильно и где ошибка. К сожалению, данное правило действует только в отношении чужих текстов, когда я вычитываю свой, то частенько читаю не то, что реально написано, а то, что собирался написать (я то ведь твердо знаю, что тут должно быть). Ну так вот, при первом же взгляде на схему мне она показалась неправильной, и при внимательном рассмотрении первое мнение подтвердилось.
Читать полностью »

«Если рассматривать шкалу духовных ценностей по нисходящей, существуют
Вещи В Порядке Вещей, существуют
Вещи Неприятные, Но В Принципе Допустимые, и существуют
Вещи, Которые Терпеть Никак Нельзя». — Мидянин

Как говорил небезызвестный классик «Не могу молчать».
Недавно смотрел исходные тексты на сайте довольно-таки известного производителя и увидел следующий код

*(unsigned int *)0xf80ff000 &= 0xffffefff;

Не надеясь, что эти заметки прочтут в далекой «Индии» (смотри примечание ниже) (складывается ощущение, что они и читать то не умеют), тем не менее хотел бы предостеречь молодых инженеров — так делать НЕЛЬЗЯ.

Примечание от сегодняшнего дня — набросал этот пост больше месяца назад, все руки не доходили довести его до приемлемого вида, так что источник указать не могу, ну да Инет Вам в помощь — подобного кода там чуть меньше, чем очень много.
Читать полностью »

Несколько лет назад поставщик компиляторов Keil (теперь принадлежит ARM) поместил объявление в Embedded Systems Programming magazine (позже известный как Embedded Systems Design, а сейчас embedded.com) о своем новом компиляторе: COBOL для 8051.
Это была шутка, и размещена она была в апрельском номере. Какой смешная и абсурдная идея продукта! COBOL для встраиваемых систем? И COBOL для 8051! Я позвонил президенту компании и поздравил его с отличной шуткой.
А он ответил мне, что они получили запросы на поставку!
Читать полностью »

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

Система автоматического управления аквариумом на Arduino - 1
Читать полностью »

Начало разработки на микроконтроллерах Kinetis. Быстрый старт - 1

Продолжаем освоение микроконтроллеров Kinetis. На этот раз освоим среду разработки KDS и запрограммируем вывод меандра. Выясним сколько на это нужно времени. Узнаем какой максимальной частоты меандра можем добиться и обнаружим удивительное быстродействие портов Kinetis. И конечно же напишем классический «Hello, world!» с выводом через UART на скорости в 1.5 Мбит/c.

Предыдущие статьи:

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

Фирма АРМ продала более 200 лицензий на ядра Cortex-M, и на рынке представлены тысячи вариантов этих устройств. Хотя фирма создала ядро M7 в прошлом году, которое предлагает невероятную производительность для MCU, начальный уровень линейки ядер продолжает представлять огромный интерес для производителей. Реализация ядра M0 требует около 12000 gates (трудно сказать, идет речь о затворах либо базовых элементах, в любом случае это немного, но в первом — намного меньше — примечание переводчика), так что стоит она чуть больше, чем ничего (реализация, конечно, а не лицензия, кстати, если кто знает цены — поделитесь в комментах — пп). М0 + имеет тот же набор инструкций (как и M0-пп), но показывает лучшую производительность при низком энергопотреблении для устройств с батарейным питанием, плюс расширенные (необязательные) возможности отладки, и даже дополнительный блок защиты памяти (MMU бедняка).
Читать полностью »

Безумству храбрых поем мы песню

Недавно случайно узнал о существовании очаровательного девайса MG238 — тестера электронных приборов. Посмотрел пару видео, слегка офигел, нашел сайт автора (кстати проект открытый, я думаю, что производители-китайцы авторские не платят), посмотрел схему и офигел окончательно. То есть измерительная часть представлена 3 управляемыми делителями и ЭТО меряет все, что я увидел в ролике?

Первая мысль была — это фейк, но есть отзывы людей, данный прибор купивших и его использующих, и в основном позитивные. Тогда пришла вторая мысль — почему это не сделал я? На этот вопрос есть множество ответов, главным из которых будет «Старшая сестра не позволила». Для тех, кто в танке — это от присловья «Лень раньше тебя родилась». Ну да ладно, проехали, но все-таки, как ЭТО работает. Исходные коды выложены, схема дана, можно посмотреть, но возникло желание понять самому, раз сделать не успел, то хотя бы повторить (если не в железе, то в голове).
Читать полностью »

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

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
Читать полностью »

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

Понятно, что ключевая функция часов — измерение времени (кто бы подумал, да?). И делать это желательно максимально точно, здесь есть несколько вариантов и подводных камней.
Читать полностью »


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