Разработка устройств на микроконтроллерах avr: шагаем от чайника до профи (А. Белов)

Содержание

Разработка устройств на микроконтроллерах AVR. Белов А.В. 2013 г.

Этот популярный самоучитель поможет вам всего за шесть шагов пройти путь от «чайника», изучающего азы цифровой техники, до полностью готового специалиста, способного самостоятельно разрабатывать схемы любых устройств на микроконтроллерах и составлять для них программы. Познав основы цифровой логики, поймете, как работают более сложные элементы цифровой техники. Потом освоите основы микропроцессорной техники, поймете, как работает микропроцессор и микроконтроллер. Узнаете подробности внутреннего устройства, архитектуру и возможности микроконтроллеров семейства AVR, освоите основы схемотехники и конструирование микроэлектронных устройств. Научитесь ставить задачи на разработку устройства и выбирать стратегию ее решения. Изучите сразу два языка программирования микроконтроллеров (язык Ассемблера и язык СИ), научитесь транслировать, налаживать программы, прошивать их в память микроконтроллера.

Теперь вы уже сможете самостоятельно разработать собственную микроконтроллерное устройство. Видеокурс на CD проиллюстрирует и позволит закрепить материал основного курса. На том же диске вы найдете всю необходимую для учебы информацию (инсталляционные пакеты программ, справочные материалы, учебные примеры). Книга предназначена для широкого круга читателей.

Название: Разработка устройств на микроконтроллерах AVR
Автор: Белов А. В.
Издательство: Наука и Техника
Год: 2013
Страниц: 528
Язык: Русский
Формат: DJVU
Качество: отличное
Размер: 12Mб

CD, прилагаемом к книге, служит для закрепления материала, изложенного в ней. Рекомендуем воспользоваться диском лишь тогда, когда вы перейдете к пятого шага в изучении материала книги. Диск содержит следующие видеоуроки.
— Приемы работы с программой AVR Studio (загрузка программ на Ассемблере, трансляция, наладка).
— Приемы работы с программой Code Vision (загрузка программ на СИ трансляция, наладка).
— Работа с программной оболочкой программатора PonyProg.
— Организация рабочего места конструктора устройств на микроконтроллерах AVR.

После того, как вы изучите одну из перечисленных выше тем в книге, можете закрепить ее за помощью соответствующего видеоурока.
Диск имеет удобную программную оболочку, которая помогает работать с его содержанием. Оболочка запускается автоматически после того, как вы вставите диск в дисковод вашего компьютера. После запуска на экране появится основное меню диска (см. рис. П.1).

Формат: CD
Размер: 520 МБ
Качество: Dvdrip

Содержание

Шаг 1. Учимся основам цифровой техники

1.1.    Сначала был микропроцессор
Что же такое микропроцессор
Виды памяти
Различия между микропроцессорами и микроконтроллерами

1.2.    Считаем по-другому
Десятичная система исчисления
Восьмиричная система исчисления
Шестнадцатиричная система исчисления

Двоичная система исчисления
Способы обозначения чисел в разных системах исчисления
Арифметическая операция сложения
Арифметическая операция умножения

1.3.    Электронные цифры
Представление чисел на ПК
Двухуровневый сигнал

1.4.    Логические элементы
Знакомство с логическими элементами
Простые логические элементы
Таблица истинности
Составные логические элементы

1.5.    Простейший триггер
Что такое триггер
Устройство и работа RS-триггера
Борьба с дребезгом контактов

1.6.    Хранение информации
Устройство и работа D-триггера
Параллельный регистр
Параллельный регистр с расширенными возможностями
Устройство и работа JK-триггера

1.7. Счетчики
Работа делителя частоты
Счетчики прямого счета
Счетчики с обратным отсчетом
Делители с переменным коэфициентом деления
Таймеры

1.8. Дешифраторы
Устройство и прицип действия дешифратора

Селектор памяти ячеек ОЗУ
Каскадирование дешифраторов

1.9. Мультиплексоры

Шаг 2. Переходим от цифровой техники к микропроцессору и микроконтроллеру
2.1 Типовая схема микропроцессорной системы
Структурная схема типичной микропроцессорной системы
Виды памяти
Порты ввода-вывода
Процессор и цифровые шины
Шина данных
Шина адреса
Шина управления
Принцип действия микропроцессорной системы

2.2. Алгоритм работы микропроцессорной системы
Возможности процессора
Программа
Процесс выполнения команды
Рабочие регистры
Команды микропроцессора
Команды условного и безусловного перехода
Команда организации цикла
Команды перехода к подпрограмме

2.3.    Механизм прерываний
2.4.    Прямой доступ к памяти
2.5.    Микроконтроллеры

Шаг 3. А теперь ближе к практике: знакомтесь — микроконтроллеры AVR
3.1.    Общие сведения
Особенности новой серии микроконтроллеров

Состав серии AVR
Особенности серии AVR
Внутренняя память
Способы программирования Flash- и EEPROM-памяти
Порты ввода-вывода
Периферийные устройства
Другие устройства

3.2.    Регистры общего назначения (РОН)
3.3.    Регистры ввода-вывода
3.4.    Память
Общие сведения
Память программ
Оперативная память микроконтроллеров AVR
Область памяти, совмещенная с набором регистров общего назначения (РОН)
Область памяти, совмещенная с регистрами ввода-вывода (РВВ)
Область внутреннего ОЗУ
Область внешнего ОЗУ
Энергонезависимая память данных (EEPROM)

3.5.    Счетчик команд и стековая память
3.6.    Подсистема ввода-вывода
3.7.    Система прерываний
Назначение системы прерываний
Управление системой прерываний
Алгоритм работы системы прерываний

3.8.    Таймеры-счетчики
Общие сведения
Режимы работы таймеров
Режим Normal
Режим «Захват» (Capture)
Режим «Сброс при совпадении» (СТС)

