Найти в Дзене
Nostalgie wawes

Микроконтроллер, как это понять?

Ссылка на предыдущую статью серии: https://dzen.ru/media/id/66c7ac8ffefa563cff965d2b/java-dlia-jeleza-i-prichem-tut-internet-675dee63ec74cb370fe25344
За свою недолгую, пока еще, карьеру в различных закрытых "ойти"-группах мне много раз приходилось сталкиваться с хейтом высокоуровневых языков программирования (во времена моей любви к python). Помню, как в одном из этих горячих споров я услышал в свой адрес: "Мы доживем до тех времен, когда "петон" будет исполняться прямо на процессоре быстрее самого нативного кода!". Это так забавно вспомнить :)
Однако, незримая рука рока привела меня к java в свое время, и в первое свое знакомство с этой технологией я еще не понял, для чего она создана была изначально. В моем тогда понимании - это язык строго для enterprise-приложений различной степени сложности, веб-приложения. Теперь-то мы с вами знаем точно по многочисленным свидетельствам авторитетных разработчиков современности, как и для чего рождалась java. Ссылка на предыдущие статьи цикла "

Ссылка на предыдущую статью серии: https://dzen.ru/media/id/66c7ac8ffefa563cff965d2b/java-dlia-jeleza-i-prichem-tut-internet-675dee63ec74cb370fe25344


За свою недолгую, пока еще, карьеру в различных закрытых "ойти"-группах мне много раз приходилось сталкиваться с хейтом высокоуровневых языков программирования (во времена моей любви к python). Помню, как в одном из этих горячих споров я услышал в свой адрес: "Мы доживем до тех времен, когда "петон" будет исполняться прямо на процессоре быстрее самого нативного кода!". Это так забавно вспомнить :)

Запрос к нейросети MidJourney 6.1 "Крупный план на микропроцессор с логотипом Java"
Запрос к нейросети MidJourney 6.1 "Крупный план на микропроцессор с логотипом Java"


Однако, незримая рука рока привела меня к java в свое время, и в первое свое знакомство с этой технологией я еще не понял, для чего она создана была изначально. В моем тогда понимании - это язык строго для enterprise-приложений различной степени сложности, веб-приложения. Теперь-то мы с вами знаем точно по многочисленным свидетельствам авторитетных разработчиков современности, как и для чего рождалась java. Ссылка на предыдущие статьи цикла "железной" java тут:
https://dzen.ru/a/Z13uY-x0yzcP4lNE

Не буду долго ходить вокруг да около и скажу прямо - автоматизация сейчас повсюду. Сложность технологических систем растет, ровно как и растет необходимость использования в этих системах управления средств вычислительной техники. Где-то с начала 1970-х г.г. разработчики систем управления стали использовать вычислительные системы на базе микропроцессоров. Поистине это был прорыв в науке и технике. А зачем? Да все для того же: повысить скорость обработки чего бы то ни было в технологических системах, эффективность и вот это всё. А что за зверь такой этот микропроцессор? Очень упрощенно это электронное устройство, способное производить вычисления - как арифметические и логические, так и операции управления - своего рода электронный "мозг". Только этот мозг понимает лишь один язык - машинный код, что состоит из 0 и 1. Не правда ли потрясающее сходство с импульсами мозга? Эти процессоры повсюду: в вашем смарте и сотовом, игровой приставке, TV, холодильнике, умных часах.

НО, есть одно "но" - сами по себе процессоры не управляют ничем, они производят вычисления. Так как же передать результат вычисления во вне? Здесь приходит понятие микроконтроллера, он внешне очень похож на микропроцессор, ТОЛЬКО в нем помимо самого процессора есть много чего для получения сигналов извне и отдачи их вовне. Вот и все! Первыми разработчиками микроконтроллера (а тогда - однокристальной микро-ЭВМ) считается прекрасная компания Texas Instruments - идеальный, на мой взгляд, пример того, когда технический ум делает большие деньги. В СССР так же не отставали, в 1979г. там создали 16-битную микро-ЭВМ «Электроника С5-31», она использовалась для решения широкого круга задач в промышленной автоматике, контроллерах и терминалах (про то, что такое бит можно прочесть коротко тут: https://ru.wikipedia.org/wiki/Бит):

«Электроника С5-31» , взято с сайта zapadpribor.com
«Электроника С5-31» , взято с сайта zapadpribor.com

Т.е. иными словами, отличие главное микроконтроллера от микропроцессора в том, что он является ПРОГРАММИРУЕМЫМ на разные задачи, в отличие от процессора, который создают с КОНКРЕТНЫМИ параметрами, поменять которые уже нельзя (хотя при желании можно всё).

Т.к. контроллер - это полноценное устройство, то к нему прилагается документация с техническими параметрами и назначением, типа такой:

Документация от фирмы Renesas
Документация от фирмы Renesas

Основные модули микроконтроллера:

1. Процессорное ядро

2. Память (организована из множества ячеек определенной разрядности)

3. Память программ (хранит программу микроконтроллера в виде последовательности команд)

4. Функциональные модули: обеспечивают взаимодействие микроконтроллера с другими устройствами (ввод/вывод данных, подсчет времени и событий, хранение данных и т.д.). Включают:

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

b. Схема сброса - переводит микроконтроллер в исходное состояние при необходимости.

c. Аналого-цифровые преобразователи (АЦП): для оцифровки и ввода аналоговых сигналов с различных датчиков.

d. Таймеры-счетчики: обеспечивают работу микроконтроллера в реальном времени. Выполняют функции подсчета импульсов, формирования временных интервалов и периодических сигналов.

О том, какие группы микроконтроллеров - а конкретнее в зависимости от чипа на борту - бывают, поговорим в следующей статье.

Использованная литература:
1.
Васильев А. Е. , Микроконтроллеры: разработка встраиваемых приложений, изд. «БХВ-Петербург» 2008