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

umm_7154

.pdf
Скачиваний:
22
Добавлен:
18.03.2016
Размер:
2.85 Mб
Скачать

Федеральное агентство железнодорожного транспорта Уральский государственный университет путей сообщения Кафедра «Автоматика, телемеханика и связь

на железнодорожном транспорте»

А. Н. Попов И. А. Дубров

МИКРОПРОЦЕССОРНАЯ ТЕХНИКА И МИКРОКОНТРОЛЛЕРЫ

Курс лекций по дисциплине «Основы микропроцессорной техники» для студентов специальности 190901.65 – «Системы обеспечения движения поездов» всех форм обучения

Екатеринбург Издательство УрГУПС 2014

УДК 656.259.12 П58

Попов, А. Н.

П58 Микропроцессорная техника и микроконтроллеры: курс лекций / А. Н. Попов, И. А. Дубров. – Екатеринбург : Изд-во УрГУПС, 2014. – 101, [1] с.

ISBN 978-5-94614-283-0

Курс лекций содержит сведения об архитектурах, элементах и устройстве микропроцессоров и микроконтроллеров. Рассматриваются структуры PIC-микроконтроллеров и наиболее распространенных периферийных модулей.

Представлены основные сведения о программируемых логических интегральных схемах (ПЛИС) и перспективах развития микропроцессорной техники.

Предназначен для студентов специальности 190901.65 – «Системы обеспечения движения поездов» всех форм обучения.

УДК 656.259.12

Авторы: А. Н. Попов – старший преподаватель кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте», канд. техн. наук, УрГУПС; И. А. Дубров – старший преподаватель кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте», УрГУПС

Рецензенты: С. В. Бушуев – доцент кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте», канд. техн. наук, УрГУПС; С. Ю. Гришаев – руководитель проектов

по комплексным приборам безопасности,

ООО «НПО САУТ»

ISBN 978-5-94614-283-0 © Уральский государственный университет путей сообщения (УрГУПС), 2014

Оглавление

 

 

Введение

 

5

1. Введение в дисциплину

 

6

1.1. Основные термины и определения

 

6

1.2. Системы счисления

 

7

1.3. Двоичная арифметика

 

9

1.4. Логические операции

 

11

1.5. Архитектура микропроцессорных систем

 

12

2. Элементы микропроцессорных систем

 

14

2.1. МОП-транзисторы

 

14

2.2. Сумматоры

 

15

2.3. Арифметико-логические устройства

 

20

2.4. Дешифраторы. Мультиплексоры

 

21

2.5. Триггеры

 

21

2.6. Регистры. Счетчики. Делители частоты

 

24

2.7. Аккумулятор

 

26

2.8. Тактирование и синхронизация

 

26

2.9. Входы и выходы микросхем......................

28

2.10. Классификация запоминающих устройств

30

2.11. Статические ОЗУ

 

31

2.12. Динамические ОЗУ

 

35

2.13. Масочные ПЗУ

 

38

2.14. Элементы энергонезависимой памяти

 

40

2.15. EPROM и OTP память

 

42

2.16. EEPROM память

 

42

2.17. Flash-память

 

42

3. Микроконтроллер PIC16F873A

 

44

3.1. Общая характеристика PIC16F873A

 

44

3.2. Структурная схема микроконтроллера

 

46

3.3. Ядро микроконтроллера

 

48

3.4. Выполнение команд

 

51

3.5. Программирование микроконтроллера

 

53

3.6. Понятие языка ассемблера

 

53

3.7. Система команд

 

54

3.8. Команды пересылки данных

 

55

3.9. Команды арифметических операций

 

56

3.10. Команды логических операций

 

58

3.11. Команды передачи управления

 

60

3.12. Прочие команды

 

62

3

3.13. Программные управляющие конструкции 62 3.14. Директивы 63 3.15. Организация памяти 64 3.16. Параллельные порты 68 3.17. Программирование параллельных портов 74 3.18. Организация прерываний 75 3.19. Таймеры 79 3.20. Таймер TMR0 80 3.21. Таймер TMR1 81 3.22. Таймер TMR2 82 3.23. Последовательная передача данных 83 3.24. Модуль универсального синхронно-асинхронного приемо-

передатчика 84 3.25. Модуль ведущего синхронного последовательного порта 89 3.26. Модули захват/сравнение/ШИМ 92 3.27. Модуль аналогово-цифрового преобразователя 95

4. Тенденции и перспективы развития микропроцессорной техники 97

4.1. Программируемые логические интегральные схемы 97 4.2. Микросхемы FPGA Xilinx серии Spartan 98 4.3. Микросхемы CPLD Altera серии MAX 98 4.4. Разработка программ для микроконтроллеров