Режим «Быстродействующий ШИМ» (Fast PWM)
Режим «ШИМ с точной фазой» (Phase Correct PWM)
Асинхронный режим
Предделители таймеров/счетчиков

3.9. Другие встроенные периферийные устройства
Аналоговый компаратор
Аналого-цифровой преобразователь
Последовательный канал (UART/USART)
Последовательный периферийный интерфейс (SPI)
Последовательный двухпроводный интерфейс (TWI)

3.10.    Другие ячейки
Конфигурационные ячейки
Ячейки защиты и идентификации

Шаг 4. Переходим непосредственно к разработке устройств и программ
4.1.    Общие положения
4.2.    Простейшая программа
4.3.    Переключающийся светодиод
4.4.    Боремся с дребезгом контактов
4.5.    Мигающий светодиод
4.6.    Бегущие огни
4.7.    Использование таймера
4.8.    Использование прерываний по таймеру
4.9.    Формирование звука
4.10.    Музыкальная шкатулка
4.11.    Кодовый замок
4.12.    Кодовый замок с музыкальным звонком

Шаг 5. Последний этап разработки — отладка и транслирование
5.1.    Программная среда AVR Studio
5.1.1.    Общие сведения
5.1.2.    Описание интерфейса
5.1.3.    Создание проекта
5.1.4.    Трансляция программы
5.1.5.    Отладка программы
5.1.6.    Исправлений ошибок
5.1.7.    Создание прЬектов на языке СИ
5.2.    Система программирования Code Vision AVR
5.2.1.    Общие сведения
5.2.2.    Интерфейс системы Code Vision AVR
5.3.    Программаторы
5.3.1.    Общие сведения
5.3.2.    Схема программатора
5.3.3.    Программа управления программатором

Шаг 6. Осваиваем все возможности микроконтроллера ATtiny2313
6.1.    Основные характеристики и возможности
6.2.    Центральное ядро процессора
6.3.    Тактовый    генератор
6.4.    Система управления и сброса
6.5.    Сторожевой (охранный) таймер
6.6.    Прерывания
6.7.    Порты ввода-вывода
6.8.    Внешние прерывания

6.9.    Восьмиразрядный таймер/счетчик с поддержкой режима ШИМ
6.10.   16-разрядный таймер/счетчик (таймер/счетчик 1)
6.11.   Универсальный синхронно-асинхронный последовательный приемо-передатчик USART
6.12.   Универсальный    последовательный интерфейс — USI
6.13.    Аналоговый компаратор
6.14.    Встроенная система отладки программ debugWIRE
6.15.    Программирование памяти

Приложение. Сводная таблица команд Ассемблера микроконтроллеров AVR
Группа команд логических операций
Группа команд арифметических операций
Группа команд операций с разрядами
Группа команд сравнения
Группа команд операций сдвига
Группа команд пересылки данных
Группа команд управления системой
Группа команд передачи управления (безусловная передача управления)
Группа команд передачи управления (пропуск команды по условию)
Группа команд передачи управления (передача управления по условию)
Описание CD диска и видеокурса

Список литературы
Список полезных ссылок на ресурсы Интернет

Скачать книгу с Depositfiles

Скачать cd-диск с Depositfiles

Разработка устройств на микроконтроллерах AVR


Научитесь проектировать и решать задачи связанные с программированием микропроцессоров.

А. В. Белов «Разработка устройств на микроконтроллерах AVR шагаем от «чайника» до профи» НиТ, 2013 год, 530 стр., (11,2 мб,pdf)

В книге показана разработка устройств на микроконтроллерах AVR. Этот самоучитель состоит из шести глав-шагов, путь от «чайника», немного знающего азы цифровой техники, до специалиста, умеющего самостоятельно разрабатывать схемы устройств на микроконтроллерах и составлять для них программы.

Познав начала цифровой логики, поймете, основы работы более сложных элементов цифровых устройств. Затем пройдете курс по микропроцессорам , который поможет вам разобраться в его работе. Изучите структуру внутреннего устройства, архитектуру и возможности семейства микроконтроллеров AVR, освоите основы схемотехники и конструирования микроэлектронных устройств.

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

Видеокурс на CD проиллюстрирует и позволит закрепить материал основного курса. На том же диске вы найдете всю необходимую для обучения информацию (инсталляционные пакеты программ, справочные материалы, обучающие примеры). Книга предназначена для широкого круга читателей.

Links

PDF  (RU)                           pdf  (ru)

7snxd0kLTqLtYZCQuG0GUbNcp1kqgstI

Похожая литература

436

https://www.htbook.ru/kompjutery_i_seti/programmirovanie/razrabotka-ustrojstv-na-mikrokontrollerakh-avrРазработка устройств на микроконтроллерах AVRhttps://www.htbook.ru/wp-content/uploads/2014/11/133.jpghttps://www.htbook.ru/wp-content/uploads/2014/11/133.jpgПрограммирование и БДПрограммирование,справочникНаучитесь проектировать и решать задачи связанные с программированием микропроцессоров. А. В. Белов ‘Разработка устройств на микроконтроллерах AVR шагаем от ‘чайника’ до профи’ НиТ, 2013 год, 530 стр., (11,2 мб,pdf) В книге показана разработка устройств на микроконтроллерах AVR. Этот самоучитель состоит из шести глав-шагов, путь от «чайника», немного знающего азы цифровой техники, до специалиста, умеющего самостоятельно…YakovLukich [email protected]Техническая литература

Разработка устройств на основе микроконтроллеров AVR

Виды и особенности микроконтроллеров AVR

Определение 1

Микроконтроллер – это микросхема, которая предназначена для управления электронными устройствами.

Основная особенность микроконтроллеров серии AVR заключается в их быстродействии. Они способны выполнить подавляющее большинство инструкций за один цикл. Они действуют в четыре раза быстрее, чем микроконтроллеры серии PIC, = потребляют значительно меньше энергии и могут работать в самых разных режимах электросбережения.

