Знакомимся с микроконтроллером за одно занятие.




 

Творчество техническое может быть не менее увлекательным, чем творчество художественное.

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

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

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

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

По сути, микроконтроллер (МК) – миниатюрный компьютер, внутри которого имеется практически всё то, что и в персональном компьютере, но в гораздо меньших масштабах. А именно: процессор, энергонезависимая память, оперативная память, интерфейсы для связи с внешними устройствами, таймеры, счётчики, преобразователи сигналов, порты ввода-вывода и другие устройства. Следует заметить, что различные МК в зависимости от типа и назначения содержат различное количество внутреннего оборудования с разнообразными характеристиками.

Чтобы уметь использовать МК в творческой деятельности, необходимо знать на определённом уровне как он работает. Конечно же, в рамках одной статьи, а так же одного мастер-класса в формате занятия невозможно на достаточно глубоком уровне изучить МК и овладеть знаниями и умениями для работы с МК-технологиями. Цель статьи – познакомить с МК, показать, что МК-технологии доступны и разнообразны. Имея представление о функционировании МК, о процессах, происходящих внутри него, гораздо проще создавать программы и выявлять ошибки в них.

Все процессы в МК происходят пошагово, с определённой тактовой частотой. В популярных МК фирмы Atmel максимальная тактовая частота может составлять до 20 Мегагерц, или 20000000 Герц, или 20 миллионов тактов в секунду. Так как в описываемых МК за один такт выполняется одна операция, то за одну секунду производится 20 миллионов операций, а время выполнение одной операции составляет 50 миллиардных долей секунды, или 50 наносекунд! Из приведённых цифр хорошо видно, что микроконтроллеры обладают высокой производительностью, а, значит, могут управлять множеством процессов одновременно.

Цифровые электронные устройства, к которым принадлежат и МК, устроены так, что могут распознавать информацию по следующему принципу: «есть сигнал (напряжение, потенциал) – нет сигнала (напряжения, потенциала)». Поэтому минимальной единицей информации служит одна ячейка электронной памяти, способная хранить или сигнал, или его отсутствие. Наличие сигнала называют «логическая единица», отсутствие – «логический ноль». Сама ячейка называется «бит».

Для удобства отдельные ячейки памяти (биты) группируют в блоки, традиционно по восемь, называемые «байт». Внутри МК объединённые по восемь ячейки памяти изготовлены в виде электронных физических устройств, называемых «регистрами». Таким образом – МК содержит определённое количество восьмибитных регистров, служащих для хранения информации в виде электронных сигналов (потенциалов).

Нетрудно подсчитать, что один восьмибитный регистр может принимать 256 различных комбинаций состояний битов – от 00000000 до 11111111. Этим демонстрируется двоичная система счисления: каждый разряд представлен всего двумя цифрами – 0 и 1.

Как же работает главное устройство МК – процессор? Из самогО названия видно, что это устройство, управляющее некими процессами. Мы помним, что МК – программируемое устройство, то есть работающее по определённой программе. Программа состоит из последовательности команд (или инструкций), которые расположены в специальной области – памяти программ – последовательно, то есть одна за другой. Нетрудно догадаться, что каждая команда (инструкция) представлена в виде определённой комбинации нулей и единиц.

Что делает процессор: извлекает первую команду (инструкцию) из памяти программ, (помещая её в свой регистр), расшифровывает её с помощью имеющейся у него таблицы, и производит действия, предписанные таблицей для этой команды. Например, записывает в определённый разряд логический ноль или логическую единицу. Кроме этого, процессор сообщает о результате обработки команды определёнными сигналами, например, если в результате обработки команды биты регистра приняли значение «все нули», процессор выдаст специальный сигнал «ноль», то есть запишет логическую 1 в определённый бит специального регистра.

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

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

В качестве примера работы МК на уровне происходящих процессов можно рассмотреть алгоритм формирования интервала времени. Необходимо отметить, что это может быть сделано различными способами, в чём и заключается искусство алгоритмирования и программирования. Наша цель – рассмотреть механизм функционирования МК «изнутри».

Итак, допустим, необходимо сформировать интервал времени 150 миллисекунд (0.15 сек). Для простоты назначим тактовую частоту МК 1000 Герц, то есть время одного такта, следовательно, выполнения одной команды равна 1 миллисекунда (0.001 сек). В действительности, мы помним, что МК способен работать с гораздо большей производительностью. Выбираем один из имеющихся в МК регистров, в начале алгоритма с помощью соответствующей команды записываем в него число 0, или 00000000 с точки зрения содержимого битов восьмибитного регистра.

Затем в другой выбранный регистр записываем число, эквивалент которого равен 150 в десятичном представлении так же с помощью определённой команды. Следовательно, увеличивая с каждым тактом содержимое первого регистра на 1, проделав это 150 раз, получим необходимый интервал времени. После этой подготовки начинает работать такой алгоритм:

- [1] Содержимое первого регистра увеличиваем на 1 при помощи соответствующей команды (процессор копирует содержимое регистра в свой регистр, увеличивает содержимое на 1, возвращает новое значение обратно в первый регистр, всё делается за один такт);

- [2] Сравниваем два регистра между собой с целью проверить, достигло ли содержимое первого регистра пороговой величины, содержащейся во втором регистре. (процессор сравнение двух регистров делает следующим образом: копирует содержимое двух регистров в свои регистры, и вычитает содержимое одного регистра из другого. Если результат операции принял значение «0», значит, содержимое регистров равно. Всё делается за один такт);

- [3] Проверяем условие: если содержимое регистров сравнялось – результат достигнут, интервал времени сформирован, выходим из алгоритма. Если регистры не равны – переходим в точку [1], процесс повторяется. (выполнение условия процессор проверяет по содержимому бита «ноль» в специальном регистре процессора (об этом говорилось выше), если бит «ноль» установлен как «логическая 1», условие выполнено, в противном случае условие не выполнено.

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-06-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: