Андрей Смирнов
Время чтения: ~18 мин.
Просмотров: 0

Программирование микроконтроллеров семейства pic начинающим

Квадратурный энкодер

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

Ниже приведены две схемы декодирования сигналов квадратурного энкодера.

Рис. 11a. Квадратурный декодер со счетным выходом и сигналом направления.

Эта схема детектирует фазы входных сигналов (состояние выхода D показывает направление вращения энкодера) и выдает тактовые сигналы (выход С).

Рис 11b. Квадратурный декодер с двумя счетными выходами

Эта схема выдает импульсы. Один выход при вращении по часовой стрелке, второй выход – при обратном вращении.

При переключении контактов энкодер выдает множественные ложные срабатывания (дребезг контактов).

Рис. 11c. Сигналы с выходов механического квадратурного энкодера

Вот тут фрагмент покрупнее:

Рис. 11d. Сигналы с выходов механического квадратурного энкодера

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

Рис. 11e. Входные сигналы с энкодера и очищенные от дребезга.

Под обработку сигналов квадратурного энкодера понадобятся 4 ячейки CLC – две для подавления дребезга и две для детектирования.

Рис. 11f. Диаграммы сигналов обработки квадратурного энкодера для схемы с выходом направления

Рис. 11g. Диаграммы сигналов обработки квадратурного энкодера для схемы с двумя счетными выходами.

Входы и выходы логических ячеек могут подключаться к портам микроконтроллера, а могут иметь только внутренние соединения. Для данного примера необходимы только два входа, выходы декодера могут подключаться к внутренним счетчикам микроконтроллера, формировать прерывания, опрашиваться программой и пр… Но для задач тестирования можно все выходы CLC вывести наружу и проверить правильность работы схемы.

Где применяется?
Механические и оптические энкодеры, подсчет числа входящих и выходящих людей, закрытие турникета при прохождении в неположенном направлении ))

8-битные сети на Эльбрусе, есть ли смысл?

Привет, Хабр! Мы вдруг поняли, что наша последняя статья про Эльбрус вышла год назад. Поэтому мы решили исправить эту досадную оплошность, ведь мы не бросили эту тему!

Сложно представить распознавание без нейронных сетей, поэтому мы расскажем о том, как мы запустили 8-битные сетки на Эльбрусе и что из этого получилось. Вообще, модель с 8-битными коэффициентами и входами и 32-битными промежуточными вычислениями крайне популярна. Например, Google и Facebook завели ее собственные реализации, которые оптимизируют доступ в память, задействуют SIMD и позволяют ускорить вычисления на 25% и больше без заметного снижения точности (это конечно зависит от архитектуры нейронной сети и вычислителя, но нужно же было объяснить, насколько это круто?).

Создание камеры-ловушки с использованием Raspberry Pi, Python, OpenCV и TensorFlow

  • Перевод
  • Tutorial

Я сильно верю в обучение через практику, через создание чего-то нового. А для того чтобы что-то создавать, нужно чтобы работа приносила бы удовольствие.
Я начну рассказ о моём новом проекте с того, что раскрою причины, по которым решил попытаться создать камеру-ловушку на основе Raspberry Pi.
Я живу в Лондоне, мой сад часто посещают местные представители дикой природы. Случается это так часто, что я, заядлый садовник, мало-помалу начал расстраиваться. Разбитые горшки, выкопанные из земли растения, съеденные фрукты и овощи…
Я видел в своём саду маленьких лис (они — просто прелесть), больших лис, кошек (не моих), птиц. А однажды меня даже посетил ястреб-перепелятник.

Импульсный источник питания

Еще один пример использования конфигурируемых логических ячеек совместно со встроенными компараторами.
Таймер TMR периодически устанавливает RS-триггер и открывает силовой транзистор. Ток начинает течь через индуктивность, напряжение на резисторе R1 линейно увеличивается. При достижении напряжения на R1 порогового значения срабатывает компаратор COMP1 и сбрасывает триггер, транзистор закрывается. Ток через индуктивность не может прерваться мгновенно, поэтому ток начинает течь через диод D1 и заряжает выходной конденсатор. По срабатыванию таймера триггер снова устанавливается и процесс повторяется.

Рис.17a. Простейший импульсный источник питания.

На рисунке приведена схема повышающего источника, но для других топологий (см. рис. 17b) работа схемы будет аналогичной, поэтому выходной каскад далее рисовать не буду.

схемаописание
повышающий
понижающий
Sepic

Рис.17b. Различные топологии импульсных источников питания