на языках высокого уровня 98 Библиографический список 100

4

Введение

В90-е годы прошлого века началась разработка современных микропроцессорных систем железнодорожной автоматики и телемеханики (КТСМ, ЭССО, УКП СО, КЛУБ, КЭБ, первые микропроцессорные системы электрической и диспетчерской централизации и т.д.). К концу 90-х годов большинство из этих систем прошли апробацию на предприятиях промышленного транспорта или опытную эксплуатацию на сети магистральных железных дорог.

Вначале двухтысячных годов началась постоянная эксплуатация значительного числа микропроцессорных систем иностранной и отечественной разработки, были внедрены микропроцессорные и релейно-процессорные централизации на сотнях станций (МПЦ Ebilock-950, SIMIS-W, ЭЦ-ЕМ, МПЦ-2, МПЦ-И, ЭЦ МПК

идр.), сотни километров железнодорожных путей оборудованы микропроцессорными системами автоблокировки (КЭБ, КЭБ-2, АБТЦ-М, АБ-ЧКЕ и др.). Появились новые системы диспетчерской централизации и диспетчерского контроля, такие как: ДЦ «Сетунь», ДЦ «Неман», ДЦ «Дон», ДЦ «Юг», ДЦ МПК, АПК ДК, АДК СЦБ, АСДК, АСК-Т и др. Разработаны и внедрены микропроцессорные системы автоматической переездной сигнализации, горочной автоматической централизации, полуавтоматической блокировки. У рельсовых цепей появилась микропроцессорная альтернатива: системы счета осей ЭССО и УКП СО.

Во многих из этих систем применяются периферийные микроконтроллеры семейства PIC, которые рассматриваются в настоящей работе.

5

1.Введение в дисциплину

1.1.Основные термины и определения

Микропроцессор – программно-управляемое электронное устройство, предназначенное для обработки цифровой информации и управления процессом этой обработки, выполненное в виде интегральной микросхемы. Первый микропроцессор был выпущен в 1971 году компанией INTEL, микросхема включала 2300 транзисторов.

Основным отличием микропроцессора от всех остальных устройств является то, что для его работы необходима управляющая программа, которая представляет собой последовательность команд. В один момент времени микропроцессор может выполнять только одну команду, т. е. команды выполняются последовательно во времени.

Микропроцессор выполняет обработку информации и управление процессом этой обработки. Для взаимодействия с внешним миром, хранения промежуточных результатов обработки и хранения программы микропроцессору требуется подключение специальных устройств. Устройства вместе с микропроцессором образуют микропроцессорную систему. В минимальном варианте микропроцессорная система кроме процессора должна содержать постоянное запоминающее устройство (ПЗУ – ROM, Read Only Memory), оперативное запоминающее устройство (ОЗУ – RAM, Random Access Memory), устройство передачи воздействий к объекту управления (порты вывода) и устройства получения информации от внешних устройств (порты ввода). Помимо указанных устройств микропроцессорная схема может включать дополнительные, расширяющие функциональность, модули и вспомогательные схемы. Все устройства микропроцессорной системы объединяются с помощью трех шин: шины адреса, шины данных и шины управления. Особенности организации микропроцессорной системы характеризуются ее архитектурой.

Микроконтроллером (однокристальной микроЭВМ) называется микропроцессорная система, реализованная в виде одной интегральной микросхемы.

Одной из главных характеристик микропроцессоров и микроконтроллеров является производительность, определяемая как количество команд (операций), выполняемых в единицу времени.

6

Обычно производительность измеряется в миллионах операций в секунду (MIPS, Million Instructions Per Second).

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

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

Развитие возможностей микропроцессоров напрямую связано с увеличением максимального числа транзисторов в одной микросхеме. В 1965 году Гордон Мур, один из основателей INTEL, опубликовал статью «Объединение большего количества компонентов в интегральных микросхемах» («Cramming more components onto integrated circuits»). В статье рассмотрена эмпирическая закономерность развития интегральных микросхем и сделан прогноз на следующие 10 лет. Согласно прогнозу количество транзисторов на кристалле будет удваиваться каждый год. После выхода статьи эта закономерность получила название – закон Мура. В 1975 году Мур отметил, что когда сложность микросхем возрастет, удвоение числа транзисторов будет происходить каждые два года. Это предсказание также сбылось. В последнее время удвоение транзисторов происходит несколько быстрее – через 18 месяцев.

1.2. Системы счисления

Микропроцессоры и микроконтроллеры относятся к элементам вычислительных систем и служат для обработки информации,

7

