Что такое микропроцессор
Микропроцессор (в ангоязычной литературеMPU — Micro Processor Unit) содержит функционал компьютерного центрального процессора, или ЦП (CPU — Central Processing Unit) на одном полупроводниковом кристалле (ИМС — интегральная микросхема или на западный манер — Integrated Circuit).
Графический процессор NVIDIA
По своей сути — это микрокомпьютер, который используется для выполнения арифметических и логических операций, управления системами, хранения данных и прочих.
Микропроцессор обрабатывает данные, поступающие с входных периферийных устройств и передает обработанные данные на выходные периферийные устройства.
Существует четыре основных типа процессоров, различающихся своей архитектурой.
Микропроцессоры с полным набором команд (Complex Instruction Set Computer, CISC-архитектура). Характеризуются нефиксированным значением длины команды, кодированием арифметических действий одной командой, небольшим числом регистров, выполняющих строго определённые функции. Примером такого типа процессоров служит семейство x86.
Микропроцессоры с сокращенным набором команд (Reduced Instruction Set Computer, RISC-архитектура). Обладают, как правило, повышенным быстродействием за счёт упрощения инструкций, что позволяет упростить процесс декодирования и, соответственно, сократить время их выполнения. Большинство графических процессоров разрабатываются, используя этот тип архитектуры.
Микропроцессоры с минимальным набором команд (Minimal Instruction Set Computer, MISC-архитектура). В отличие от RISC-архитектуры, в них используются длинные командные слова, что позволяет выполнять достаточно сложные действия за один цикл работы устройства. Формирование длинных «командных слов» стало возможным благодаря увеличению разрядности микропроцессорных устройств.
В суперскалярных процессорах (Superscalar Processors) используются несколько декодеров команд, которые загружают работой множество исполнительных блоков. Планирование исполнения потока команд происходит динамически и осуществляется самим вычислительным ядром. Примером процессора с таким типом архитектуры является, например Cortex A8.
Отдельно хочу выделить микропроцессоры специального назначения (ASIC — Application Specific Integrated Circuit). Как следует из названия, предназначены для решения конкретной задачи. В отличие от микропроцессоров общего назначения, применяются в конкретном устройстве и выполняют определенные функции, характерные только для данного устройства. Специализация на выполнении узкого класса функций приводит к увеличению скорости работы устройства и, как правило, позволяет снизить стоимость такой интегральной схемы. Примерами таких микропроцессоров может быть микросхема, разработанная исключительно для управления мобильным телефоном, микросхемы аппаратного кодирования и декодирования аудио- и видеосигналов — так называемые цифровые сигнальные процессоры (Digital Signal Processing, DSP multiprocessors). Могут быть реализованы в виде ПЛИС (программируемая логическая интегральная схема). При разработке таких процессоров для описания их функциональности используют языки описания аппаратных устройств (HDL — Hardware Description Language), такие как Verilog и VHDL.
Системы на основе микропроцессоров строят примерно следующим образом.
Система, основанная на микропроцессоре
Как видно, микропроцессор в этой системе имеет множество вспомогательных устройств , таких как постоянное запоминающее устройство, оперативная память, последовательный интерфейс, таймер, порты ввода/вывода и т.д. Все эти устройства обмениваются командами и данными с микропроцессором через системную шину. Все вспомогательные устройства в микропроцессорной системе являются внешними. Системная шина, в свою очередь, состоит из адресной шины, шины данных и шины управления.
Теперь, давайте, рассмотрим микроконтроллер.
Мультиплексоры — демультиплексоры
При использовании КМОП — технологии можно построить двунаправленные ключи, которые обладают возможностью пропускать ток в обоих направлениях:
Сопротивление КМОП — транзистора в открытом состоянии составляет от 10 Ом до 1 кОм, сопротивление в закрытом состоянии ограничивается токами утечки, которые составляют 0,1…. 100 нА, время включения ключа составляет 3….5 нс. Двунаправленные ключи могут передавать цифровые и аналоговые сигналы. Благодаря этому можно строить мультиплексоры — демультиплексоры:
Показанная на рисунке микросхема содержит два четырёхвходовых мультиплексора, которые могут использоваться как демультиплексоры (МХ — ДМХ). На схемах они обозначаются буквами МХ. Микросхема содержит один общий инверсный вход Е разрешения (стробирования) и два общих адресных входа 1 и 2. При логической 1 на входе разрешения выходы отключаются от информационных входов и переходят в высокоипедансное состояние. При активизации входа разрешения, т. е. при подаче на него логического 0, происходит соединение одного из информационных входов (в соответствии с кодом на адресных входах) с выходом микросхемы. Поскольку это состояние происходит при помощи двунаправленных ключей на КМОП — транзисторах, то сигнал может передаваться как со входов на выход (режим мультиплексора), так и с выхода на входы ( режим демультиплексора). Кроме того, передаваемый сигнал может быть как аналоговым, так и цифровым.
Сумматоры
Сумматоры — это комбинационные устройства, предназначенные для сложения двух входных двоичных кодов. Например, арифметическая сумма кодов 0111 (число 7) и 0101 (число 5) равна 1100 (число 12). Арифметическая сумма кодов 1101 (число 13) и 0110 (число 6) равна 10011 (число 19), т. е. сумма двух двоичных чисел с числом разрядов n может иметь результат с числом разрядов n + 1. Этот дополнительный (старший) разряд называется выходом переноса (Р). На схемах сумматоры обозначаются буквами SM. Микросхемы сумматоров кодируются буквами ИМ. Рассмотрим таблицу истинности сложения двух одноразрядных двоичных чисел без учёта переноса:
A | B | S |
1 | 1 | |
1 | 1 | |
1 | 1 |
Запишем логическую функцию: S =AB+AB Устройство, реализующее эту функцию, называется » исключающее ИЛИ»:
Схема не информирует о бите переноса. Рассмотрим сложение двух одноразрядных двоичных чисел, для чего составим таблицу сложения (таблицу истинности), в которой отразим значение входных чисел А и В, значение результата суммирования S и значения переноса в старший разряд Р:
A | B | P | S |
1 | 1 | ||
1 | 1 | ||
1 | 1 | 1 |
Работа устройства, реализующего таблицу истинности, описывается следующими уравнениями: S = AB+AB и Р = АВ Устройство, реализующего таблицу истинности, содержит » исключающие ИЛИ» и конъюнктор » И»
Это устройство называется полусумматором и изображается в виде:
Устройства называются полусумматором, т. к. имеет только два входа и не воспринимается сигнал переноса от других микросхем. Он используется только в младшем разряде. Рассмотрим сложение двух одноразрядных двоичных чисел с учётом бита переноса от других микросхем:
Работа устройства, реализующего таблицу истинности, описывается следующими уравнениями: S=ABPn-1+ABPn-1+ABPn-1+ABPn-1 Pn=ABPn-1+ABPn-1+ABPn-1+ABPn-1 Устройство, реализующие таблицу, содержит два полусумматора и дизъюнктор » ИЛИ»:
Это устройство называется одноразрядным сумматором и имеет следующее условное графическое обозначение:
Сумматоры бывают одноразрядные (для суммирования двух одноразрядных чисел) двухразрядные (суммируют двухразрядные числа) и четырёхразрядные (суммируют четырёхразрядные числа). Чаще всего применяют 4 — х разрядные:
Вход С (вход расширения) для объединения нескольких сумматоров с целью увеличения разрядности:
Использование микроконтроллеров
Как я уже писал, для того чтобы использовать микроконтроллер его необходимо прошить соответствующей программой, но это не все, поскольку микроконтроллер это не товар конечного потребления (как, например, MP3 плеер), а электронный компонент, на основе которого можно сделать необходимое устройство. Обычно этот процесс состоит из нескольких пунктов:
- Определение задач, которые будет исполнять микроконтроллер
- Создание схемы на основе микроконтроллера или, как бывает чаще, поиск нужной схемы в интернете
- Написание программы-прошивки для микроконтроллера или, опять же, скачка программы, сделанной другим энтузиастом
- Прошивка программы в микроконтроллер
- Сборка и подключение всего устройства
- Использование самодельного гаджета
Для того чтобы прошить микроконтроллер его необходимо подключить к ПК, для чего используется специальное устройство, которое называется программатор. С его помощью и осуществляется взаимосвязь между микроконтроллером и компьютером. Можно даже сказать, что программатор — это своеобразный мост.
Программу для микроконтроллера пишете на языке программирования Си (кстати, Си намного проще, чем ассемблер), после чего создаёте файл прошивки и с помощью программы прошивальщика прошиваете ваш микроконтроллер данной прошивкой. На самом деле всё довольно просто и, при желании, достаточно легко осваивается! Лично я использую для всех этих действий программу CodeVisionAVR так как она очень удобна и поддерживает практически все виды программаторов. От себя — очень советую!
Собирать устройство на основе микроконтроллера можно как на протравленной плате, так и на макетной или даже методом навесного монтажа, в зависимости от того, как вам удобней и сложности предполагаемого устройства.
Основные узлы микроконтроллера
Микроконтроллер состоит из центрального процессора (ЦП, CPU), энергонезависимой памяти, энергозависимой памяти, периферийных устройств и вспомогательных цепей.
Центральный процессор (CPU)
Центральный процессор выполняет арифметические операции, управляет потоком данных и генерирует управляющие сигналы в соответствии с последовательностью инструкции, созданных программистом. Эта чрезвычайно сложная схема, необходимая для функциональности процессора, разработчику не видна. Фактически, благодаря интегрированным средам разработки и языкам высокого уровня, таким как C, написание кода для микроконтроллеров часто является довольно простой задачей.
Память
Энергонезависимая память используется для хранения программы микроконтроллера, то есть (часто очень длинного) списка инструкций машинного языка, которые точно указывают процессору, что делать. Обычно вместо «энергонезависимой памяти» вы будете видеть слово «flash» («флеш»), которое относится к определенному типу энергонезависимого хранилища данных.
Энергозависимая память (то есть ОЗУ, RAM) используется для временного хранения данных. Эти данные теряются, когда микроконтроллер теряет питание. Внутренние регистры также обеспечивают временное хранение данных, но мы не рассматриваем их как отдельный функциональный блок, поскольку они интегрированы в центральный процессор.
Периферийные устройства
Мы используем слово «периферия» для описания аппаратных модулей, которые помогают микроконтроллеру взаимодействовать с внешней системой. Следующие пункты описывают различные категории периферийных устройств и приводят их примеры.
-
Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения.
Данный график демонстрирует данные трехосевого акселерометра, оцифрованные с помощью встроенного АЦП микроконтроллера
- Генерирование тактовых сигналов: внутренний генератор, схема на кварцевом резонаторе, петля фазовой автоподстройки частоты.
- Расчет времени: таймер общего назначения, часы реального времени, счетчик внешних событий, широтно-импульсная модуляция.
- Обработка аналоговых сигналов: операционный усилитель, аналоговый компаратор.
- Ввод/вывод: цифровые входные и выходные цепи общего назначения, параллельный интерфейс памяти.
- Последовательная связь: UART, SPI, I2C, USB
Вспомогательные цепи
Микроконтроллеры включают в себя множество функциональных блоков, которые не могут быть классифицированы как периферийные устройства, поскольку их основная цель не состоит в управлении, мониторинге или обмене данными с внешними устройствами. Тем не менее, они очень важны – они поддерживают внутреннюю работу устройства, упрощают реализацию и улучшают процесс разработки.
- Схема отладки позволяет разработчику тщательно контролировать микроконтроллер во время выполнения инструкций. Это важный, а иногда и необходимый метод отслеживания ошибок и оптимизации производительности прошивки.
-
Прерывания являются чрезвычайно ценным видом работы микроконтроллера. Прерывания генерируются внешними или внутренними аппаратными событиями и заставляют процессор немедленно реагировать на эти события, выполняя определенную группу инструкций.
Программы микроконтроллера, написанные на C, организованы в функции. Прерывание заставляет выполнение программы «переходить» в процедуру обработки прерывания (ISR), и после того, как ISR завершил выполнение своих задач, процессор возвращается к функции, которая выполнялась, когда произошло прерывание. - Модуль генерирования тактового сигнала можно считать периферийным устройством, если он предназначен для генерирования сигналов, которые будут использоваться вне микросхемы. Но во многих случаях основная цель внутреннего генератора микроконтроллера состоит в том, чтобы предоставить тактовый сигнал для центрального процессора и периферийных устройств. Внутренние генераторы часто имеют низкую точность, но в приложениях, которые могут допускать эту низкую точность, они являются удобным и эффективными способом упростить конструкцию и сэкономить место на плате.
- Микроконтроллеры могут включать в себя различные типы схем электропитания. Интегрированные стабилизаторы напряжения позволяют в самой микросхеме генерировать необходимое напряжение питания, модули управления питанием могут использоваться для значительного снижения потребления тока устройством в неактивных состояниях, а модули супервизора могут переводить процессор в состояние сброса, когда напряжение питания недостаточно высоко, чтобы обеспечить надежную работу.
Фиксированная запятая и плавающая запятая
Термин «с плавающей запятой» относится к числовому представлению, в котором осевая точка может «плавать», потому что число состоит из целой части (мантиссы) и показателя степени. Альтернатива («фиксированная запятая») соответствует тому, как мы обычно обрабатываем и воспринимаем данные в обычном микроконтроллере. Тщательное сравнение арифметики с плавающей запятой и арифметики с фиксированной запятой ни в коем случае не является простой задачей, но, похоже, существует консенсус в отношении того, что обработка с плавающей запятой может быть лучше в математически сложных приложениях.
Думаю, можно с уверенностью сказать, что все микроконтроллеры являются устройствами с фиксированной запятой, потому что, по-моему, если это процессор по-настоящему с плавающей запятой, он больше не может называться микроконтроллером. Однако, если вы действительно настроены на максимальную математическую производительность, оставаясь в области микроконтроллеров, вам следует рассмотреть устройство, которое включает в себя сопроцессор с плавающей запятой.
LPC3180FEL320 от NXP, 16/32-разрядный микроконтроллер на базе ARM, имеет сопроцессор с плавающей запятой и может достигать 220 MIPS. STMicroelectronics также имеет микроконтроллеры STM32, которые включают в себя модуль с плавающей запятой (FPU, floating-point unit).
Я использовал немного математики с плавающей запятой в своем проекте с круговым датчиком прикосновения. В большинстве случаев отдельный FPU не нужен – компиляторы хорошо справляются с реализацией переменных с плавающей запятой в обычных микроконтроллерах.
Тактирование микроконтроллеров
Тактовая частота МК – это количество тактов за секунду, выполняемых контроллером. Чем она выше, тем большее количество операций он может выполнить.
Существуют несколько способов тактирования МК. Они зависят от использования:
- Внутреннего RC-генератора. Он может работать только на частоте 1, 2, 4, 8 МГц. Если нужна другая частота, то он не подойдет. При необходимости использования точных временных интервалов тоже нельзя пользоваться этим методом, т. к. его задающая частота колеблется в зависимости от температуры.
- Внешнего кварца. Этот способ имеет более сложное подключение. Емкость конденсатора должна находиться в интервале 15–22 пФ. Один выход присоединяется к резонатору, а другой заземляется.
- Внешнего генератора. Этот генератор также нестабилен при разной температуре, как и внутренний.
- RС-цепочек. Для данной схемы подойдет конденсатор емкостью от 22 пФ, резистор 10–100 кОм.
Для простейших микроконтроллеров подойдут внутренний или внешний генератор и RC-цепочки. Для проектирования более точных МК потребуются стабильные источники тактирования.
Какой тип микроконтроллера выбрать для начального изучения?
Для того, что бы освоить программирование микроконтроллеров на достаточно хорошем уровне, сначала необходимо научится программировать какой-то один тип микроконтроллеров и изучить все его возможности. Тогда гораздо проще будет освоить и другие типы МК.
К основным критериям выбора МК относится:
— доступность, т. е. МК можно легко купить в любом радиомагазине;
— низкая стоимость. Здесь все понятно;
— наличие подробной технической документации;
— бесплатное программное обеспечение;
— наличие литературы и достаточного количества примеров по выбранному типу МК.
Последний пункт я выделяю как наиболее важный
Поскольку только при наличии множества наглядных и интересных примеров можно хорошо освоить программирование микроконтроллеров не теряя интерес к данному занятию, что очень важно при длительном изучении МК
На мой взгляд, и по личному опыту всем названным критериям отвечает микроконтроллер ATmega8 компании Atmel. Его мы и возьмем за основу.
Основные возможности микроконтроллеров
Микроконтроллеры способны принимать сигналы, например с различных датчиков, кнопок или клавиатуры, обрабатывать их и выдавать управляющие сигналы, например для отображения информации на семисегментных индикаторах или жидкокристаллических дисплеях.
С помощью МК можно формировать очень точные временные интервалы благодаря наличию встроенных таймеров-счетчиков. Это позволяет создавать часы, таймеры, секундомеры и прочие устройства, где необходимо учитывать отрезки времени.
Также МК применяются для подсчета импульсов, что дает возможность сосчитать количество срабатываний какого-либо устройства. Например, можно подсчитать количество срабатываний реле с целью контроля или автоматизации определенного процесса.
Если подсчитать количество импульсов за единицу времени, то мы получим частотомер.
Наличие встроенного устройства широтно-импульсной модуляции (ШИМ) позволяет управлять частотой вращения вала двигателя.
Многие микроконтроллеры имеют в своем кристалле аналогово-цифровые преобразователи, с помощью которых можно создавать различные измерительные устройства, такие как вольтметры, амперметры, омметры, измерители емкости и т. п.
Еще микроконтроллеры могут обмениваться данными между компьютером и другим МК. Для этого практически в любом МК имеется встроенный один или несколько интерфейсов передачи данных: USART, SPI, CAN, USB и др.
Также в МК встроены и другие функциональные узлы, такие как различные прерывания, сторожевые таймеры и прочее другое. Однако я надеюсь, что даже перечисленных функций и возможностей микроконтроллеров вас заинтересует и вдохновит на их дальнейшее изучение.
Как работает адресная светодиодная лента?
Наверное этот вопрос «как работает» очень многим покажется глупым. Ответ почти очевиден: адресная светодиодная лента состоит из множества последовательно соединенных «умных светодиодов». Это можно увидеть просто рассматривая устройство ленты. Видны отдельные микросхемы, припаянные к гибкому шлейфу, видны соединения: микросхемы соединены последовательно всего тремя проводами, при этом два из них это питание и земля. Только один провод передает данные о цвете пикселей. Как же это? Что такое «умный светодиод»?
Дальше я расскажу о протоколе передачи данных, используемом в светодиодной ленте на базе WS2812B, и, более того, я почти создам свою «микросхему светодиодной ленты» в микросхеме ПЛИС.
ARM
О компании ARM и ее продукции ты наверняка слышал. Однако производит эта компания не сами микроконтроллеры, а лишь архитектуру. Лицензию на нее покупают конечные производители и используют так, как им захочется. Кто только их не выпускал! Но как микроконтроллеры наибольшее распространение получили чипы компании STMicroelectronics.
Логотип STMicroelectronics
Они делятся на два семейства: STM32 и STM8. Как понятно из названий, такие чипы бывают 8- и 32-битные. А каждое семейство делится на серии, которых достаточно много.
STM8
Что можно о них сказать? Это функциональный аналог AVR, только дешевле. Здесь есть три серии: STM8L c ультранизким энергопотреблением, STM8S для индустриальной аппаратуры и STM8A, именуемые «высоконадежными». Периферия у всех такая же, как у AVR, но есть встроенный тактовый генератор. Из плюсов могу выделить только низкое энергопотребление и маленькую цену. Замечу, у STM8 архитектура не ARM, а собственная. Она очень схожа с ARM и использует идентичный STM32 интерфейс прошивки. Компилятор для них используется тоже один, и при его работе ты просто указываешь, под какую архитектуру собирать код.
STM32
Проще говоря, это старший брат STM8. Его характеристики куда выше и колеблются в больших пределах в зависимости от серии. Программируются практически на чем угодно, даже JavaScript, хотя я бы не рекомендовал.
Прошивка и программирование
Прошиваются STM32 с помощью разработанного компанией ST интерфейса Single Wire Interface Module (SWIM). Еще у МК этой серии есть интерфейс отладки Serial Wire Debugging (SWD). Им я не пользовался, но в большинстве гайдов по STM есть описание его настройки.
А еще на STM можно записывать прошивки по USB. Дело в том, что у многих контроллеров этой серии есть аппаратная поддержка USB. STM благодаря этому может эмулировать разные устройства — например, флешку. Если залить специальную прошивку, можно будет обновлять встроенную программу просто по USB.
Для STM32 есть самые разные программаторы — от весьма крутых до простеньких USB-свистков. Я, например, взял ST-LINK, на «Алиэкспрессе» он стоил около 1,6 долларов. Его достоинство в том, что он может прошить любой контроллер STM.
Программатор ST-LINK
Стоит также упомянуть платы STM Nucleo. Вот одна из них.
Плата STM32 Nucleo
Это что-то вроде Arduino из мира STM. Стоит дороговато, как и оригинальные Arduino, но вещь для новичка отличная. Если деньги есть, стоит взять. Здесь же стоит упомянуть «Амперку» с их «Искрой» и набором для начинающих. Тоже вполне достойный выбор для первого раза.
Плата Iskra JS
Для программирования можно воспользоваться средами Embedded Workbench, uVision и TrueStudio. Благодаря работе умельцев для этих же целей можно использовать и родной для многих Arduino IDE. Есть также онлайновый IDE — mbed studio.
Цена
Партия из пяти плат с обвязкой и STM8 будет стоить около 4,5 долларов. Плата BluePill с STM32F103 сейчас стоит 1,6 доллара. Плата NUCLEO-F072RB — 16,4 доллара. Ссылок давать не буду — на «Алиэкспрессе» все это легко ищется по запросу «stm32».
Что такое электрическая схема
Это графическое изображение, где указаны все электронные элементы, связанные между собой проводниками. Поэтому знание электрических цепочек – это залог правильно собранного электронного прибора. А, значит, основная задача сборщика – это знать, как на схеме обозначаются электронные компоненты, какими графическими значками и дополнительными буквенными или цифровыми значениями.
Все принципиальные электрические схемы состоят из электронных элементов, которые имеют условное графическое обозначение, короче УЗО. Для примера дадим несколько самых простых элементов, которые в графическом исполнении очень похожи на оригинал. Вот так обозначается резистор:
Резистор
Как видите, очень похоже на оригинал. А вот так обозначается динамик:
Динамик
То же большое сходство. То есть, существуют некоторые позиции, которые сразу же можно опознать. И это очень удобно. Но есть и совершенно непохожие позиции, которые или надо запомнить, или надо знать их конструкции, чтобы легко определять на принципиальной схеме. К примеру, конденсатор на рисунке снизу.
Конденсатор
Тот, кто давно разбирается в электротехнике, то знает, что конденсатор – это две пластинки, между которыми размещен диэлектрик. Поэтому в графическом изображении был и выбран этот значок, он в точности повторяет конструкцию самого элемента.
Самые сложные значки у полупроводниковых элементов. Давайте рассмотрим транзистор. Необходимо отметить, что у этого прибора три выхода: эмиттер, база и коллектор. Но и это еще не все. У биполярных транзисторов встречаются две структуры: «n – p – n» и «p – n – p». Поэтому и на схеме они обозначаются по-разному:
Транзистор
Как видите, транзистор по своему изображению на него-то и не похож. Хотя, если знать структуру самого элемента, то можно сообразить, что это именно он и есть.
Простые схемы для начинающих, зная несколько значков, можно читать без проблем. Но практика показывает, что простыми электросхемами в современных электронных приборах практически не обходятся. Так что придется учить все, что касается принципиальных схем. А, значит, необходимо разобраться не только со значками, но и с буквенными и цифровыми обозначениями.
Что обозначают буквы и цифры
Все цифры и буквы на схемах являются дополнительной информацией, это опять-таки к вопросу, как правильно читать электросхемы? Начнем с букв. Рядом с каждым УЗО всегда проставляется латинская буква. По сути, это буквенное обозначение элемента.
Это сделано специально, чтобы при описании схемы или устройства электронного прибора, можно было бы обозначать его детали. То есть, не писать, что это резистор или конденсатор, а ставить условное обозначение. Это и проще, и удобнее.
Теперь цифровое обозначение. Понятно, что в любой электронной схеме всегда найдутся элементы одного значения, то есть, однотипных. Поэтому каждую такую деталь пронумеровывают. И вся эта цифровая нумерация идет от верхнего левого угла схемы, затем вниз, далее вверх и опять вниз.
И последнее. Все электронные элементы имеют определенные свои параметры. Их обычно также прописывают рядом со значком или выносят в отдельную таблицу. К примеру, рядом с конденсатором может быть указана его номинальная емкость в микро- или пикофарадах, а также номинальное его напряжение (если такая необходимость возникает).
Вообще, все, что связано с полупроводниковыми деталями должно обязательно дополняться информацией. Это не только упрощает чтение схемы, но и позволяет не ошибиться при выборе самого элемента в процессе сборки.
Иногда цифровые обозначения на электросхемах отсутствуют. Что это значит? К примеру, взять резистор. Это говорит о том, что в данной электрической схеме показатель его мощности не имеет значения. То есть, можно установить даже самый маломощный вариант, который выдержит нагрузки схемы, потому что в ней течет ток малой силы.
И еще несколько обозначений. Проводники графически обозначаются прямой непрерывной линией, места пайки точкой. Но учтите, что точка ставиться только в том месте, где соединяются три или более проводников.
История появления
Работы над изобретением микропроцессора велись с начала 1970-х годов. Первой компанией, разработавшей его, была компания Intel. Уже в 1971 году ее был выпущен первый микроконтроллер 4004, который состоял из 2300 полупроводниковых транзисторов, а по размеру был не больше ладони. Это стало возможным, после того как для микросхемы был специально разработан кристалл процессора.
Несмотря на маленькие размеры, производительность микропроцессора не уступала компьютеру Eniac, имеющему габариты в 85 м3. Особенностью этого устройства было то, что оно могло обрабатывать только 4 бита информации.
В ближайшие полгода еще несколько компаний заявили о создании аналогичных изделий.
К концу 1973 года Intel выпускает 8-зарядный микропроцессор. Он был настолько удачно разработан, что и сегодня считается классикой.
Через несколько месяцев фирма Motorola выпускает свой 8-битовый микропроцессор 6800. Он стал сильным конкурентом интеловской микросхеме, т. к. имел более значительную систему прерываний и одно напряжение электропитания. В 8080 их было три.
Внутренняя архитектура 6800 тоже отличалась. В ней не было регистров общего назначения, в которых могли сохраняться как адресная информация, так и числовые показатели. Вместо них, в процессоре появился еще один полноценный аккумулятор для обработки данных и 16-разрядные регистры для хранения адресов. Работа с памятью у 6800 выполнялась быстрее и была проще, но 8080 тратил меньше времени на обмен внутренней информацией между регистрами.
Оба эти изделия имели как положительные стороны, так и недоработки. Они стали родоначальниками двух больших семейств микропроцессоров – Интел и Моторола, которые конкурируют между собой до сих пор.
В 1978 году Интел выпустила 16-разрядный микропроцессор, который IBM использовала для разработки персональных компьютеров. Моторола не отстала от своего конкурента и тоже выпустила 16-разрядный микропроцессор, который использовали Atari и Apple.
Сейчас существует более 200 разновидностей микроконтроллеров. Количество компаний, их изготавливающих, перевалило за два десятка. Широкое распространение у разработчиков получили:
- 8-битные микроконтроллеры Pic компании Microchip Technology и AVR от Atmel;
- 16-битовые MSP 430 фирмы TI;
- 32-битные ARM от одноименной компании.
Типы корпусов микроконтроллеров
Внешне микроконтроллеры ничем не отличаются от других микросхем. Кристаллы МК размещаются в стандартных корпусах, которые имеют строго определенное количество выводов. Микроконтроллеры изготавливаются в трех принципиально разных видах корпусов.
Это интересно: Что такое MAT (Manifold Air Temperature)?
НАБОР КОМАНД МИКРОКОНТРОЛЛЕРА
Необходимо внимательно изучить набор команд и регистров каждого
микроконтроллера, так как они играют важнейшую роль в определении возможностей системы в целом.
Изучили ли ваши программисты индексные режимы адресации в связи с предполагаемыми нуждами вашей
системы? Есть ли какиелибо специальные команды, которые будут использоваться в вашей системе,
такие как умножение, деление и табличное интерполирование? Есть ли какиелибо режимы энергосбережения
для экономии батарейного питания, такие как стоповый, стоповый с низким потреблением мощности и/или
с ожиданием? Есть ли какиелибо команды битовых манипуляций (установка бита, очистка бита, тест бита,
изменение бита, команды перехода по установленному/очищенному биту), облегчающие применение микроконтроллера,
или команды манипуляции с битовыми полями?
Будьте осторожны с замечательными командами, которые совершают много действий в
одной команде. Реальным критерием производительности является количество тактовых циклов, требуемое
для выполнения задачи, а не количество исполненных команд. Для справедливого сравнения лучше
закодировать одинаковую программу и сравнить полное число выполненных тактовых циклов и использованных
байтов. Есть ли в карте операционных кодов нереализованные инструкции и что получится, если они случайно
выполнятся? Обработает ли система подобную ситуацию корректно обработчиком «исключительных» событий или
это приведет к выходу системы из строя?
Обозначение общего провода
В сложных электрических цепях с целью улучшения читаемости схемы часто проводники, соединенные с отрицательной клеммой источника питания, не изображают. А вместо них применяют знаки, обозначающие отрицательных провод, который еще называют общий или масса или шасси или земля.
Рядом со знаком заземления часто, особенно в англоязычных схемах, делается надпись GND, сокращенно от GRAUND – земля.
Однако следует знать, что общий провод не обязательно должен быть отрицательным, он также может быть и положительным. Особенно часто за положительный общий провод принимался в старых советских схемах, в которых преимущественно использовались транзисторы p—n—p структуры.
Поэтому, когда говорят, что потенциал в какой-то точке схемы равен какому-то напряжению, то это означает, что напряжение между указанной точкой и «минусом» блока питания равен соответствующему значению.
Например, если напряжение в точке 1 равно 8 В, а в точке 2 оно имеет величину 4 В, то нужно положительный щуп вольтметра установить в соответствующую точку, а отрицательный – к общему проводу или отрицательной клемме.
Таким подходом довольно часто пользуются, поскольку это очень удобно с практической точки зрения, так как достаточно указать только одну точку.
Особенно часто это применяется при настройке или регулировке радиоэлектронной аппаратуре. Поэтому учиться читать электрические схемы гораздо проще, пользуясь потенциалами в конкретных точках.
5) запоминание результата WB
В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.
Особенности микроконтроллеров Ардуино
Но всё же у большинства, при упоминании МК, в памяти всплывает название «Ардуино», и это не удивительно. Ведь у данной разновидности поликристальных чипов есть характерные особенности, выгодно выделяющие ее на фоне конкурентов:
- Низкий порог входа. Так как программная среда уже написана и протестирована за вас, никаких «велосипедов» придумывать не нужно.
- Оптимизация под конкретные задачи. У создателей есть целая линейка разнообразных чипов, которые сильно различаются по характеристикам, благодаря чему будет проще подобрать подходящий.
- Готовая платформа и множество решений различных проблем или задач в открытом доступе.