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

Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
__________________________________________________________________________
МИКРОПРОЦЕССОРНЫЕ
СИСТЕМЫ УПРАВЛЕНИЯ
ЭЛЕКТРОПРИВОДАМИ
И ТЕХНОЛОГИЧЕСКИМИ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
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 con­verter);
– аналоговый компаратор.
Порты ввода / вывода. Порты ввода / вывода 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]