Микроконтроллер AVR представляет собой 8-битное устройство, принадлежащее к классу RISC (компьютеры с сокращенным набором команд). Архитектура данного класса устройств — набор команд компьютера, ориентированный на упрощение работы, увеличение ее скорости и на количественное сокращение.

Микроконтроллер AVR состоит из микропроцессора, программной памяти, пространства данных, энергонезависимой памяти, а также разнообразных периферийных устройств. Каждое периферийное устройство микроконтроллера обрабатывает тот регистр, который связан с ним. В некоторых моделях имеется возможность добавления параллельной шины, для обеспечения дополнительной памяти, устройств отображения или кода.

Микроконтроллеры серии AVR делятся на следующие группы:

  1. ATmega. Большой контроллер с флеш-памятью, объем которой может достигать 256 килобайт, в корпусе, оборудованном контактами, число которых составляет от 28 до 100, со встроенным аппаратным усилителем.
  2. ATxmega – мощный процессор с DMA.
  3. AT90CAN — ATmega с контроллером CAN.
  4. AT90USB — ATmega с встроенным USB-контроллером.
  5. ATtiny, который представляет собой маленький контроллер AVR с флеш памятью объемом до 16 килобайт, оборудованный контактами, количество которых составляет от 6 до 32.

Разработка устройств на основе микроконтроллера AVR

Процесс разработки устройств на основе микроконтроллера AVR состоит из следующих этапов:

Готовые работы на аналогичную тему

  1. Постановка (получение) задачи.
  2. Составление алгоритма работы устройства.
  3. Разработка электрической схемы.
  4. Создание программы на языке программирования.
  5. Транслирование и отладка.

Определение 2

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

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

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

После разработки схемы переходят к созданию алгоритма. Он представляет собой последовательность действий, которые должен произвести микроконтроллер, необходимых для достижения нужного результата. Для этого устанавливаются начальные настройки, например, настройка портов, включение внутренних резисторов и т.п. Затем создаются операции тела цикла работы устройства — от включения до отключения. После этого начинается процесс программирования, на одном из языков. Данный процесс достаточно трудоемкий и занимает значительную долю время от общего времени разработки устройства. Выбор того или иного языка программирования зависит от навыков программиста и имеющихся ресурсов. Как правило, для микроконтроллеров серии AVR применяется язык Ассемблер. В большинстве случаев программирование производится на двум и более языках. Делается это для быстрого нахождения ошибок и исправления недочетов.

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

Разработка электроники. О микроконтроллерах на пальцах / Хабр

Задумывая технологический стартап, вы совсем не обязаны быть асом в электронике, гораздо больше шансов на хорошую идею имеет узкий специалист со знанием основ маркетинга, но, даже заказывая кому-то разработку, ориентироваться в возможностях современной элементной базы и представлять цену решения необходимо обязательно. Иначе можно потребовать невозможного, либо получить устройство с завышенной себестоимостью на устаревшей элементной базе.
Под катом попытка кратко и просто рассказать о возможностях современных микроконтроллеров людям от них далёким. Для тех, у кого есть идея нового электронного устройства, но отсутствует представление о том, что такое микроконтроллер. Те, кто хочет сделать первый шаг от занимательных экспериментов с платформой ардуино к проектированию собственных устройств, также могут найти в ней простые, но полезные советы. Я старался, не останавливаясь на технических подробностях, для этого и книги не достаточно изложить суть и дать несколько простейших, но полезных советов по схемотехнике, чтобы предостеречь от элементарных ошибок начинающих.

Краткое содержание статьи:


Как микроконтроллеры завоевали мир
Архитектура ARM — сегодняшний лидер рынка микроконтроллеров
Конкуренция с младшими братьями
Об укладке асфальта, пользе сна и его разновидностях
Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров
Периферия простейшего ARM микроконтроллера за пол бакса
Самый дешёвый способ получить дополнительные функции
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?
Cortex-M7 — когда хочется большего…

Защита кода, возможность его обновления и многообразие помогли микроконтроллерам завоевать мир

Любой умный прибор требует управления. В большинстве случаев сегодня этим занимаются микроконтроллеры — чипы, которые совмещают в себе микропроцессорное ядро, память и периферийные модули, отвечающие за связь с остальными компонентами устройства и внешним миром.

Микроконтроллеры — мастера на все руки. Один микроконтроллер способен заменить десятки специализированных микросхем, которые были бы необходимы для выполнения требуемых функций в случае, если бы роль вычислителя занимал микропроцессор.

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

Что нельзя взломать — то можно скопировать. Зачем пытаться считать код, встроенной в микроконтроллер программы, с помощью дорогостоящих хитроумных приспособлений, если проще и дешевле найти профессионала, который может написать его заново? Возможно результат будет даже лучше, а функционал богаче чем у прототипа. Да это стоит денег, но содержание FLASH памяти сегодняшних микроконтроллеров настолько хорошо защищено, что попытки грубого “взлома” обойдутся ещё дороже. Кроме того, решается проблема интеллектуальной собственности, а вы, вместе с исходными кодами программы, получаете возможность развивать и совершенствовать своё устройство.

Память программ, в современных универсальных микроконтроллерах, является перезаписываемой, причём процесс перезаписи можно повторять не один десяток тысяч раз. Напрашивается использование этого факта для обновления программного обеспечения с целью устранения найденных в нём ошибок или расширения функций уже работающего устройства. Это достаточно просто реализовать — добавив в программу специальный участок кода под названием “бутлоадер”, вы получаете возможность обновлять программное обеспечение вашего прибора различными способами: в пункте сервисного обслуживания (если устройство имеет специальный, скрытый внутри корпуса от посторонних глаз, разъём), подключив к компьютеру по USB, через сетевой или даже беспроводной интерфейс. Главное, предусмотреть в приборе необходимую для этого периферию. Предоставляя возможность обновления ПО, всегда следует думать о безопасности, если этот процесс недостаточно защищён, мало того, что злоумышленники могут похитить ваш код, они могут модифицировать его и использовать в своих не исключено, что коварных целях. Например, взять под контроль вещи вашего “умного дома” или шпионить с помощью, установленной вами же у себя дома, WEB камеры.