которая заключается в выполнении арифметических и логических операций над числами. Для представления чисел используются системы счисления, любая из которых включает в себя упорядоченный набор символов (цифры) и определенные правила формирования чисел. Системы счисления в зависимости от правил формирования чисел делятся на позиционные и непозиционные. В позиционных системах счисления смысл символа зависит от позиции в числе, а названия таких систем определяются количеством цифр, например, двоичная, десятичная, восьмеричная, шестнадцатеричная и т. д. Пример непозиционной системы – римская система счисления.

Выбор системы счисления зависит от удобства применения в конкретных задачах. Наиболее удобными для человеческого восприятия являются числа, записанные в десятичной системе счисления, что связано с возможностью представить 10 цифр с помощью пальцев на руках. Вычислительные устройства оперируют числами двоичной системы. Для представления двух цифр требуются наиболее простые, а значит и наиболее надежные, технические решения. Записанные в двоичной системе числа не удобны для восприятия человека, а технические устройства, выполняющие вычисления в десятичной системе, реализуются сложнее и имеют низкую надежность в сравнении с двоичными устройствами.

Для перевода чисел из десятичной в двоичную систему необходимо последовательно делить число в десятичной системе на два. Если результат деления содержит остаток, то в младшем разряде двоичного числа записывается 1, иначе 0. Деление выполняется, пока результат не будет равен нулю. Все остатки от деления выписываются в порядке, обратном порядку их получения, так получается двоичное число.

Например, для перевода числа 79 в двоичную систему: 79 / 2 = 39, остаток 1, 39 / 2 = 19, остаток 1, 19 / 2 = 9, остаток 1, 9 / 2 = 4, остаток 1, 4 / 2 = 2, остаток 0, 2 / 2 = 1, остаток 0,

1 / 2 = 0, остаток 1, результат: 1001111.

Для обратного перевода следует представить двоичное число в виде суммы произведений степеней основания двоичной систе-

8

мы на соответствующие цифры в разрядах двоичного числа и вычислить полученное выражение.

Например, для перевода двоичного числа 10110 в десятичную систему:

101102 = 1∙24 + 0∙23 + 1∙22 + 1∙21 +0∙20 = 2210.

Перевод чисел между двоичной и десятичной системами достаточно трудоемок. Поэтому компанией IBM было предложено использовать шестнадцатеричную систему. Шестнадцатеричные числа легче воспринимаются человеком и проще преобразовываются в двоичные. Числа в шестнадцатеричной системе счисления записываются с использованием символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Перевод чисел между двоичной и шестнадцатеричной системами основан на том, что каждая цифра в шестнадцатеричной системе может быть представлена четырехразрядным двоичным числом (табл. 1.1).

Таблица 1.1

Соответствие чисел для разных систем счисления

Шестнадцатеричная

0

1

2

3

4

5

6

7

Двоичная

0000

0001

0010

0011

0100

0101

0110

0111

Десятичная

0

1

2

3

4

5

6

7

Шестнадцатеричная

8

9

A

B

C

D

E

F

Двоичная

1000

1001

1010

1011

1100

1101

1110

1111

Десятичная

8

9

10

11

12

13

14

15

Например, число E15 будет равно 1110 0001 0101.

1.3. Двоичная арифметика

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

Сложение двоичных чисел выполняется поразрядно, начиная с младших разрядов по следующим правилам:

0 + 0 = 0

1 + 0 = 1

1 + 1 = 10 (перенос в старший разряд)

9

Например, 10011 + 111001: +10011 11001 101100

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

Вычитание двоичных чисел выполняется поразрядно, начиная с младших разрядов по следующим правилам:

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

0 – 1 = 11 (заем в старшем разряде) Например, 10010 – 1101:

10010 01101 00101

Для представления отрицательных двоичных чисел в вычислительных устройствах используется дополнительный код, который получается путем поразрядной инверсии числа с последующим прибавлением 1 к младшему разряду. Старший разряд в дополнительном коде используется под знак: если старший разряд равен единице, то число отрицательное, если нулю – число положительное.

Дополнительный код позволяет заменить операцию вычитания операцией сложения с отрицательным числом. Это упрощает аппаратную реализацию вычислительных устройств.

Правила умножения двоичных чисел полностью совпадают с правилами умножения десятичных чисел. Аппаратно операция умножения реализуется через операции сложения и сдвига влево.

Правила деления двоичных чисел такие же, как и для десятичных чисел. Результат деления можно представить как целое число с остатком или в виде дроби. Целые числа представляются в формате с фиксированной запятой, дробные – в формате с плавающей запятой.

Для умножения на два можно сдвинуть число вправо на один разряд, для деления на два – сдвинуть на разряд влево.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]