Category Archives: AVR

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

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

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

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

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

Читать далее

Реклама

Как задать скорость работы 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

Читать далее

Конвертер Manchester-II в RS232

Этот девайс устанавливается между Модулем Магнитного Каротажа (ММК) и компьютером. Он предназначен для преобразования потока данных, передаваемых от ММК по протоколу Manchester-II, в поток данных, передаваемых в комп по интерфейсу RS232. Вот такие непростые дела, хотя на самом деле всё намного проще.

Читать далее

ATMEGA8 vs. STM32F030

Сегодня пришла убийца AVR-ок.

DSC00525

Давайте сравним.

Читать далее

Как приручить AVR GNU assembler

Сегодня меня жизнь опять «завернула» с Cortex-ов на AVR-ки. Причем завернула очень лихо — мало того, что проект нужно создать очень-очень быстро, так он еще должен быть написан на ассемблере!

Читать далее

CRC16-CCITT — сравнение реализаций

При передаче данных на большие расстояния по зашумленным линиям связи всегда возникает вопрос о достоверности принимаемых данных.

Этой проблемной области уже не один десяток лет, и она очень хорошо изучена и изъезжена вдоль и поперек. Однако, не смотря на её изученность, у разработчиков всё ещё возникают и, я так думаю — будут и впредь возникать, вопросы применения программ (функций) для расчета контрольных сумм CRC при передаче массивов данных.

Читать далее