Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие
.pdf
Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
__________________________________________________________________________
МИКРОПРОЦЕССОРНЫЕ
СИСТЕМЫ УПРАВЛЕНИЯ
ЭЛЕКТРОПРИВОДАМИ
И ТЕХНОЛОГИЧЕСКИМИ
КОМПЛЕКСАМИ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
2016

УДК 62-83:004.31-181.4(075.8)
М 597
Коллектив авторов:
Г.М. Симаков, А.М. Бородин,
Д.А. Котин, Ю.В. Панкрац
Рецензенты:
д-р техн. наук, профессор каф. ЭАПУ В.Н. Аносов
канд. техн. наук, доцент каф. ЭТк С.В. Мятеж
Работа подготовлена на кафедре электропривода и автоматизации
промышленных установок для магистрантов направления 13.04.02 –
Электроэнергетика
и электротехника
М 597 Микропроцессорные системы управления электроприво-
дами и технологическими комплексами: учебное пособие /
Г.М. Симаков, А.М. Бородин, Д.А. Котин, Ю.В. Панкрац. – Новосибирск: Изд-во НГТУ, 2016. – 116 с.
ISBN 978-5-7782-2989-1
Проводится описание архитектуры 8- и 32-разрядных микроконтроллеров, а также описание архитектуры и работы интегральных
микросхем: энергонезависимой памяти, часов реального времени,
аналого-цифрового преобразователя, жидкокристаллического индикатора, применяемых в электроприводах и устройствах автоматизации
промышленных установок и технологических комплексов. Рассмотрены методологические основы выбора микроконтроллеров для систем автоматики. Изучается методика синтеза цифровых
Дано описание открытого промышленного протокола обмена информацией MODBUS. Приведена пошаговая инструкция по созданию
программ для микроконтроллеров AVR и отладки программ в программе ISIS 7 Professional.
Предназначено для магистрантов направления 13.04.02 – Электроэнергетика и электротехника
регуляторов.
УДК 62-83:004.31-181.4(075.8)
ISBN 978-5-7782-2989-1 © Симаков Г.М., Бородин А.М.,
Котин Д.А., Панкрац Ю.В., 2016
© Новосибирский государственный
технический университет, 2016

ПРЕДИСЛОВИЕ
Микроконтроллеры. Микроконтроллер (МК) – это программно-
управляемое устройство, предназначенное для управления работой
составных элементов систем управления, в том числе и для управления
технологическими процессами. МК может иметь большой набор
встроенных аппаратных средств, таких как таймеры, счётчики, аналого-цифровые преобразователи (АЦП), широтно-импульсный модуляторы (ШИМ), порты дискретного ввода-вывода и другие
Область применения микроконтроллеров расширяется с каждым
днём. Сегодня уже трудно представить конкурентоспособный электропривод или какое-либо другое сложное устройство, не содержащее хотя бы одного микроконтроллера. Применение МК повышает надёжность систем, сокращает время на монтаж и наладку. Таким образом,
себестоимость изделия значительно уменьшается. В современном
электроприводе можно насчитать
торые управляют отображением информации о переменных управления электропривода на различных дисплеях (текстовых, графических,
семисегментных индикаторах и т.д.), приёмом и передачей информации от внешнего управляющего органа, обменом информацией с датчиками координат состояния, реализацией требуемых законов управления и прочим.
Цель данного пособия состоит в повышении
ния курса «Микропроцессорные системы управления электроприводами и технологическими комплексами» за счет направленной ориентации и детального рассмотрения специфических вопросов.
порядка 10 микроконтроллеров, ко-
эффективности усвое-
[1].

1. УСТРОЙСТВО И ПРИНЦИП РАБОТЫ
МИКРОКОНТРОЛЛЕРОВ
1.1. Архитектура микроконтроллера
Архитектура микроконтроллера – это логическая организация и
структура аппаратных и программных ресурсов вычислительной системы. Архитектура заключает в себе требования к функциональности
и принципы организации основных узлов микроконтроллера. В более
подробное описание, определяющее конкретную архитектуру, также
входят: структурная схема микроконтроллера, средства и способы доступа к элементам этой структурной схемы, организация и
интерфейсов микроконтроллера, набор и доступность регистров, организация памяти и способы её адресации, набор и формат машинных
команд процессора, способы представления и форматы данных, правила обработки прерываний.
По перечисленным признакам и их сочетаниям архитектуры делят:
– по разрядности интерфейсов и машинных слов: 8-, 16-, 32-, 64-
разрядные;
– по особенностям набора регистров, формата
CISC (complex instruction set computer – компьютер с комплексным
набором команд), RISC (reduced instruction set computer – компьютер с
сокращённым набором команд), VLIW (very long instruction word –
«очень длинная машинная команда» – архитектура процессоров с несколькими вычислительными устройствами);
– по количеству центральных процессоров: однопроцессорные,
многопроцессорные, суперскалярные (архитектура вычислительного
ядра, использующая несколько декодеров команд, которые могут загружать работой
– многопроцессорные по принципу взаимодействия с памятью:
симметричные многопроцессорные (Symmetric Multiprocessing
множество исполнительных блоков);
разрядность
команд и данных:
– SMP),
4

масcивно-параллельные (massive parallel processing – MPP), распреде-
ленные (способ решения трудоёмких вычислительных задач с использованием нескольких контролеров).
1.2. Микроконтроллеры семейства AVR серии Mega
1.2.1. Архитектура микроконтроллеров AVR – Mega (Atmel)
На рис. 1.1 представлена упрощенная структурная схема микроконтроллеров AVR. Эти микроконтроллеры относятся к восьмиразрядным микроконтроллерам с RISC архитектурой [2].
Рис. 1.1. Структурная схема микроконтроллеров AVR
В состав данных микроконтроллеров входят:
– электрически стираемая энергонезависимая память программ
(Flash) и память данных энергонезависимая (EEPROM) и статическая
оперативная память (SRAM);
5

– интерфейс входов / выходов, содержащий от одного до четырёх
восьмиразрядных портов;
– таймеры / счетчики, работающие в четырех разных режимах;
– коммуникационные интерфейсы: SPI, USART, TWI, JTAG;
– вектор прерываний;
– защитный таймер сброса (Watchdog Timer);
– аналого-цифровой преобразователь ADC (Analog-to-digital converter);
– аналоговый компаратор.
Порты ввода / вывода. Порты ввода / вывода AVR имеют набор
независимых линий «ввод / вывод», составляющие
в зависимости от
типа микроконтроллера от 3 до 53. Каждый разряд порта может быть
запрограммирован на ввод или на вывод информации. Выходные
драйверы микроконтроллера обеспечивают протекание тока силой
20 мА на каждый вывод порта (втекающий ток) при максимальном
значении 40 мА. Общая токовая нагрузка на все линии одного порта не
должна превышать 80 мА (все
значения приведены для напряжения
питания 5 В).
Для работы с портом имеется три регистра: DDRx – регистр управления направлением передачи данных (ввод, либо вывод данных);
PORTx – регистр для вывода данных, а также при настройке вывода
порта на ввод информации он позволяет управлять подтягивающим
резистором; PINx – регистр для отображения логического уровня сигнала на физическом выводе микросхемы.
Все выводы портов имеют возможность
подключения подтягивающих к питающему
напряжению резисторов. Они также соединены с защитными диодами, подключенными как к шине питания, так и к земле.
Сказанное поясняет эквивалентная схема
вывода порта, изображенная на рис. 1.2.
Если необходимо получить реальное
значение сигнала на физическом выводе
Рис. 1.2. Эквивалентная
схема вывода порта
микроконтроллера, то нужно проверить содержимое бита по адресу PINx.
Вектор прерываний. Для обработки
событий, происходящих асинхронно по отношению к выполнению
программы, лучше всего подходит механизм прерываний. Прерывание
можно рассматривать как некоторое особое событие в системе, требующее моментальной реакции.
6

Источником прерывания могут быть:
П
Воз
А
– любое внутреннее устройство микроконтроллера;
– определённая команда программы;
– внешнее устройство, подключенное к специальному выводу мик-
роконтроллера.
К внутреннему устройству микроконтроллера AVR, генерирующе-
му прерывание, относятся:
– аналого-цифровой преобразователь в момент окончания преобра-
зования;
– таймер/счетчик при переполнении;
– совпадение значения счётного регистра таймера / счётчика со
значением
специального регистра;
– завершение передачи данных по последовательному интерфейсу
SPI;
– сигнал от аналогового компаратора;
– окончание приёма байта приёмопередатчика;
– сигнал сброса Reset;
– прерывание защитного таймера сброса Watchdog Timer.
При возникновении прерывания в стек записывается адрес возврата. В программный счетчик помещается новое значение. При выполнении очередной операции значение программного счетчика
увеличивается на единицу. Сказанное поясняет рис. 1.3. Стек – специальная область памяти, предназначенная для записи адресов возврата.
$01
$02
$03
$04
$05
Стек
void main()
{М:
PORTA=0xFF;
k=1+n;
PORTB=0x12;
…
…
…
…
GOTO M;
;}
ереход
к подпрограмме
врат
в основную
программу
Рис. 1.3. Переход к подпрограммам прерывания
Стек
$A2
$A3
$A4
$A5
дрес возврата
04
void int_vect()
{PORTA=0x00;
PORTB=0x00;
k=0;
n=0;
}
7

Микроконтроллеры семейства Mega в своём составе имеют от двух
до четырех таймеров-счётчиков, которые могут использоваться: для
отсчёта и измерения временных интервалов, подсчёта внешних событий, генерации сигналов широтно-импульсной модуляции фиксированной разрядностью, а также для работы в асинхронном режиме в качестве часов реального времени.
Для управления работой таймеров
-счётчиков используются следу-
ющие регистры.
– TIMSK (Timer/Counter Interrupt MaSK Register) – регистр маски
прерывания; формат регистра показан в табл. 1.1.
Таблица 1.1
Формат регистра TIMSK
Название Описание
OCIE2 Флаг разрешения прерывания по событию «Совпадение» тай-
мера/счётчика Т2
TOIE2 Флаг разрешения прерывания по переполнению тайме-
ра/счётчика Т2
TICIEI Флаг разрешения прерывания по событию «Захват» тайме-
ра/счётчика Т1
OCIEIA Флаг разрешения прерывания по событию «Совпадение А»
таймера/счётчика Т1
OCIEIВ Флаг разрешения прерывания по событию «Совпадение В»
таймера/счётчика Т1
TOIE1 Флаг разрешения прерывания по переполнению тайме-
ра/счётчика Т1
OCIE0 Флаг разрешения прерывания по событию «Совпадение» тай-
мера/счётчика Т0
TOIE0 Флаг разрешения прерывания по переполнению тайме-
ра/счётчика Т0
– ETIMSK (Enaible Timer/Counter Interrupt MaSK Register) – для
разрешения / запрещения прерываний от таймеров счетчиков Т1, Т3 в
моделях ATMEGA 64, ATMEGA 128 (табл. 1.2).
8

Таблица 1.2
р
–
р
р
р
р
С
р
С
р
Т
I
р
р
р
Формат регистра ЕTIMSK
яд Название Описание
Раз
7,6
5 TICIE3 Флаг разрешения прерываний по событию «За-
4 OCIE3A Флаг разрешения прерываний по событию «Сов-
3 OCIE3В Флаг разрешения прерываний по событию «Сов-
2 TOIE3 Флаг разрешения прерывания по переполнению
1 OCIE3
0 OCIE1
Не используются, читаются как ноль
хват» тайме
падение А» тайме
падение В» тайме
тайме
Флаг разрешения прерываний по событию «Совпадение С» тайме
Флаг разрешения прерываний по событию «Совпадение С» тайме
а/счётчика Т3
а/счётчика Т3
а/счётчика Т3
а/счётчика Т3
а/счётчика Т3
а/счётчика Т1
Для разрешения какого-либо прерывания от таймера-счётчика
необходимо установить в лог. 1 соответствующий разряд регистра
TIMSK (ETIMSK). При этом необходимо установить в лог. 1 и флаг регистра SREG.
Для отображения возникновения прерываний от таймеров Т0, Т1 и
Т2 используется регистр TIFR (Timer\Counter Interrupt Flag Register) –
регистр флагов прерываний (табл. 1.3).
Таблица 1.3
Формат регистра TIFR
Название Описание
OCF2 Флаг прерывания по событию «Совпадение» таймера/счёт-
2
чика
TOV2 Флаг прерывания по переполнению таймера/счётчика Т2
CF1 Флаг прерывания по событию «Захват» таймера/счётчика Т1
OCF1A Флаг прерывания по событию «Совпадение А» тайме-
а/счётчика Т1
OCF1В Флаг прерывания по событию «Совпадение В» тайме-
а/счётчика Т1
TOV1 Флаг прерывания по переполнению таймера/счётчика Т1
OCF0 Флаг прерывания по событию «Совпадение» тайме-
а/счётчика Т0
TOV0 Флаг прерывания по переполнению таймера/счётчика Т0
9

– Регистр управления TCCRx (Timer Counter Control Register) при-
веден в табл. 1.4.
Таблица 1.4
Формат регистра TCCRx
Разряд Названия Описание
7 FOCn Принудительное изменение состояния вывода
OCn (режимы Normal и CTC). При записи лог. 1
в этот разряд состояние вывода OCn изменяется в соответствии с установкой разрядов
COMn1:COMn0. Прерывание при этом не генерируется и сброс таймера (в режиме СТС) не
производится. В режимах FAST PWM и Phase
Correct PWM этот разряд
шен в 0. При чтении разряда всегда возвращается 0
6,3 WGMn1:WGMn0
(CTCn, PWMn в
ATmega161x)
5,4 COMN1:COMN0 Режим работы блока сведений. Эти разряды
2…0 CSn2…CSn0 Управление тактовым сигналом. Эти разряды
Режим работы таймера/счётчика. Эти разряды
определяют режим работы таймера/счётчика
следующим образом:
Номер
режима
0 0 0 Normal
1 0 1 Phase Correct
2 1 0 CTCn Сброс
3 1 1 FAST PWM
определяют поведение ввода OCn при наступлении события «Совпадение». Влияние содержимого этих разрядов на состояние вывода от
режима работы таймера/счётчика
определяют источник тактового сигнала микроконтроллера. Действие этих сигналов зависит от исполнения таймера/счётчика
WGMn1
(CTCn)
должен быть сбро-
WGMn0
(PWMn)
Режимы работы
PWM
при совпадении
– Счетный регистр TCNTx (Timer CouNTer register).
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
