Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка киберфизических систем на основе микроконтроллеров. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Лекция 4. Как работают вычислительные средства в киберфизических системах
21
Таким образом, каждая команда – это строчка чисел (от одного до трех). Для общности можно считать неиспользуемые поля нулями, тогда формат команд станет одинаковым – 3 числа, кодирующих следующие по­ля команды:
код операции;
операнд 1;
операнд 2.
Код операции – это действие, которое должно выполнить устройство выполнения команды (установка иглы в заданную позицию, стежок, шаг без стежка). Часть команд выполняет устройство управления (условный и безусловный переход на выбранную команду, увеличение на единицу ячейки память данных, запись константы в ячейку памяти данных).
Операнды – это адреса памяти данных или памяти программ или кон­станты, необходимые для выполнения некоторых команд.
Исходя из выше сказанного, РгК состоит из трех полей: КОП, ОП1 и ОП2.
Для простоты ограничим поле вышивки 32 стежками по вертикали и 32 стежками по горизонтали. Это ограничение позволит держать перед гла­зами поле вышивки на программной модели этого компьютера.
Рассмотрим форму эмулятора нашего компьютера (рис. 3).
Рис. 3. Вид формы эмулятора компьютера
1. Основы проектирования киберфизических систем
22
Кнопка «Шаг» производит выполнение команды, адрес которой нахо-
дится в СК.
Кнопка «Пуск» запускает автоматическое выполнение команд, кото-
рые находятся в ПП.
На панели «Память программ» выведено содержимое ПП. На панели «Память данных» выведено содержимое ПД. Кодировка команд (система команд) изображена на справочной панели
«Коды команд».
Панель «Счетчик команд» показывает содержимое СК. Панель «Регистр команд» показывает содержимое РгК. На панели «Вышивка (результат)» отображается поле стежков, при
этом стежок с нитью изображается зеленым цветом.
На рис. 4 показана программа, состоящая из четырех команд, которая
выполняет горизонтальную строчку и трех стежков подряд.
Рис. 4. Вид формы эмулятора компьютера после выполнения 1-й команды
После всех дальнейших нажатий на кнопку «Шаг» вид формы не ме-
няется, поскольку команда по адресу 3 – безусловный переход на адрес 3, т.е. команда все время осуществляет переход на саму себя (зацикливание). Если бы мы не поставили данную команду, то компьютер после 2-й коман­ды выполнил бы 3-ю, потом 4-ю, потом 5-ю и т.д. (а память ПП после ко­манды 3 пуста!)
Задачи для самостоятельной проработки
23
Рис. 5. Вид формы эмулятора компьютера после выполнения 2-й команды
Рис. 6. Вид формы эмулятора компьютера после выполнения 3-й команды
Задачи для самостоятельной проработки
Задача 1. Разработать программу вышивки квадрата размером 8 на 8 стежков, расположенных в центре поля. Желательно использо­вать хотя бы 4 цикла.
1. Основы проектирования киберфизических систем
24
Задача 2. Разработать программу вышивки первой буквы Вашей
фамилии. Постарайтесь минимизировать программный код, используя циклы условия
Контрольные вопросы
1. Почему потоки информации считаются такими же важными, как и
сырьевые, и товарные потоки, согласно данной лекции?
2. Какие основные принципы работы компьютера описываются в дан-
ной лекции?
3. Что такое программа в контексте компьютера, и как она связана с
выполнением команд?
4. Каково предназначение исполнителя программы в контексте ком-
пьютера, и почему человек не всегда является надежным исполнителем?
5. Какие устройства могут использоваться в качестве исполнителя
программы, помимо человека, согласно тексту?
6. Какие операции умеет выполнять компьютер, ориентированный на
решения задач вышивания, приведенный в тексте?
7. Какие основные узлы компьютера перечислены в тексте, и какие
функции они выполняют?
8. Что представляют собой память программ и память данных в ком-
пьютере, описанном в лекции?
Лекция 5. Основы работы микроконтроллера
Первые микросхемы представляли собой уменьшенные гибридные версии микромодулей, затем были разработаны интегральные микросхемы на кристалле полупроводника с низкой степенью интеграции. Позже по­явились микросхемы постоянной и оперативной памяти, хотя их объем был ограничен. Наконец, был разработан микропроцессор в результате после­дующего развития технологий.
Микропроцессор
Первый микропроцессор представлял собой устройство 4-разрядности, однако вскоре появились 8-разрядные микропроцессоры. Они представляли собой единую микросхему, не всегда интегрированную на одном кристал­ле. Современные микропроцессоры характеризуются высокой производи-
Лекция 5. Основы работы микроконтроллера
25
тельностью и сложностью, однако сохраняют ключевую особенность – для построения компьютера на их основе требуется значительное количество вспомогательных компонентов. Несмотря на разнообразие микропроцессо­ров и различную сложность создания компьютеров на их базе, фундамен­тальный факт остается неизменным: микропроцессор является лишь со­ставной частью компьютерной системы.
Однокристальная микроЭВМ
В настоящее время термин "однокристальная микроЭВМ" практически вышел из употребления, однако в конце прошлого века он был широко ис­пользован. Идея объединения в одной микросхеме микроконтроллера, устройства управления системной шиной и небольшого объема памяти привела к появлению таких устройств. Эти микросхемы обычно содержали постоянную память для программ и ограниченное количество оперативной памяти, которая могла быть однократно программируемой или иметь воз­можность электрического стирания. Например, серия микросхем 1816 (1816ВЕ39, 1816ВЕ48, 1816ВЕ51) была одной из наиболее известных в этой области.
Такие микросхемы позволяли подключать внешние устройства памя­ти, но зачастую не обеспечивали функциональность системной шины. Они также могли включать в себя дополнительные периферийные устройства, например, таймеры и порты ввода-вывода. Хотя они могли иметь мульти­плексные шины для адреса, данных и ввода-вывода, это уже было не про­сто однокристальное устройство. Эта концепция начинает напоминать управляющие микроЭВМ.
Микроконтроллеры
Вышеупомянутые устройства представляют собой первые примеры микроконтроллеров. Микроконтроллер, как термин, происходит от англий­ского слова 'control', что означает управление. Таким образом, микро­контроллер можно определить как интегральную микросхему, включаю­щую в себя микро-ЭВМ, некоторые периферийные устройства и устрой­ство управления системой.
На рис. 7 для примера показан упрощенный вид некоего абстрактного микроконтроллера. В реальных микроконтроллерах состав внутренних уз­лов может очень сильно различаться.
1. Основы проектирования киберфизических систем
26
Рис. 7. Упрощенный пример устройства микроконтроллера
Итак, из лекции вы узнали следующее.
1. Микроконтроллер представляет собой интегральную микросхему, разработанную для управления различными устройствами. Его внутренняя структура определяется этой целью, что обычно приводит к ограничениям в ресурсах, таких как память.
2. Микроконтроллер является лишь частью устройства и может требо­вать дополнительного согласования для подключения к объекту управле­ния. Необходимо учитывать потребности в дополнительных устройствах для связи с внешним миром, например, для согласования входных напря­жений.
3. Для работы микроконтроллера необходима специально написанная программа, так как он содержит в себе микроЭВМ.
4. Микроконтроллер имеет сходство с обычной ЭВМ, но также обла­дает рядом отличий, включая способы взаимодействия с внешними устрой­ствами. Разработка программ для микроконтроллеров доступна обычным программистам при условии понимания особенностей их работы.
Как видно из вышесказанного, использование микроконтроллеров
требует знаний как в области электроники, так и программирования, а так­же понимания предметной области.
Лекция 6. Микропроцессоры и микроконтроллеры киберфизических системах
27
Контрольные вопросы
1. Какова эволюция развития микросхем, начиная с уменьшенных ги-
бридных версий микромодулей до появления микропроцессоров?
2. Какие характеристики были у первых микропроцессоров, и как они
развивались со временем?
3. Что представляет собой однокристальная микроЭВМ, и какие функ-
ции она выполняет?
4. В чем заключается концепция микроконтроллера, и какие устрой-
ства включает в себя такая интегральная микросхема?
5. Какие основные выводы можно сделать о микроконтроллерах, и ка-
кие знания необходимы для работы с ними?
6. Какую роль играют программы при работе с микроконтроллерами, и
какие особенности их разработки следует учитывать?
7. Какие преимущества и ограничения имеют микроконтроллеры по
сравнению с обычными компьютерами?
8. Почему использование микроконтроллеров требует знаний как в об-
ласти электроники, так и программирования, а также понимания предмет­ной области?
Лекция 6. Микропроцессоры и микроконтроллеры
в киберфизических системах
Киберфизические системы часто в своем составе содержат элементы и
целые блоки электрофизиологической аппаратуры. Поэтому остановимся подробнее на этой области.
Выбор микроконтроллеров (МК) является одним из важных этапов в разработке принципиальных схем кардиомониторов и кардиографов. Не удачный выбор МК может привести к возникновению различного рода осложнений в процессе разработки прибора. Поэтому в этой лекции мы рассмотрим МК и основные предпосылки к их выбору.
Требования, предъявляемые к МК для кардиомониторов, следующие:
- наличие как минимум 2 каналов 10-разрядного АЦП;
- наличие последовательного интерфейса со скоростью работы
115–200 бит/с;
- производительность минимум 5 000 команд/с;
- разрядность минимум 8 бит.
1. Основы проектирования киберфизических систем
28
Микроконтроллер (МК) – функционально законченная вычислитель-
ная система, реализованная в виде одной большой интегральной схемы (БИС). Микропроцессор (МП) – функционально законченный процессор ЭВМ, реализованный в виде одной или нескольких БИС и предназначен­ный для обработки цифровой информации по заданным программам.
Современные микроконтроллеры относятся к классу больших инте-
гральных схем (БИС), объединяющих миллионы транзисторов, выполнен­ных по микронным технологиям. На рис. 8 изображена обобщенная струк­тура микроконтроллера (имеются различия в конкретных моделях, но в це­лом любой микроконтроллер содержит эти блоки).
Микроконтроллер состоит из трех, связанных системной шиной, эле-
ментов: процессорного ядра, памяти и ряда дополнительных функциональ­ных блоков различного назначения [3].
Рис. 8. Структура микроконтроллера
Узлы каждого микроконтроллера сконцентрированы вокруг опреде-
лённого процессорного ядра.
Ядро одновременно занимается как вычислениями, так и управлением всеми остальными элементами микроконтроллера. Вычислительное ядро использует системные шины для обмена данными с памятью и функцио­нальными блоками. Разрядностью микроконтроллера принято считать раз­рядность двоичных чисел, которыми непосредственно оперирует процес­сорное ядро.
Лекция 6. Микропроцессоры и микроконтроллеры в киберфизических системах
29
Самыми распространенными микроконтроллерами являются
8-разрядные. Однако в настоящее время серьезную конкуренцию в соот-
ношении цена/производительность им составляют 16- и 32-разрядные се­мейства [4].
В памяти (ПЗУ, Read Only Memory) хранится последовательность
команд, которые микроконтроллер должен будет выполнять в процессе ра­боты, исходные данные и все промежуточные результаты вычислений.
Память микроконтроллера представляет собой массив ячеек с разряд­ностью, соответствующей разрядности микроконтроллера. Каждая ячейка имеет свой уникальный адрес, используя который процессорное ядро имеет возможность находить конкретную ячейку во время выполнения операций с памятью.
Процессорное ядро, как правило, содержит два вида памяти, один из которых называется памятью данных (Data Memory), другой – памятью программ (Program Memory) [4].
Функциональные блоки (периферийные устройства МК) предназна­чены для взаимодействия микроконтроллера с внешними сигналами. По своему назначению каждый из этих блоков ориентируется на выполнение некоторой категории операций, например: ввод-вывод информации, работа с аналоговыми сигналами, реакция на внешние события (прерывания), от­слеживание и обработка временных интервалов внешних сигналов, кон­троль системы питания и пр. Программная модель каждого из функцио­нальных блоков представляет собой некоторый набор регистров, содержи­мое которых определяет конфигурацию и текущий режим работы блока. Процессорное ядро имеет возможность считывать содержимое этих реги­стров для отслеживания состояния узла либо изменять содержимое для настройки режима работы узла.
Последовательность команд, хранящаяся в памяти микроконтроллера, называется программой. Команды программы последовательно извлекают­ся вычислительным ядром, расшифровываются и выполняются. От выпол­няемых команд (инструкций) зависит какие арифметические или логиче­ские операции будет выполнять вычислительное ядро. В процессе выпол­нения инструкций ядро взаимодействует с памятью и функциональными блоками: считывает и записывает данные в регистры фукциональных бло­ков и встроенную память. Под системой команд микроконтроллера пони-
1. Основы проектирования киберфизических систем
30
мают именно полный набор инструкций, которые воспринимает вычисли­тельное ядро.
Ведущие производители микроконтроллеров часто используют одина­ковое ядро для разработки различных семейств микроконтроллеров, с раз­личным набором функциональных блоков и объемом памяти. Процессор­ное ядро в этом случае имеет оригинальное имя и структуру. Так, напри­мер, фирма Texas Instruments строит свои микропотребляющие 16-разрядные микроконтроллеры MSP430 на едином ядре, микроконтрол­леры фирмы Motorola построены на базе ядра НС05 и НС08, кроме того, существуют 32-разрядные микроконтроллеры на базе семейства ядер ARM7, ARM9 и т.д.
Каждое процессорное ядро характеризуется определённым набором структурных особенностей, называемых архитектурой.
В понятие «архитектура микроконтроллера» входят различные схемо­технические решения, определённые технологии, используемые при проек­тировании, а также способы реализации взаимодействия внутренних узлов. Основными особенностями, определяющими архитектуру процессорного ядра, считаются: система команд и организация памяти.
Архитектуры современных микроконтроллеров базируются на четы­рех известных архитектурных концепциях.
1. Архитектура Фон – Неймана – память программ и память данных в
данной архитектуре являются участками единого общего массива ячеек. По такому принципу построены микроконтроллеры HC05, HC08 фирмы Motorola, или Z8 фирмы Zilog.
2. Гарвардская архитектура – память программ и память данных аппа-
ратно разделены и могут иметь одинаковые адреса ячеек, но система ко­манд имеет отличающиеся инструкции для обращения по этим адресам. По такому принципу реализованы микроконтроллеры AVR фирмы Atmel, микроконтроллеры C8051F фирмы Silicon Laboratories и др.
Различия архитектур по способам реализации выполнения инструкций процессорного ядра:
– CISC (Complicated Instruction Set Computer – компьютер с развитым набором инструкций). Инструкции процессорного ядра в данной архитек­туре различны по формату и требуют для загрузки и выполнения разное число машинных циклов. Так, например, в микроконтроллерах MCS-51 время загрузки и выполнения отдельных инструкций варьируется от 12 до
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]