Архитектура ARM — сегодняшний лидер рынка микроконтроллеров

Со времён Царя Гороха микроконтроллеры принято разделять по разрядности данных, над которыми они проводят операции. В подавляющем большинстве случаев, сегодня, в новых разработках, стоит останавливать свой выбор на 32 битных микроконтроллерах с ядром АRM. Существует огромное количество их модификаций и всегда можно подобрать экземпляр, наилучшим образом подходящий для решения вашей задачи. В зависимости от набора функций и производительности, цена чипа может составлять от десятков центов до десятков долларов.

Микроконтроллеры(MCU), в зависимости от архитектуры вычислительного ядра, принято разделять на крупные семейства. На сегодняшний день, для разработок устройств малой и средней сложности, наиболее популярны микроконтроллеры c ядрами от Cortex-M0 до Cortex-M7. Чем больше цифра, тем больше вычислительные (и не только) возможности, цена и максимальное энергопотребление. Не последнюю роль в популярности ARM сыграла преемственность архитектуры. Разработчик может с минимальными издержками модифицировать программный код своих предыдущих наработок, переходя от микроконтроллеров одного производителя к чипам другого и мигрируя между ядрами с разной производительностью.


Конкуренция с младшими братьями

Однако ARMы «рулили» не всегда. Я хорошо помню времена, когда абсолютными лидерами рынка были 8 битные микроконтроллеры и, с занятых позиций, их безуспешно пытались оттеснить 16 битные коллеги, но, по иронии судьбы, удалось сделать это только 32 битным старшим братьям. Так сложилось, что к моменту их появления, технологии изготовления чипов сильно удешевили интеграцию в них больших объёмов FLASH памяти. Воспользовавшись удобным случаем, программисты стали переходить с ассемблера на язык более высокого уровня — Си, структура которого отлично ложилась на 32 битную архитектуру. В результате 32 битные микроконтроллеры выполняли вычисления гораздо быстрее своих 8 и 16 битных коллег, но была одна проблема — у них был выше ток потребления.

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

Известно, что средний ток потребления вычислительного ядра микроконтроллера существенно увеличивается с поднятием его тактовой частоты. Поначалу 8 битные модели микроконтроллеров отличались заметно меньшим потреблением при сходной частоте и, кроме того, были способны работать от низкой тактовой частоты, вплоть до 32 кГц.

Энергопотребление микроконтроллеров сильно зависит от тактовой частоты ядра и периферии, чтобы её регулировать, для генерации стали использовать, широко применявшийся в радиопередающих устройствах, узел формирования тактовой частоты на основе ФАПЧ. Это позволило в широких пределах изменять тактовую частоту, не меняя задающий кварцевый резонатор. Периферийным модулям совсем не обязательно иметь такую же тактовую частоту, что и вычислительному ядру. Чтобы снизить их энергопотребление, частоту на них стали подавать через делители с программно-регулируемым коэффициентом деления. Ввели возможность отключать неиспользуемые модули. Эти меры сильно уменьшили энергопотребление, но оно по прежнему оставалось существенно больше, чем у 8 битных.

На короткое время сложился паритет — 32 битные MCU захватили нишу топовых приложений, а 8 битные уверенно удерживали позиции в устройствах, для которых было важно низкое энергопотребление. Он сохранялся до тех пор, пока 32 битные MCU не освоили в совершенстве «импульсный» режим работы.

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

Об укладке асфальта, пользе сна и его разновидностях

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

Понаблюдайте за строительными рабочими которые кладут асфальт. Они резко активизируют свою работу, когда пришёл грузовик с новой порцией асфальта, а после его укладки снижают темп. Так и микроконтроллеры умеют повышать и снижать частоту тактирования ядра. Однако, им это даётся не так просто, как рабочим — одновременно изменится и частота работы всей внутренней периферии, поэтому, чувствительные к этому её части придётся перенастраивать.
Не проще ли, выполнив быстро всю работу, немного поспать. Зачастую, да. Причём виды сна микроконтроллеров отличаются ещё более драматично, чем у человека.

Можно просто вздремнуть. В этом случае наш чип всегда наготове и как только зазвенел будильник таймера или его потревожило внешнее прерывание, он просыпается практически мгновенно. Как человек во время дремоты может снять напряжение, но не выспаться толком, когда тебя постоянно дёргают, так и микроконтроллер может снизить своё энергопотребление в этом режиме “всего” раз в 10, называют этот режим SLEEP.

Лучший способ хорошо выспаться — раздеться, лечь в постель, задёрнуть шторы на окне и включить будильник. Однако, после такого сна, уже моментально в работу не включишься. Придётся, как минимум, предварительно ополоснуться холодной водой и одеться. Есть такой режим и у микроконтроллера, когда он ограничивает количество внешних раздражителей и выключает основной тактовый генератор. Это режим STOP. В нём можно уменьшить потребление в 1000 раз, но и на выход из него уже потребуется существенное время.

Теперь, представьте себе, что вы перед сном выпили изрядную дозу снотворного, отключили будильник и телефон, закрыли все окна и двери. Это будет режим STAND BY. Вывести из такого режима микроконтроллер можно только с помощью особых выводов и большая часть памяти о том, чем он занимался перед таким сном будет потеряна навсегда, придётся начинать работу заново. Зато находясь в таком режиме MCU потребляет ещё в два раза меньше.