Приведенная на рис. 17a схема выполняет функцию преобразования энергии и работает по пиковому значению тока в индуктивности. Можно ввести еще контур регулирования выходного напряжения. Наиболее просто сделать гистерезисное управление: когда напряжение на выходе ниже нормы – происходит накачка источника, когда напряжение выше – выдача управляющих импульсов на силовой транзистор блокируется.

Рис.17c. ИИП с гистерезисным управлением

Включение силового транзистора будет генерировать помеху, которая может приводить к преждевременному срабатыванию компаратора COMP1. Для избавления от этого можно включить RC-фильтр в цепь между R1 и компаратором, а можно добавить рассматриваемый ранее блок бланкирования (формирование импульса по фронту, см. рис 8а, или рис. 14а), который после включения транзистора будет блокировать сброс триггера на короткий интервал времени.

Рис.17d. Помеха при коммутации силового ключа

Рис.17e. ИИП с гистерезисным управлением и бланкированием помехи переключения.

Элементы U1 и U2 можно привести к реализации на элементах ИЛИ и отнести к входу CLC1, тогда вся логическая часть схемы реализуется на трех ячейках CLC (обычно в микроконтроллерах Microchip имеется 4 ячейки).
Все что на схеме изображено левее силового ключа – находится внутри микроконтроллера, связи периферийных модулей так же осуществляются внутри кристалла микроконтроллера. Напряжения порогов Ref и Ref1 могут задаваться встроенными источниками опорного напряжения или ЦАП. Таким образом, импульсный источник питания с регулируемым выходным напряжением можно реализовать на периферийных модулях микроконтроллера. После первоначального конфигурирования схема будет работать полностью аппаратно без необходимости участия ядра в поддержании функции преобразователя. Ядро может заниматься интерфейсными задачами, индикации контроля и др.

Вообще, для построения импульсных источников питания в новых семействах PIC16F17xx микроконтроллеров Microchip есть дополнительные аналоговые (операционные усилители) и специализированные периферийные модули: модули пилообразной компенсации (Slope Compensation) и программируемый рамп-генератор (Programmable Ramp Generator, PRG), операционные усилители, модуль формирования комплементарных выходных сигналов (COG), HLT таймера. Но об этих частях ПНЯ постараемся рассказать в следующий раз.

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

PCI Express в ПЛИС V-й серии Intel: основы интерфейса и особенности аппаратных ядер

  • Технотекст 2020
  • Из песочницы

Введение

Знакомый многим интерфейс PCI Express или PCIe был доступен разработчикам систем на ПЛИС уже тогда, когда он только начинал распространяться в цифровой технике. В это время существовало решение, в котором программное ядро подключалось ко внешней микросхеме физического уровня []. Это позволяло создавать одноканальную линию PCIe со скоростью 2,5 гигатранзакций в секунду. В дальнейшем, благодаря развитию технологий, физический уровень интерфейса перекочевал в аппаратные блоки PCIe внутри самих ПЛИС; количество возможных каналов увеличилось до 8, а в ряде новых микросхем — и до 16; вслед за современными стандартами выросли возможные скорости передачи данных.
В то же время, в русскоязычных источниках по-прежнему затруднительно найти вспомогательные материалы по работе с аппаратными ядрами современных ПЛИС, не так и много информации доступно по самому интерфейсу PCIe. Руководство к аппаратным ядрам PCI Express подразумевает, что разработчик уже ознакомился со стандартом и понимает основы передачи данных между устройством и персональным компьютером (ПК). Однако обилие информации в самом стандарте PCIe не дает сразу же разобраться в том, какие шаги необходимо предпринять, чтобы успешно передать данные от устройства в память ПК или обратно. Чтобы получить более полную картину, немалую часть сведений приходится собирать по крупицам из разных источников. Для разработчиков систем на ПЛИС фирмы Intel сложность также заключается в том, что большинство доступных материалов и статей описывают работу с аппаратными ядрами ПЛИС фирмы Xilinx.
В данной статье автор постарается рассказать о том, что необходимо знать разработчику систем на ПЛИС для работы с интерфейсом PCI Express; рассмотрит особенности работы с аппаратными ядрами PCI Express ПЛИС V-й серии фирмы Intel в варианте Avalon-ST.

Драйвер шагового двигателя

Один из самых простых вариантов управления Шаговым Двигателем (ШД) это полношаговое управление (full step). В этом варианте сигналы управления сдвинуты на 90°. Поэтому можно взять периодический сигнал, на один делитель частоты подать его в прямом виде, на другой – в инверсном.

