Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Разработка киберфизических систем на основе микроконтроллеров. Учебное пособие
.pdf
Лекция 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 до
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