Последний, весьма экзотический режим, напоминает уже кому, из которой нельзя выйти без специального оборудования. В этом случае работает только специальный генератор тем не менее, являющийся частью микроконтроллера на отдельном часовом кварце, который может функционировать от собственного источника питания и иметь буквально несколько байт оперативной памяти, предназначение которой напомнить микроконтроллеру о том, из какого состояния он в эту кому впал. Если остальные части микроконтроллера, при этом, отключить от питания, то энергопотребление может составить уже одну десятитысячную часть от активного режима.

Выбирая режим экономии энергопотребления необходимо помнить о последствиях применения:

  • чем глубже сон, тем дольше пробуждение
  • чем глубже сон, тем меньше способов вывести из него микроконтроллер
  • чем глубже сон, тем меньше остаётся информации о предыдущем состоянии микроконтроллера
  • для достижения минимальных заявленных значений, во многих режимах необходимо принимать дополнительные меры, например — отключения периферии
  • для минимизации энергопотребления устройства в целом необходимо грамотно спроектировать схемотехнику всего устройства
  • для минимизации энергопотребления устройства в целом, нужно позаботиться о том, чтобы остальные компоненты и цепи также имели микропотребление в неактивном режиме. Глупо предпринимать огромные усилия для того, чтобы опустить потребление микроконтроллера ниже одного микроампера и, при этом, применять в устройстве дешёвый стабилизатор с током собственного потребления в 100 микроампер но встречается такое сплошь и рядом
  • для успешного использования режимов глубокого сна не только программа, но и схемотехника, должны быть тщательно продуманы, иначе, вместо экономии, можно получить весьма серьёзные проблемы — редко случающееся, зато “мёртвое” зависание устройства по необъяснимой причине, либо слишком частое пробуждение и, как результат, потребление на порядки выше ожидаемого

Если ваши программист со схемотехником не первый день винят друг друга в криворукости и, вместе, производителя в публикации нереальных цифр в даташитах на микроконтроллер, а ваше устройство сажает батарейки на порядок быстрее, чем вы рассчитывали, это повод, по крайней мере, обратиться к независимым высококвалифицированным экспертам.

Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров

Физически активная часть микроконтроллера, как и подавляющее количество других микросхем, обычно сформирована на пластине монокремния (назовём его, в данном контексте, ЧИП). Чипы занимают очень маленькую площадь, технологически же выгодно производить пластины большого диаметра, поэтому, обычно большое количество чипов, как соты, размещают на одной большой пластине и формируют, в ходе одного технологического процесса. В последствии пластины нарезают на кусочки, получая уже отдельные чипы, которые и помещают в корпуса.

Разработка топологии и отладка технологических процессов нового чипа стоит очень дорого, а занимаемое на пластине одним чипом место, как правило, не велико. Производителям выгодно выпускать чипы крупными партиями, но пользователям требуются микроконтроллеры в разных корпусах — кому то важно получить корпус поменьше и подешевле, другому наоборот требуется побольше выводов, чтобы управлять LCD или внешней памятью с параллельным интерфейсом. Производителям выгодно перекрывать все ниши, чтобы клиенты не перебегали к конкурентам, не найдя оптимальной для себя модели.

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

Так на основе одного чипа формируют серии микроконтроллеров, существенно отличающиеся по объёму памяти и набору периферийных модулей, иной раз и в разы по цене. При этом чипы, в них установленные, могут нарезаться из одних и тех же пластин. Поскольку площадь, на которой размещается один чип, невелика, вклад её в себестоимость конечного изделия также мал и им можно пожертвовать. Становится выгодным отключение дополнительной памяти и других функций, например, на этапе тестирования — либо с помощью однократно программируемых битов конфигурации, либо пережиганием перемычек лазером. Лишь для наиболее массовых изделий имеет смысл для этого создавать слегка изменённый фотошаблон. Причём, совсем не обязательно там будет физически отсутствовать неиспользуемая память, её, опять же, можно просто отключить, удалив перемычки в шаблоне.

Так из одного стандартного дизайна чипа формируется целая серия микросхем.

Периферия простейшего ARM микроконтроллера за пол бакса

Процессорное ядро — это мозг, но, чтобы он не был подобен “сферическому коню в вакууме”, требуются аналоги органов чувств и конечностей.

В микроконтроллере их роль играют выводы на корпусе, к которым внутри корпуса могут подключаются порты(контактные площадки) чипа. В свою очередь, через внутренние коммутаторы, к одному и тому же порту могут подключаться различные периферийные модули.
Для начала рассмотрим периферию одной из простейших серий от ST на основе ядра Cortex-M0 — stm32F03.

Для этой серии имеем следующий набор базовых функций:
Часы реального времени (Real Time Clock или RTC), которые могут запитываться с помощью отдельного вывода и работают от отдельного низкочастотного резонатора. Этот модуль потребляет крайне мало энергии, в случае пропадания основного питания он может часами работать от заряженного конденсатора, или годами от маленькой встроенной в прибор батарейки. Кроме этого, он может служить в качестве будильника, выводя микроконтроллер из состояния даже самого глубокого сна в заранее заданное время.

WatchDog — сторожевая собака мешающая микроконтроллеру заснуть навсегда, например, свалившись в бесконечный цикл или перейдя по несуществующему адресу. Его принцип работы прост. Программист настраивает таймер защиты от “зависания” на определённый период времени, допустим на секунду, и запускает его. Затем он расставляет, в выбранных им местах программы, короткие участки кода, которые перезапускают таймер с нулевого значения. Если за секунду не произошло ни одного сброса таймера, WatchDog считает, что с программой что-то не так и устраивает микроконтроллеру перезапуск. Программа начинает работать с начала, причём существует возможность определить являлся ли инициатором ресета WatchDog и учесть этот факт при запуске.

Универсальные цифровые входы-выходы (General Purpose Input-Output GPIO) — это самая распространённая функция, которую поддерживают большинство выводов микроконтроллера. Они могут конфигурироваться либо как входы, либо как выходы.

Рассмотрим работу в качестве входа. Если напряжение на входе микроконтроллера меньше некоего порога (как правило близкого к половине питания), то оно воспринимается как логический ноль, в противном случае как 1. Цифровые входы обычно имеют очень высокое входное сопротивление, поэтому, если их оставить не подключенными, их состояние может скакать из нуля в единицу и обратно, под действием наводок электромагнитных полей. Для того, чтобы этого не происходило, существуют специальные режимы, когда внутри чипа вход соединяется через сопротивление 20 — 50 КОм с плюсом питания микроконтроллера (pull-up) или с минусом (pull-down).

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

Советы начинающим разработчикам Выводы микроконтроллера — мастера на все руки, но следует соблюдать простые правила, чтобы не вывести их из строя. Несмотря на все предосторожности, предпринимаемые производителями чипов, они боятся статики и перенапряжений, поэтому не стоит подсоединять их напрямую к разъёмам, выходящим за пределы платы. Необходимо, в этом случае, предпринять меры — либо воспользоваться специальными интегральными компонентами защиты, либо предусмотреть в схеме супрессор, стабилитрон или защитные диоды, плюс установить в разрыв между выводом разъёма и портом токоограничивающее сопротивление.

На рисунке выше изображён участок схемы, спроектированного мной устройства (спутникового модема), с элементами простейшей защиты портов микроконтроллера. X4 — разъём для внешних коммуникаций. Нас интересуют контакты 5-7, к которым присоединяются тревожные кнопки. Сигналом тревоги служит замыкание на землю, поэтому, в нормальном состоянии, на портах должно присутствовать напряжение питания микроконтроллера, что и обеспечивают резисторы R24-R26, номиналом 1 КОм. Супрессоры VD4-VD6 ограничивают напряжение на уровне 5 вольт, это допустимо потому, что применяемый мной микроконтроллер, хотя и питается напряжением 3,3 вольта, но имеет порты толерантные к напряжению 5 вольт. Резисторы R29-R31 на 100 Ом.
Подобная защита спасёт порты вашего микроконтроллера от внешних перенапряжений. У некоторых микроконтроллеров отдельные порты не боятся напряжений, превышающих их напряжение питания. Так у многих микроконтроллеров STM32Fxx почти все порты будучи сконфигурированными как цифровые могут работать с 5 вольтовыми цепями, но если они работают в аналоговом режиме, например в качестве входа АЦП, теряют эту способность и это необходимо учитывать при разработке схемы.

Пожалуйста, соблюдайте технику безопасности. Не оставляйте, свободные, висящие в воздухе порты микроконтроллера сконфигурированными в виде входов, особенно в устройствах временами уходящих в глубокий сон — это как минимум может значительно усложнить процесс прохождение вашего устройства теста на ЭМС (электро-магнитную совместимость). Если оставляете их входами, лучше замкнуть их на землю или питание. Либо программно сконфигурировать выходами.

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

Используя порты микроконтроллеров в качестве выходов, также стоит свериться с даташитом. Отдельные порты могут иметь разное ограничение по максимальному току, который от них можно получить не опасаясь выхода их строя — нагрузочную способность. Кроме этого, сам чип имеет максимальную нагрузочную способность всех выходов в сумме, которую не следует превышать.
Последнее, о чём хочется упомянуть, выходные порты ARM микроконтроллеров не реагируют на программные инструкции мгновенно, как у 8-битных микроконтроллеров. Они управляются через шину, и их быстродействие зависит от частоты тактирования соответствующего узла, которую можно менять программно. Если вы хотите быстрой реакции, позаботьтесь об увеличении этой частоты, если важнее уменьшить энергопотребление, наоборот выберите менее скоростной режим.


Температурный сенсор

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

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

Интерфейсы обмена данными Различные микроконтроллеры данной серии могут иметь по нескольку наиболее распространённых интерфейсов, сильно облегчающих общение с другими чипами и внешним миром:

  • USART — асинхронный последовательный порт, часто использующийся для связи с компьютером там он называется COM или RS232, модемами и другими устройствами
  • SPI — высокоскоростной интерфейс, который имеют очень многие чипы, например внешняя память
  • I2C — двухпроводной интерфейс, разработанный для общения с датчиками и другой периферией на небольшом расстоянии и небольших скоростях обмена. Большой его плюс заключается в том, что одновременно к одной шине можно подключить десятки различных устройств

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

Аналого-цифровой преобразователь АЦП или ADС на котором придётся остановиться подробнее.

Чрезвычайно полезный модуль, который способен измерять напряжение аналоговых сигналов. Оценивает он их в долях от величины опорного источника сигнала, в нашем случае это напряжения питания аналогового модуля микроконтроллера, которое может быть равным или немного ниже основного напряжения питания чипа. Теоретическая точность работы АЦП зависит от его разрядности. В современных микроконтроллерах чаще всего применяется 12 разрядный АЦП последовательного приближения, реже 10 и как экзотика встречается 16.

При питании 3 вольта 12 разрядный АЦП микроконтроллера будет иметь разрешающую способность 3/4096=0.00073 Вольта — лучше одного милливольта.

Но на практике достичь этого идеала бывает не просто.

Подробности для начинающих разработчиковНа практике всё бывает далеко не так красиво и точность измерений может снижаться по многим причинам. Ниже перечисляю основные, хорошо известные любому опытному электронщику, а также простые но эффективные способы сведения их пагубного влияния до минимума
нестабильность напряжения источника питания АЦП
  • применять для питания MCU линейные стабилизаторы с хорошими параметрами
  • применять для питания аналоговой части MCU высокостабильные источники опорного напряжения

импульсные помехи по питанию АЦП
  • подключать аналоговое питание к цифровому через простейшие фильтры низкой частоты — подавать питание на аналоговую часть MCU через индуктивность и в непосредственной близости от входа микроконтроллера устанавливать керамический конденсатор с диэлектриком XR7 ёмкостью 100 нанофарад, а ещё лучше, параллельно ему включить танталовый конденсатор с ёмкостью в одну — две микрофарады.

импульсные помехи на входе АЦП
  • пропускать входной сигнал хотя бы через простейший ФНЧ, состоящий из резистора и конденсатора. Для борьбы с помехами от передающих радиотрактов и короткими импульсными помехами иногда достаточно одиночного конденсатора с диэлектриком NP0 ёмкостью в несколько десятков пикофарад, установленного между входом и землёй, в непосредственной близости от входа АЦП
  • не экономить на блокировочных конденсаторах, по крайней мере самого микроконтроллера, устанавливать их в непосредственной близости от каждого вывода питания и в других местах, рекомендованных производителем, рекомендованного им номинала
  • тщательно выбирать месторасположение компонентов и соблюдать правила трассировки цепей питания и особенно “земли”, в идеале аналоговая и цифровая земли должны соединяться в одной точке — рядом с выводом аналоговой земли микроконтроллера

высокое выходное сопротивление источника сигнала

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

  • правильно выбирать параметры настройки АЦП, например во многих микроконтроллерах можно увеличить время зарядки входной цепи, правда тут приходится идти на компромисс, снижая быстродействие
  • устанавливать на входе АЦП буферные усилители на основе ОУ (операционный усилитель), или повторители напряжения. Выбирать их по принципу самых дешёвых не стоит, можно не улучшить, а ухудшить ситуацию, причём значительно. Если не хватает собственного опыта, лучше поискать специально рекомендованные производителями для подобных приложений

Выше изображён участок реальной схемы для подачи питания на аналоговую часть микроконтроллера в устройстве с батарейным питанием. В данном случая я использовал АЦП для оцифровки сигнала с аналогового MEMS микрофона и поэтому имело смысл выделить в отдельную цепь не только аналоговое питание, но и аналоговую землю. В большинстве случаев это избыточно, для того чтобы от неё действительно был толк, нужна ещё и правильная трассировка.

От цепи VBUT питается вся цифровая часть микроконтроллера. На всякий случай привожу номиналы элементов: R5-10 Ом, С10 0.1 мкФ, без индуктивностей L1 и L2 BLM18PG471SN1D в большинстве случаев можно обойтись.

Ещё один любопытный пример из моей практики. В плате, на которой размещалось большое количество высокопотребляющих чипов ASIC, необходимо было измерять их температуру. Самый простой и дешёвый способ — использование высокоомных термисторов. В качестве фильтров я применил конденсаторы достаточно большой ёмкости, воспользовавшись тем фактом, что температура меняется сравнительно медленно. Для оцифровки звука такой фокус однозначно бы «не прокатил».

Осталось упомянуть ещё одну важную особенность АЦП, характерную для микроконтроллеров. Собственно, модулей АЦП в нём, как правило, один или два, а вот входов может быть много. В описываемой серии модуль 1, а входов может быть до 16. Как же так? Очень просто, входы подсоединены к нему через коммутатор. Если вы собираетесь измерять напряжение с 10 входов, то должны организовать цикл — последовательно переключить коммутатор к каждому из 10 входов и сделать измерение. Это необходимо учитывать, рассчитывая времена измерения. В данной серии АЦП, теоретически, способно сделать измерение за 1 микросекунду. Получается, что полный цикл 10 измерений у вас займёт точно больше 10 микросекунд!


Система прямого доступа в память ПДП или DMA

— ещё одна архиважная вещь. Этот модуль позволяет пересылать данные от периферии в память или наоборот.

Например, с его помощью вы можете выделить участок памяти для хранения данных, приходящих из АЦП и сделать из него кольцевой буфер. Далее запускается АЦП в режиме считывания данных через равные промежутки времени. Используя механизмы DMA, считанные данные будут, без участия ядра, самостоятельно, байт за байтом, помещаться в выделенный буфер. Когда буфер будет полностью заполнен, ядро получит сигнал и приступит к их программной обработке, а система DMA начнёт процесс загрузки сначала. Поскольку DMA имеет несколько каналов, то никто не мешает реализовать для нашего случая автоматический вывод на USART данных из буфера. В результате мы получим, работающий без использования ядра процесс передачи считанных с АЦП в USART, и не простая работа программиста по конфигурации DMA окупится сторицей.

Модуль широтно-импульсной модуляции ШИМ или PWM, в силу ограниченности статьи не будем останавливаться на нём подробно, отмечу только, что это крайне полезная и широко используемая функция, с помощью которой возможно управлять яркостью светодиодов, скоростью вращения двигателей, рулевыми машинками, конструировать интеллектуальные DC-DC преобразователи и даже звук синтезировать.

Что можно получить, добавив 30 центов?

Переход на Cortex-M0+. Самый дешёвый способ получить дополнительные функции

А какие дополнительные плюшки предлагает микроконтроллер новейшей серии с ядром чуть посовременнее Cortex-M0+, при стоимости на 20-50 центов дороже аналогов в рассмотренной выше серии по корпусу и количеству выводов?