Рис. 5a. Формирователь сигналов управления шаговым двигателем.

Рис. 5b. Диаграмма на выходе формирователя.

Изменение частоты на входе CLC будет изменять частоту управляющих сигналов шагового двигателя

Входную частоту можно брать с входа микроконтроллера (внешний сигнал), либо от внутреннего источника – ШИМ или NCO генератора.
При управлении ШИМ-ом нужно менять 2 параметра: регистр периода (частота) и регистр скважности, так как управляющий сигнал должен быть с 50% скважностью.
Применение NCO (Numerically Controlled Oscillator, управляемый генератор) выглядит более привлекательным, так как это генератор может автоматически формировать меандр, поэтому для изменения частоты нужно менять значения только в одном регистре.
Для смены направления нужно инвертировать сигналы на одной из фаз

Декодер манчестерского кода

Схема манчестерского декодера гораздо сложнее. Её задача выделить синхро-импульсы и битовый поток.

В примере применения AN1470 предлагается следующая реализация аппаратного декодирования Минчестерского кода на основе CLC и NCO (управляемого генератора).

Рис.13a. Схема декодера Манчестерского кода

Рис. 13b. Диаграммы, поясняющие работу декодера

Стадия 1 – D-Триггер
Ячейка CLC4 (D-триггер) защелкивает входной поток по спаду сигнала синхронизации. Выход с этого триггера будет являться декодированными (восстановленными) данными из входного потока.

Стадия 2 – элемент XOR (CLC2)
Поскольку в Манчестерском кодировании изменение сигнала происходит в середине каждого информационного бита, то можно использовать элемент ИСКЛЮЧАЮЩЕЕ ИЛИ чтобы обеспечить нарастающий фронт на стадии 3 в середине каждого бита, т.е. мы синхронизируем декодер в середине каждого бита.

Стадия 3 – NCO + AND-OR (CLC1)
модуль NCO, используется для генерации ¾ битового интервала по завершении которого производится захват (фиксация) данных. NCO используется в режиме с активным низким состоянием. Длительность импульсов можно регулировать с помощью регистров. Модулю NCO необходим источник тактовых импульсов, которые поступают ему из CLC1.
Эти два блока являются наиболее важными в декодере. Они создают импульсы фиксированной длины после каждого нарастающего фронта сигнала, выходящего из «стадия 2». Выходной сигнал NCO подается обратно в элемент И-ИЛИ так, что если выход из «стадия 2» становится равным нулю, то NCO будет продолжать тактироваться до своего переполнения.

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

Управление по напряжению (Voltage Mode)

В этом режиме скважность ШИМ сигнала, управляющего силовыми ключами, определяется непосредственно выходным напряжением. При гистерезисном управлении, если напряжение на выходе ниже нормы – идет «накачка» источника

Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости. В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой»

При гистерезисном управлении, если напряжение на выходе ниже нормы – идет «накачка» источника. Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости. В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой».

Данный режим используется сравнительно редко, так как сопровождается большими пульсациями выходного напряжения и требует накопительного конденсатора сравнительно высокой емкости.
Рисунок 5 демонстрирует принцип работы режима управления по напряжению с гистерезисным управлением. Здесь и далее не показана выходная часть источника, так как определяется топологией, выходной мощностью и др. Для иллюстрации принципа работы ШИМ-контроллера иногда будет показан пример с выходной частью.

Рис. 5а. Первая схема – с фиксированным выходным напряжением, вторая – с регулировкой выходного напряжения.

Рис. 5б. Диаграммы выхода ШИМ и выхода компаратора.

Рис. 6. Пример выходного каскада повышающего импульсного источника питания, подключенного к ШИМ контроллеру (см.рис.5).

Конфигурируемые логические ячейки (CLC) на рис .5 можно включить как элемент И. Для предотвращения высокочастотной генерации от компаратора его выход целесообразно пропустить через еще одну CLC – D-триггер с синхронизацией от сигнала ШИМ

В этом случае получим два «бонуса» — отсутствие возникновения высокочастотной генерации и неизменность скважности управляющего ШИМ (см. пояснения на рис

7). Подробнее о конфигурируемых логических ячейках см. в статье «Конфигурируемые логические ячейки в PIC микроконтроллерах» .

Рис.7.а. Укорочение управляющих ШИМ импульсов, возможность появления высокочастотной генерации

Рис. 7.б. Синхронизация сигналов позволяет предотвратить укорочение ШИМ импульсов

Рис. 8. Синхронизация сигналов для предотвращения генерации и укорочения ШИМ.

