Category Archives: AVR

О микроконтроллерах

Защищено: Установка Arduino IDE на Линукс

Это содержимое защищено паролем. Для его просмотра введите, пожалуйста, пароль:

Туалетный таймер

— Кухонный таймер был?
— Был.
— Ага. Значит сейчас замутим туалетный таймер…

Вопрос — для чего?
Ответ — для вытяжки.

Поскольку у меня туалет и ванная комната раздельные, то будет два таймера — для туалета и для ванной комнаты. Разница только во времени их работы. В остальном же таймеры одинаковые.

В чём фишка самодельного туалетного таймера? Почему бы не прикупить уже готовый?

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

И вот мы плавно переходим к вопросу — что мне хочется от вытяжки?

Читать далее

M2D/M2D2. Как получить кодированный сигнал

Применение декодеров M2D и M2D2 уже хорошо само по себе: не надо напрягаться — что-то изобретать, потеть над программным обеспечением для микроконтроллера по расшифровке манчестеровского кода — установил микросхему и легко получил результат! Простота применения и эффективность получения результатов на лицо. Да и цена ненапряжная.

Но есть одна заморочка. Разработчики, использующие M2D/M2D2 уже не однажды задают мне один и тот же вопрос — а как, собственно. получить Манчестерский сигнал?

Не-е, вообще получить сигнал, закодированный Манчестеровским кодом, проблемы нет! Вопрос в том, как это сделать эффективно?

Ведь люди что делают — они программно формируют этот код с помощью ногодрыжества. Само по себе это не есть нечто криминальное. Можно итак делать. Другое дело, что это не есть хорошо. Особенно в случае, если в передающем микроконтроллере используются прерывания, которые вносят сдвиги при формировании фронтов сигнала. Отсюда и проблемы с его приёмом и декодированием.

Что ж! Значит, пришло время поделиться секретами.

Читать далее

tinyAVR 1-series

Microchip начинает выпуск новой линейки микроконтроллеров с ядром AVR. Линейка будет называться tinyAVR 1-series.

Для ориентации, где мы находимся: до этого выпускались линейки tinyAVR, megaAVR, X-mega. Теперь вот появилось ещё одно семейство.

Зачем?! Что в этой новой линейке такого уникального?

Читать далее

Стартовый мини-проект. Последовательный порт

В практике разработчика микроконтроллерных систем периодически возникают ситуации, когда нужно начинать разработку нового проекта. Причем, зачастую бывает так, что новый проект на старте своего создания сильно совпадает с теми проектами, которые уже были когда-то реализованы. В таких случаях мне приходится поднимать архивы и пытаться въехать в то, что я когда сделал. Следует отметить, что чем сложнее (старый) проект, тем труднее в нём разобраться и «отрезать» всё ненужное, чтобы начать не совсем уж с чистого листа, а с какого-то проверенного работающего задела.

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

В этой статье я описываю мини-проект, в котором микроконтроллер раз в секунду передаёт текстовое сообщение в компьютер по последовательному порту.

Читать далее

Как задать скорость работы UART

Сижу, пишу проект. В проекте используется UART. На этот раз в обычном асинхронном режиме…

Думаю, не так много людей, кто любит читать документацию. Я тоже читаю pdf-ки только тогда, когда «прижимает». А вот так просто взять в руки и почитать — не-е! (Я уверен — не только один я такой ленивый!) Поэтому не удивительно, что многие разработчики про микроконтроллеры, с которыми работают, хотя и знают очень много чего, но ведь не всё. Всегда остаются «белые пятна», которые так или иначе закрываются другими способами и приёмами в работе.

Читать далее

Ох, уж эти AVR-ки!

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

Необходимость загонять UART в режим синхронной передачи продиктована требованиями протокола — нужно передавать по геофизическому кабелю данные в коде Manchester-II.

Я уже как-то писал, что для создания Манчестерского кода как нельзя лучше подходят AVR-ки. И в самом деле, среди других микроконтроллеров, которые я знаю и которые у меня есть в наличие — MSP430 и STM32, только ATMEGA способны генерить синхросигнал во время передачи данных по UART. Остальные либо вообще не умеют этого делать (MSP430), либо считают не нужным вырабатывать синхроимпульсы во время «стартового» и «стопового» битов (STM32).

Читать далее

Как я осуществляю отладку микроконтроллерных программ

Задающего этот вопрос товарища интересовало как вообще осуществляется отладка микроконтроллеров STM32 из среды Linux.

В Винде, там — понятно, там сама среда разработки (IAR, KEIL) для этого имеет соответствующие режимы и средства. А вот в Линуксе — как? Тут ведь нет единой среды. Текстовый редактор — отдельно, компилятор — отдельно, программа для заливки кода — отдельно. Всё это хозяйство логически объединяется и управляется с помощью Make-файла. И это у меня в блоге было неоднократно расписано на примерах разного типа микроконтроллеров (AVR, MSP430, STM32). А вот про отладку — я скромно умолчал.

Читать далее

VPNkey-свисток

Давно это было. Отдал мне как-то мой приятель, Юрка Чернышов, одну штучку — VPNkey. Ключ дохлый, ни на что не отзывается. Можно было бы и выкинуть, но есть приятель (Сашка, то есть — я), который собирает подобные «трупы» и на них тренируется. В общем, отдал и забыл — и себе польза (избавился от ненужного), и дурачку свисток. Все довольны, все счастливы.

Конечно же! Самое первое, что я сделал, — я вскрыл свистульку. В животике у неё оказались — MEGA64 в корпусе MLF, конвертер USB в параллельный интерфейс PDIUSB12, флэшь-память AT45DB041B на 512 кБайт (в дурном корпусе CASON), монитор питания DS1813, ну и другие менее значимые микросхемы. То есть, для меня есть чем поживиться.

Здесь на фотке MEGA64 уже «сдута»:

img_1236

Память и монитор питания находятся с другой стороны платы.

К стати, о PDIUSB12 — точно такой же USB-конвертер используется в китайских программаторах Dragon!

Читать далее

Эмулятор каротажных сигналов

Прошу знакомиться, это — ЭКС (без корпуса):

DSC00004

Читать далее