Таблица отличий между сериями

  • в два раза увеличилась максимальная тактовая частота
  • с 2 до 1.7 вольт понизилось минимальное напряжение питания
  • АЦП способно работать в два с половиной раза быстрее
  • появились два канала 12 битного цифро-аналогового преобразователя. Это крайне полезная функция, с помощью которой возможно формировать на выводах сигнал заданного напряжения с точностью лучшей чем 1 мВ, например сигналы произвольной формы в звуковом диапазоне частот
  • появились компараторы — устройства для сравнения величин двух аналоговых сигналов, это бывает полезным скажем для определения момента возникновения перегрузки по току
  • добавлен USB интерфейс, посредством которого можно подключать устройства к компьютеру. Особый интерес вызывает наличие поддержки опций управления питанием для реализации USB type3-C совместимого интерфейса. О нём я рассказывал в одной из своих статей на Хабре
  • появился ускоритель AES для процедур 256 битного шифрования/дешифрации
  • UART получил возможность работы в режимах сна и аппаратную поддержку протоколов LIN (простая сеть, широко используется в автопроме), IRDA (протокол передачи данных посредством инфракрасных светодиодов, вспомните телевизионные пульты), SIMcard…
  • расширены возможности таймеров и модуля PWM
  • верхняя граница температурного диапазона работы поднялась до 125 градусов
  • увеличена надёжность работы за счёт расширения режимов перезапуска при возникновении проблем с питанием
  • добавлен “честный” аппаратный генератор случайных значений — полезная функция в криптографии

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

А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?

  • Максимальная тактовая частота вырастает уже до 80 МГц
  • Появился блок для ускорения вычислений с плавающей точкой
  • Ясное дело, максимальная встроенная память увеличилась
  • Модели с количеством ног 100 и более поддерживают работу с внешней статической памятью
  • USB научился работать в режиме HOST
  • Появился контроллер CAN интерфейса. Это очень перспективный интерфейс разработанный для высоконадёжных приложений. Своё победное шествие он начал с автомобильной промышленности и уже почти 20 лет ведёт затяжную войну с давно устаревшим RS-485 в крайне консервативной отрасли промышленной автоматизации.
  • Появился интерфейс для подключения SDcard. Очень полезная функция — добавляете в своё устройство держатель за 50 центов и получаете съёмный носитель размером в десятки Гигабайт! С большинством карт удаётся работать и по обычному SPI, но намного медленнее
  • Добавили встроенный Операционный Усилитель с большим разнообразием режимов работы. Именно благодаря этой и предыдущей функциям, для своего последнего проекта беспроводного стетоскопа, пришлось остановить выбор на M4 вместо M0+. В результате появилась возможность управлять усилением сигнала с MEMS микрофона и сохранять десятки часов аудиозаписей работы сердца на SD карте
  • Криптомодуль научился аппаратно считать HASH функции.
  • Контроллер сенсорных приложений усовершенствован и теперь поддерживает уже не только кнопки, но и элементы прокрутки

Cortex-M7 — когда хочется большего…

В подавляющем количестве проектов возможностей предоставляемых вышеописанными ядрами достаточно, но случаются и исключения. Лично со мной такое случалось всего пару раз, причём лишь один раз по действительно уважительной причине — требовалась высокая производительность для подготовки данных для ASIC, контроллер Ethernet и шина CAN-FD c повышенной скоростью обмена.

Если на уровне универсальных микроконтроллеров с ядрами Cortex 4 и ниже, на мой субъективный взгляд, по параметру цена/функциональность сейчас лидирует фирма ST, то в области более высокопроизводительных чипов она уступает лидерство ATMEL, вернее, теперь уже недавно поглотившему его MICROCHIP. Поэтому я остановил свой выбор на серии ATSAMV71, стоимостью от 6 долларов.

Помимо вышеописанного (контроллер Ethernet и шина CAN-FD), по большому счёту, мы получаем, существенно увеличивающее производительность ядро с ускорителем операций, работающее на тактовой частоте до 300 МГц, интерфейсы для подключения видеоматрицы и поддержку динамической памяти.

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

Книга Разработка устройств на микроконтроллерах AVR (+ CD-ROM) | Белов А. | ISBN 9785943878251

Этот популярный самоучитель поможет вам всего за шесть шагов пройти путь от «чайника», изучающего азы цифровой техники, до вполне готового специалиста, умеющего самостоятельно разрабатывать схемы любых устройств на микроконтроллерах и составлять для них программы. Познав основы цифровой логики, поймете, как работают более сложные элементы цифровой техники. Затем освоите основы микропроцессорной техники, поймете, как работает микропроцессор и микроконтроллер. Узнаете подробности внутреннего устройства, архитектуру и возможности семейства микроконтроллеров AVR, освоите основы схемотехники и конструирования микроэлектронных устройств. Научитесь ставить задачу на разработку устройства и выбирать стратегию ее решения. Изучите сразу два языка программирования для микроконтроллеров (язык Ассемблера и язык СИ), научитесь транслировать, отлаживать программы, прошивать их в память микроконтроллера. Теперь вы уже самостоятельно сможете разработать собственное микроконтроллерное…

Etot populjarnyj samouchitel pomozhet vam vsego za shest shagov projti put ot «chajnika», izuchajuschego azy tsifrovoj tekhniki, do vpolne gotovogo spetsialista, umejuschego samostojatelno razrabatyvat skhemy ljubykh ustrojstv na mikrokontrollerakh i sostavljat dlja nikh programmy. Poznav osnovy tsifrovoj logiki, pojmete, kak rabotajut bolee slozhnye elementy tsifrovoj tekhniki. Zatem osvoite osnovy mikroprotsessornoj tekhniki, pojmete, kak rabotaet mikroprotsessor i mikrokontroller. Uznaete podrobnosti vnutrennego ustrojstva, arkhitekturu i vozmozhnosti semejstva mikrokontrollerov AVR, osvoite osnovy skhemotekhniki i konstruirovanija mikroelektronnykh ustrojstv. Nauchites stavit zadachu na razrabotku ustrojstva i vybirat strategiju ee reshenija. Izuchite srazu dva jazyka programmirovanija dlja mikrokontrollerov (jazyk Assemblera i jazyk SI), nauchites translirovat, otlazhivat programmy, proshivat ikh v pamjat mikrokontrollera. Teper vy uzhe samostojatelno smozhete razrabotat sobstvennoe mikrokontrollernoe…

Дистанционный курс «Микроконтроллеры семейства AVR»

АктуальностьПриостановлено
СтоимостьПо запросу
Начало занятийПо мере формирования группы