Автор: Максим Селиванов
Хотите научиться разрабатывать действительно серьезные устройства на микроконтроллерах, как это делают настоящие профессионалы? Авторский обучающий видеокурс по созданию устройств на микоконтроллерах.
Для кого этот видеокурс.
Темы рассмотренные в курсе:
Микросхема часов реального времени
Общие сведения по микросхеме часов реального времени DS3231 и DS3231M. Основные характеристики: основной функционал, интерфейс обмена данными, диапазон питания, потребление тока, точность хода, тип резонатора, тип корпуса и т.д. Распиновка различных корпусов микросхемы. Схема подключения. Модульные платы с микросхемой. Принципиальная схема, особенности схемных решений и подключения к микроконтроллеру. Поддельные микросхемы.
Подробное рассмотрение документации на микросхему DS3231М. Характеристики микросхемы. Функционал микросхемы. Режимы работы микросхемы. Настройка функций будильников микросхемы. Подробный разбор каждого вывода микросхемы. Карта памяти и регистры микросхемы. Режим измерения температуры.
Подробное описание режимов чтения и записи регистров по шине I2C. Описание протокола обмена по шине I2C на информационном уровне. Режим однократного чтения и записи регистров. Режим чтения и записи нескольких регистров подряд.
Библиотечные функции для чтения и записи времени и даты. Функции записи/чтения регистров. Переключение режимов работы микросхемы. Настройка режимов будильников.
Проект для тестирования функций микросхемы DS3231. Подробный разбор функций для изменения режимов работы DS3231. Краткие сведения по работе с библиотекой дисплея на базе контроллера HD44780. Использование библиотеки обмена данными по шине I2C. Использование программной/аппаратной реализации шины I2C.
Несколько практических советов по подключению и работе с дисплеем на базе HD44780. Использование на практике библиотеки для реализации шины I2C. Запуск проекта на реальном микроконтроллере и тестирование различных режимов работы.
Модуль беспроводного обмена данными
Введение в микросхему приемо-передатчика NRF24L01+. Основные области использования микросхемы. Преимущества использования микросхемы. Основные характеристики и режимы работы. Модули на основе микросхемы. Рекомендации по подключению модулей к микроконтроллеру. Аналоги и модификации микросхемы, подделки микросхемы.
Выводы интерфейса модуля NRF24L01 для подключения к микроконтроллеру. Разбор протокола обмена данными через SPI. Документация на NRF24L01+. Обзор основных характеристик микросхемы, режимов работы и регистров микросхемы. Диаграмма состояния. Таблица команд микросхемы.
Подробный разбор диаграммы состояния. Пошаговая настройка микросхемы на передачу и на прием. Задание адресов передатчика и приемника. Функция передачи, приема и подтверждения приема.
Разбор библиотеки управления NRF24L01. Программный интерфейс SPI для обмена данными. Каналы и адреса приема/передачи данных. Буферы приемника и передатчика микросхемы. Функции управления режимами микросхемы, передачи и приема.
Простой проект для тестирования основных режимов приема и передачи данных с выводом результатов на терминальную программу ПК. Состояния микросхемы после отправки и приема пакетов данных. Настройка прерываний. Работа программы на практике.
Усложненный проект передачи и приема данных со считыванием регистров для оценки состояния микросхемы. Состояние регистров при отправке, приеме, потери пакета, переполнении буфера передатчика и приемника. Счетчик повторных отправок пакета. Определение качества связи по количеству потерянных пакетов.
Модуль воспроизведения звука
Постановка задачи воспроизведения звука при помощи микроконтроллера. Краткий обзор микросхемы WTV020. Модули на основе микросхемы WTV020. Подключение модуля и интерфейс управления. Основные преимущества и недостатки модуля. Особенности схемы питания модуля. Поддерживаемые звуковые форматы и типы SD-карт.
Распиновка модуля на основе WTV020. Обзор компонентов на плате модуля. Доработка схемы коммутации питания. Выбор величины напряжения питания карты. Интерфейс управления. Схема подключения к микроконтроллеру. Команды управления. Интерфейс для передачи команд управления. Карты, с которыми модуль может работать не корректно.
Программа для конвертации звуковых файлов в формат AD4. Специальный формат для выбора имен звуковых файлов. Подготовка SD-карты для записи файлов. Специальная программа для записи звука. Обзор специальных режимов воспроизведения звуковых файлов.
Управление модулем с микроконтроллера через последовательную шину. Разбор функции для передачи управляющих команд на модуль. Команды для выбора трека, переключения треков, изменения громкости, остановки и начала воспроизведения.
Радиочастотная идентификация (RFID)
Основные сведения о RFID технологиях. Классификация и области применения RFID технологий. Считыватели, их внутреннее устройство, антенны считывателей. Виды карт, их внутреннее устройство, область применения. Способы взаимодействия карт и считывателей.
Теория физического взаимодействия считывателей и RFID меток. Виды взаимодействия: электрическое поле, магнитное поле, электромагнитное поле. Обмен данными через индуктивную связь. Внутреннее устройство RFID меток и считывателей. Колебательный контур RFID-метки и считывателя.
Виды RFID карт и меток. Классификация карт по частотам работы. Основные сферы и области применения карт в зависимости от частотного диапазона. Низкочастотные карты стандарта EM-marine, высокочастотные карты стандарта Mifare, карты компании HID.
Карты стандарта EM-Marine (EM4100)
Карты стандарта EM-marine. Форм-фактор исполнения карт. Сферы использования. Протокол передачи данных от карты. Формат хранения ID-кода. Основы работы карты. Запись индивидуального идентификатора на картах.
Схема простого активного считывателя меток на 125 кГц. Конструкция антенны колебательного контура. Настройка колебательного контура. Подбор конденсатора для резонанса в колебательном контуре. Программы для расчета параметров колебательного контура.
Подробный разбор протокола передачи данных. Манчестерский код. Дешифровка манчестерского кода. Преамбула сигнала. Групповой идентификатор, индивидуальный идентификатор метки. Контроль строк на четность. Контроль столбцов на четность. Определение начала посылки.
Подключение схемы считывателя к микроконтроллеру. Программа для дешифрации манчестерского кода. Передача считанных байт на терминальную программу ПК. Временные параметры манчестерского кода. Алгоритм нахождения преамбулы. Контроль строк и столбцов на четность. Байты индивидуального и группового кода.
Демонстрация работы программы для считывания ID-кода карт. Считывание брелков и карт стандарта EM-Marine.
Усовершенствованная версия программы для считывания меток с манчестерским кодом в разных форматах. Автоматическое распознавание прямого и инверсного манчестерского кода. Нахождение преамбулы в прямой и обратной логике.
Карты стандарта Mifare
Основные сведения о картах стандарта Mifare: Mifare Ultralight, Mifare Classic, Mifare Plus, Mifare DESFire, SmartMX. Карты совместимые с картами стандарта Mifare. Память карт. Защита информации от считывания и записи. Сферы использования карт. Карты для оплаты проезда в общественном транспорте. Электронные документы с биометрическими данными. Физические основы передачи данных. Модифицированный код Миллера. Несущая частота 13,56 МГц
Основные сведения о микросхеме MFRC522: поддерживаемые карты, интерфейс обмена данными, буфер данных, питание и подключение. Модуль RC522. Распиновка контактов в разных типах модулей. Протокол обмена данными через SPI. Команды приема и передачи байт данных. Регистры MFRC522. Подключение микроконтроллера к модулю.
Урок №5.3. Основы работы с микросхемой MFRC522 (43:31)
Подробный разбор документации на MFRC522. Выбор интерфейса для обмена данными. Протокол обмена. Инициализация. Расчет контрольной суммы CRC16. Команды микросхемы MFRC522. Прием и передача данных. Описание основных функций для обмена данными через интерфейс SPI с микросхемой MFRC522. Особенности работы с FM17522 (аналог микросхемы MFRC522).
Карты стандарта Mifare Ultralight
Обзор карт стандарта Mifare Ultralight. Разбор документации на карту. Команды для управления картой. Карта памяти. Семибайтный уникальный идентификатор. Ячейки однократно программируемой памяти. Идентификатор производителя. Байты блокировки страниц. Диаграмма состояния карты.
Обзор проекта для работы с картами Mifare Ultralight . Разбор функций для обмена данными. Команды отклика, чтения, записи, останова карты. Перевод карты в режим останова. Запрос типа карты. Команды REQA и WUPA. Чтение идентификатора. Два уровня антиколлизии карты.
Считывание данных с карт Mifare Ultralight. Передача считанных данных в терминальную программу ПК. Считывание байт ATQA и SAK. Определение типа карты по байтам ATQA и SAK. Различия между командами REQA и WUPA. Различия в считывании карт с разной длиной идентификатора.
Разбор функций для записи данных на страницы карты. Запись байт в однократную область памяти. Виды ошибок при записи данных. Активация защиты страниц от записи с использованием бит защиты от записи.
Отличия в ответах ATQA и SAK для различных карт стандарта Mifare c 7- и 4-байтным идентификатором. Формат хранения данных в билете Московского метрополитена: номер билета, дата покупки, срок действия, количество израсходованных поездок.
Карты стандарта Mifare Classic
Карты Mifare Classic 1K, 4K, Mifare Mini, Mifare ID. Основные характеристики, преимущества и недостатки. Области применения карт. Понятие блоков и секторов карты. Трейлер сектора. Ключи аутентификации А и В. Биты доступа сектора. Структура памяти карты, блок производителя, аутентификация и права доступа к секторам карты. Процедура доступа к памяти. Шифрование передаваемых данных.
Чтение, запись и аутентификация карт. Команды отклика, чтения, записи, останова и аутентификации карты. Процедура аутентификации в секторе карты по ключам А и В. Абсолютный адрес аутентификации сектора. Команды REQA и WUPA. Чтение и запись 16 байт блока сектора. Чтение идентификатора. Обмен зашифрованными данными.
Формат трейлера сектора. Формат хранения ключей A и B в трейлере сектора. Формат хранения бит доступа. Режимы доступа к данным сектора. Условия доступа к трейлеру сектора, условие доступа к блокам данных. Изменение режимов доступа. Выбор типов операций с блоками данных. Блокировка блока данных. Транспортная конфигурация карты.
Чтение идентификатора и блоков секторов карт стандарта Mifare Classic, Mini, ID. Автоматическое распознавание, выбор и аутентификация карт с 4- и 7-байтным идентификатором. Поведение карты при считывании недоступных секторов.
Практика записи данных в блоки секторов. Разбор функций для записи в блоки данных секторов карт. Ошибки записи секторов карт.
Практика изменения ключей доступа А и В для секторов карты. Значение ключей по умолчанию. Считывание и изменение ключей доступа в ASCII-символах через терминальную программу. Блокировка работы карты в случае ошибки аутентификации.
Практика задания уровней доступа для блоков сектора. Работа с картами при аутентификация по ключу А и ключу В. Чтение и запись данных на разных уровнях доступа с аутентификацией по разным ключам. Формат хранения уровней доступа блоков в полях бит доступа. Ограничение доступа при аутентификации по открытому ключу В. Отличия в ограничениях доступа для оригинальных и неоригинальных карт стандарта Mifare. Блокировка сектора при нарушении формата хранения бит доступа.
Раздел "Радиочастотная идентификация" можно приобрести отдельно!
Цветные жидкокристаллические TFT дисплеи
Физические принципы работы жидкокристаллических (ЖК) дисплеев. Виды ЖК-дисплеев. Основные преимущества ЖК-дисплеев. Понятие активной матричной адресации с использованием нелинейных ключевых элементов на базе тонкопленочных транзисторов. Управляющие контроллеры дисплеев.
Обзор производителей контроллеров дисплеев. Внешний вид. Краткие сведения по интерфейсам в контроллерах. Расположение кристаллов контроллеров на дисплеях. Технологии COG и COF. Разрешение дисплеев и диагональ экрана.
Виды интерфейсов дисплеев, основные сведения о подключении дисплеев к микроконтроллеру. Распиновка контактов дисплейного модуля. Напряжения питания дисплейных модулей. Краткие сведения о работе с сенсорным экраном и слоте для подключения SD-карты.
Некоторые общие сведения об основных возможностях контроллеров дисплеев. Понятие выделенного окна в видеопамяти, направлении автоинкрементна. Задание начала координат в дисплеях. Краткие сведения о том, где и как приобретать дисплеи с необходимым управляющим контроллером.
Библиотеки контроллеров дисплеев
Контроллер SSD1289
Общие сведения о дисплеях на базе контроллера SSD1289. Обзор документации.
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Контроллер ILI9325
Общие сведения о дисплеях на базе контроллера ILI9325. Обзор документации.
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
Урок №5.2.3. Демонстрация работы (4:53)
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Контроллер ILI9341
Общие сведения о дисплеях на базе контроллера ILI9341. Обзор документации.
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Контроллер SSD1963
Общие сведения о дисплеях на базе контроллера SSD1963. Обзор документации. Особенности схемы подключения.
Обзор основных функций, необходимых для управления дисплеем и вывода изображения. Тестовая программа для проверки работы дисплея.
Демонстрация работы тестовой программы. Влияние настроек на работу дисплея.
Графическая библиотека
Краткий обзор возможностей графической библиотеки по выводу на дисплей графических примитивов, сложных изображений, текстовых сообщений. Краткий обзор функций. Пример сохранения в программной памяти массива графического изображения и массивов шрифтов. Отображение кириллических символов на дисплее. Задание типа и размера шрифта.
Подробный разбор работы функций для вывода на дисплей простейшей графики: линий, окружностей, прямоугольников. Пример настройки графической библиотеки для дисплеев с разными типами контроллеров и разной диагональю экрана. Алгоритм Брезенхема для построения машинной графики.
Вывод изображений из памяти программ
Разбор работы функции для вывода сложных графических изображений на дисплей. Пример работы функции для вывода простого изображения из памяти программ. Представление изображения в виде массива. Требования к массиву изображения. Задание размера изображения. Искажения изображения при неверных указаниях его размеров.
Программа для конвертации сложного графического изображения в числовой массив. Требования к формату массива после конвертации. Конвертирование изображения ручным способом.
Пример вывода на дисплей различных изображений. Типы искажений изображения при неверно заданных размерах и направлении автоинкремента. Зарисовка экрана скопированным изображением.
Вывод текста
Разбор проекта для демонстрации вывода текстовых сообщений на дисплей. Разбор функций для вывода текстовых сообщений. Основные параметры шрифтов, необходимые для отображения на дисплее. Представление шрифтов в виде массивов в программной памяти. Кодовая таблица windows-1251.
Пример работы в программе для генерации массивов символов из различных шрифтов. Задание параметров шрифтов. Создание пользовательских символов.
Дополнительные моноширинные шрифты. Установка дополнительных шрифтов. Большой шрифт семисегментного индикатора. Подключение новых шрифтов в графическую библиотеку.
Вывод изображений с SD-карты
Преимущества использования SD-карт для хранения больших файлов. Необходимость использования файловой системы. Основные сведения о библиотеке FatFS. Урезанная версия Petit FatFS. Основные преимущества Petit FatFS и недостатки. Области применения, состав библиотеки. Подключение микроконтроллера к слоту SD-карты на различных дисплеях.
Разбор состава библиотеки. Типы данных в библиотеке. Основные настройки библиотеки. Рекомендации по настройке. Пример низкоуровневых функций для взаимодействия с SD-картой.
Подробный разбор проекта с библиотекой Petit FatFS . Порядок использования функций библиотеки Petit FatFS для чтения файлов с SD-карты отформатированной под файловую систему FAT16 и FAT32. Функции монтирования/демонтирования диска, открытия файла и чтения файла.
Разбор формата BMP для хранения изображения. Формат RAW. Конвертация изображения в RAW-формат.
Пример проекта для считывания различных графических изображений с SD-карты и вывод изображений на дисплей.
Сенсорный экран дисплея
Виды сенсорных дисплеев. Принцип работы 4-проводного резистивного сенсорного экрана. Плюсы и минусы резистивного экрана. Сенсорный экран на различных дисплеях. Микросхемы для обработки сигналов с сенсорного экрана. Различия между ADS7843, ADS7846, XPT2046 и TSC2046. Выводы на дисплеях для взаимодействия с микросхемой обработки сенсорного экрана.
Обзор документации. Основные характеристики микросхемы. Распиновка, подключение, интерфейс обмена. Протокол обмена. Состав управляющего байта. Диапазон питания, измерения напряжения питания, температуры, точки касания, усилия нажатия. Использование прерываний.
Пример считывания данных с микросхемы. Подробный разбор протокола взаимодействия с микросхемой. Формат посылки данных. Считывание результатов АЦП. Преобразование считанных данных в координаты на экране. Определение усилия нажатия. Дребезг при касании сенсорного экрана. Использование фильтров для определения координат касания дисплея. Расчет корректировочных коэффициентов для точного определения координат точки касания.
Библиотека для считывания координат точки касания. Настройка библиотеки под дисплеи с различным положением точки начала координат. Алгоритмы эффективного подавления дребезга при касании экрана. Алгоритм точного определения точки касания.
Функция калибровки экрана с автоматическим расчетом калибровочных коэффициентов. Определение точки касания с использованием калибровочных коэффициентов. Коэффициенты пропорциональности по осям. Смещение точки начала координат. Расположение калибровочных точек на дисплее.
Проект для демонстрации работы сенсорного экрана. Вывод рассчитанных значений калибровочных коэффициентов на экран. Отображение координат точки касания на дисплее. Пример рисования на экране дисплея. Отражение координат по оси Х и оси Y. Перемена осей Х и Y местами. Пример изменения работы функций для разных точек начала координат.
Демонстрация работы сенсорного экрана в дисплеях на базе контроллеров SSD1963, ILI9341, ILI9325. Пример настройки библиотеки сенсорного экрана под каждый дисплей.
Доработанная версия библиотеки для взаимодействия с дисплеями на низком уровне.
Версия графической библиотеки с дополнительными функциями.