STM32CubeMonitor стоит попробовать

Введение

STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-link\v2). Слово «Cube» в название не означает привязку к CubeMx\HAL, от вас требуется всего лишь прошивка в формате «*.elf», что не может не радовать. Данная утилита позволяет чрезвычайно быстро и просто выводить данные с контроллера в реальном времени в виде графика, а так же осуществлять постобработку(присутствуют наборы основных математических и тригонометрических функций).

Компиляция программы

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

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

Для прошивки МК применяется устройство, называемое программатор. В зависимости от типа программатора вход его подключается к COM или USB порту, а выход к определенным выводам микроконтроллера.

Существует широкий выбор программаторов и отладочных плат, однако нас вполне устроит самый простой программатор , который в Китае стоит не более 3 $.

После того, как микроконтроллер прошит, выполняется отладка и тестирование программы на реальном устройстве или, как еще говорят, на «железе».

Теперь давайте подытожим этапы программирования микроконтроллеров.

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

Следует заметить, что отладку и тестирование программы также выполняют до прошивки МК.

Работа

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

Финансово трудно придётся новичкам (до 1 года опыта): зарплата в районе 20 тыс. рублей в месяц для программиста МК. Это вполне реальная цифра в регионах. Зато если вы живёте в столице, у вас есть опыт работы с популярным видом МК (от 3 лет активной деятельности) и голова на плечах, то вполне можно рассчитывать и на 150 тыс. рублей в месяц. В целом, не сказать, что конкуренция за места у данных разработчиков высокая, но с течением времени она неизбежно растёт.

Опять же, для людей с опытом есть вариант поискать счастье за границей. Особенно если у вас уже есть опыт полноценной работы. Дело в том, что в России идея IoT пока не слишком развивается. Да и вообще автоматизация пока не затрагивает небольшие системы. А в США, Японии и других развитых странах хороший разработчик ПО для МК — на вес золота. Правда, придётся учитывать иной уровень конкуренции и серьёзные требования по производительности труда.

Вступление

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

Автор данной статьи разработал и изготовил собственную плату.

Вашему вниманию предлагается проект отладочной платы на базе микроконтроллера STM32F107.
Данная плата является плодом труда автора, схемотехнические решения заимствованы из технической документации других аналогичных плат. Разводка платы, возможно, требует корректировки, в частности разводка микросхемы RT8201BL для Ethernet. Соединение платы с сетью по Ethernet было протестировано с использованием готового проекта.

Микроконтроллеры 8051

Микроконтроллер 8051 – это 8-битное семейство микроконтроллеров, разработанное Intel в 1981 году. Это одно из популярных семейств микроконтроллеров, которые используются во всем мире. Кроме того, этот микроконтроллер изначально назывался «системой на кристалле», поскольку он имеет 128 байт оперативной памяти, 4 Кбайт ПЗУ, 2 таймера, 1 последовательный порт и 4 порта на одном кристалле. Процессор может обрабатывать до 8 бит данных одновременно. Если данные больше 8 бит, то они должны быть разбиты на части, чтобы процессор мог легко их обрабатывать. Большинство микроконтроллеров серии 8051 различных производителей содержат 4 Кбайт ПЗУ, хотя объем ПЗУ может быть расширен до 64 Кбайт.

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

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

Сенсорные экраны. Большое количество поставщиков микроконтроллеров включает сенсорные функции в свои устройства. Примерами сенсорных экранов на микроконтроллерах являются портативная электроника, такая как сотовые телефоны, медиаплееры и игровые устройства.

Автомобили: микроконтроллеры 8051 находят широкое применение в автомобильных решениях. Они широко используются в гибридных транспортных средствах для обработки данных с двигателей и управления ими. Кроме того, такие функции, как круиз-контроль и анти-тормозная система, более эффективны с использованием микроконтроллеров.

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

Знания

От пустых слов перейдём к реальным требованиям. «MustKnow» в программировании микроконтроллеров — язык C/C++. Да, мировые тенденции сейчас указывают на переход на более совершенные или хотя бы простые языки (вспомните Arduino или D). Но это будущее довольно отдалённое, закладывать путь в него можно разве что сегодняшним школьникам младших классов.

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

В остальном довольно общая компьютерная наука: протоколы передачи, простейшее знание электроники и схемотехники (хотя бы принципы работы АЦП/ЦАП, работать с ключами, питанием и пр.), умение читать (и понимать) техническую документацию на английском языке. Но главное — не работать по принципу “научного тыка”, в противном случае ваши микроконтроллеры рискуют превратиться в “камни”.

Еще один совет: постигать все эти знания необходимо на практике. Начать можно с дешёвых, но эффективных готовых плат со всей необходимой обвязкой, вроде Arduino или Raspberry Pi, которые в будущем наверняка станут для вас хорошими помощниками. А уже потом, если возникнет желание, поиграть с периферией.

Садовый туалет для инструментов

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20

  • Технотекст 2020
  • Tutorial

Вместительные стеллажи для хранения вещей на даче

Сфера применения PIC-микроконтроллеров

Как уже было сказано, семейство PIC16 очень любят радиолюбители. К тому же оно хорошо описано в большом количестве литературы. По количеству учебников с семейством PIC, на момент написания статьи, может посоревноваться только семейство AVR.

Давайте рассмотрим несколько схем с применением микроконтроллеров семейства PIC.

Таймер для управления нагрузкой на PIC16f628

Простейшая автоматика на микроконтроллерах PIC – это стихия 8-битного семейства. Их объём памяти не позволяет делать сложных систем, но отлично подходит для самостоятельного выполнения пары поставленных задач. Так и эта схема трёхканального таймера на Pic16f628, поможет вам управлять нагрузкой любой мощности. Мощность нагрузки зависит только от установленного реле/пускателя/контактора и пропускной способности электросети.

Настраивается прибор с помощью набора из 4-х кнопок SB1-SB4, на HG1 выводятся параметры, это дисплей типа LCD на 2 строки по 16 символов. В схеме используется внешний кварцевый резонатор на 4 МГц, а KV1 – это реле, с питанием катушки в 24 В, вы можете использовать любое реле, лишь бы оно подходило по напряжению катушки к вашему БП. МК питается от 5 В стабилизированного источника.

Вы можете использовать от 1 до 3 каналов в управлении нагрузкой, стоит только продублировать схему, добавив реле к выводам RA3, RA4 микроконтроллера.

Часы-будильник на МК PIC16f628A

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

С незначительными переделками вы можете использовать любые 7-мисегментные индикаторы. Питаются от блока питания на 5В, при этом, при отключении от сети продолжают работать от батареек, что вы можете увидеть в правом верхнем углу схемы.

Регулятор мощности паяльника на PIC16f628A

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

Схема довольно простая, в нижней части реализация светодиодной индикации. Главный силовой элемент – тиристор BT139, а MOC3041 – нужен для гальванической развязки МК от сети и управления тиристором с помощью логического уровня в 5 В.

Надежность, Самодиагностика

Допустим, на плате произошло короткое замыкание между двумя портами, настроенными на выход. Если один порт будет в состоянии лог.1, а второй в лог.0, то через порт будет протекать ток. При нагрузочной способности до 25мА (реально до 50мА) через порты будет протекать большой ток, что может привести к выходу порта или контроллера из строя.

Функция ограничения тока может предотвратить повреждение порта.
В дополнение можно организовать диагностирование портов, определение нагрузки.

При необходимости тестирования порта используют подобные схемы (см. рис.2). В этом случае можно подать сигнал на один порт и считать состояние другим выводом порта. В принципе, за счет структуры портов МК Microchip, можно тестировать без внешнего резистора (подать в порт какой-либо лог. уровень и считать вход этого же порта), но при КЗ по выходу не будет ограничения тока.

Рис.2. Самотестирование порта МК.

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

Рис.3. Самотестирование с использованием ограничения тока порта.

Например, в программе настраиваем порт (RC7) на выход с ограничением тока, подаем лог.1, далее считываем состояние этого же порта на входе.
Считывать можем как в цифровом виде, так и с помощью АЦП, причем во втором случае можем определять сопротивление нагрузки (так как известны напряжение питания и ток через порт).

тестирование цифровым входомтестирование вх.АЦП

Рис.4. Вывод в терминал информации тестирования порта RC7.

Микроконтроллеры ARM

Микроконтроллеры с ядром ARM также являются одним из семейств процессоров на базе архитектуры RISC, разработанным компанией Advanced RISC Machines (ARM).

Микроконтроллеры ARM основаны на 32-битных и 64-битных многоядерных процессорах RISC. Процессоры RISC предназначены для выполнения меньшего количества инструкций, чтобы они могли работать с большей скоростью, выполняя дополнительные миллионы инструкций в секунду (MIPS). Устраняя ненужные инструкции и оптимизируя обработку информации, RISC-процессоры обеспечивают большую производительность по сравнению с большинством рассмотренных выше микроконтроллеров.

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

Lua на STM32

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации