Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Лекции – ПиНК (Программирование и наладка контроллеров)





Лекции – ПиНК (Программирование и наладка контроллеров)

Лектор: Петров Геннадий Алексеевич

Введение

Структура курса, отчетность.

Литература: Конспект лекций ( Электронное пособие)

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

На основе микропроцессорных средств для автоматизации промышленного технологического оборудования и приборов бытовой техники были разработаны программируемые контроллеры. Основной задачей для их эффективного внедрения в автоматизированные системы управления технологическими процессами является подготовка специалистов в области программной реализации функций управления на базе данного класса устройств и систем.

Термином "промышленный контроллер" обозначают специализированное микропроцессорное устройство со встроенным аппаратным и программным обеспечением, которое используется для выполнения функций управления технологическим оборудованием. После изобретения микропроцессов их развитие определялось классом задач, для которых они использовались. Таким образом, появилось три ветви генеалогического дерева микропроцессоров: ПЛК, регуляторы и ЭВМ. Прародителями ПЛК были релейные схемы автоматики.    
ПЛК обычно управляют процессами последовательными по своему происхождению, используя "дискретные" входы и выходы для определения состояния объекта. Например, если концевой выключатель определяет наличие детали, то он переходит в состояние "ВКЛЮЧЕНО", а если не обнаруживает деталь, то выдает сигнал "ВЫКЛЮЧЕНО". Машина или устройство постоянно выполняет предопределенные последовательные действия либо на основании событий, либо по истечению заданного времени. Предполагаемая последовательность действий обычно прерывается только тогда, когда возникает аварийная ситуация. МИКРОКОНТРОЛЛЕРЫ В СОВРЕМЕННЫХ ТЕХНИЧЕСКИХ СИСТЕМАХ Встроенные микроконтроллеры составляют большую часть мирового производства микроконтроллеров. Подавляющее большинство современных промышленных, автомобильных, бытовых и других технических систем используют встроенные электронные устройства управления, включающие в свой состав управляющий компьютер, называемый микроконтроллером. Термин микро отражает не микро возможности управляющего компьютера, а его размеры и то, что он реализован средствами микроэлектронной технологии в виде чипа, содержащего миллионы транзисторов. Пользователи устройств и систем со встроенными микроконтроллерами могут и не знать, что в них имеется компьютер, используемый, прежде всего, для автоматизации процессов управления, обеспечения функциональной гибкости, повышения технического интеллекта системы и качества управления системой. В отличие от обычных персональных компьютеров в микроконтроллерах программный код хранится в отдельной программируемой энергонезависимой памяти, например флэш памяти, а в оперативной памяти хранятся только данные, поступающие от датчиков системы. С развитием технологии больших интегральных схем встроенные микроконтроллеры стали настолько дешевыми, что их можно найти в большинстве современных устройств и систем. Примеров систем , использующих встроенные микроконтроллеры, можно привести очень много, труднее назвать современную систему, которая не содержит их. В таблице приведены некоторые из примеров устройств и систем, позволяющих представить масштабы применений микроконтроллеров.   Таблица. Примеры систем со встроенными контроллерами
Автомобили   Управление двигателем, антиблокировочные и противобуксовочные тормозные системы, управление подушками безопасности, управление системой микроклимата и кондиционирования воздуха, навигация gps, спутниковое радио, системная диагностика и т.п.
Бытовая электроника   Телевизоры, посудомоечные машины, плееры DVD, стереосистемы, фотокамеры, радиочасы, автоответчики и другие.
Устройства для компьютера   Клавиатуры, принтеры, сканеры, дисплеи, модемы, устройства жестких дисков, устройства DVD, графические планшеты и т.д.
Электронные инструменты   Осциллографы, вольтметры, генераторы сигналов, логические анализаторы.
Персональные устройства   Сотовые телефоны, переносные плееры MP3, видео-плееры, электронные часы, цифровые камеры, системы GPS.
Авиационные системы   Автопилоты самолетов, навигационные системы, системы автоматической посадки, системы наведения и управление двигателем.
Биомедицинские системы   Cистемы компьютерной томографии и ультразвукового исследования, мониторинг пациентов, кардиостимуляторы.
Промышленное оборудование   Управление лифтами, роботы, станки с ЧПУ, программируемые логические контроллеры, промышленные системы автоматизации и управления.

 



Компьютерные технологии в современных «цифровых» автомобилях

 

Современные «цифровые» автомобили содержат десятки контроллеров, объединенных в специальную локальную сеть. В автомобиле множество функций управления можно условно разделить на две группы:

· первая группа обеспечивает надёжное функционирование основных узлов автомобиля, например, электронное управление двигателем и обеспечение безопасности : АБС, подушки безопасности и другие.

· ко второй группе относятся различные электронные системы управления, обеспечивающие сервис, комфорт и развлечения пассажиров.

КРАТКАЯ ИСТОРИЯ РАЗВИТИЯ

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

 

1970 – Intel 4004 - первый 4-битный МП;

1972 – Intel 8008 - 8-ми битный;

1973 – Intel 8080 K580 (СССР) - аналог I8080;

Intel 8085 - помимо CPU были таймеры, контроллер прерываний и пр.;

 

1976 – Intel 8048 - первый контроллер;

1978 – Intel 8051 - MCS 51 (Micro Computer System)

Середина 90-х – семейства: Intel 151 и Intel 251 – 8 битные, но адресуемая память: 220 и 224.

1976 – I8086/I8088 (PCXT - IBM), К1816 (СССР) –аналог I8086.

EC1840 – CCCP – PCXT

1995 – (embedded) – разработаны однокристальные МК архитектуры Х86: 16- и 32-битные.

Основные требования к контроллерам

1. Низкая стоимость;

2. Высокая надежность;

3. Высокая степень миниатюризации;

4. Малое энергопотребление;

5. Работоспособность в различных температурных диапазонах в зависимости от применения:

a. Коммерческие: 0 … + 700С;

b. Расширенные: -40 … +850С;

c. Военные: -55 … +1550С;

6. Достаточная производительность для выполнения наборов функций

 

Тема 1. Базовая структура микроконтроллерной (МК)

Системы управления

ПЛК – программируемые логические контроллеры, название промышленных контроллеров

 

Pi – входной порт;

{X} – множество входных сигналов;

ДДАС – датчики дискретных и аналоговых сигналов;

Pj – выходной порт;

ИМ – исполнительные механизмы;

ФУС – формирование усилителей сигналов;

 

ОУ – объект управления;

ТП – технологический процесс;

IR – interrupt request (запрос прерывания);

ПУ – пульт управления (старт, стоп, индикация, клавиатура, и др.)

ПК связан с МК через последовательный интерфейс (RS232С и другие)

Микроконтроллер (МК) принимает множество информационных сигналов об объекте управления: цифровых {X} и аналоговых {U} от соответственно цифровых и аналоговых датчиков , вырабатывает множество управляющих сигналов {Y} в соответствии с законом управления и выводит их в исполнительные механизмы (ИМ).

Закон управления реализуется микроконтроллером на основе сигналов {X} от ОУ и информации с пульта управления (ПУ). МК содержит основные модули, обеспечивающие выполнение программ управления объектом, хранение данных, а также периферийные модули для подключения датчиков и исполнительных механизмов. С помощью ПУ пользователь получает возможность управлять работой микроконтроллерной системы: запускать и останавливать её, загружать в контроллер значения некоторых устaвок (констант), выводить на индикаторы информацию о состоянии объекта и т. п. С помощью последовательного канала связи RS 232 MК может организовать взаимодействие микроконтроллера с персональным компьютером (ПК) в режиме запрос-ответ.

Режимы обмена информацией

Программный · Синхронный обмен; без проверки признаков готовности устройства; · Асинхронный; проверка признака готовности (e.g. принтер); обмен с протоколом; · Обмен с прерыванием; С использованием ПДП (прямого доступа к памяти)

программным обменом управляет CPU, в ПДП – аппаратно

ПсП– последовательные порты (UART, USART) – universal sync/async receiver transmitter) – Intel; SPI – serial peripheral interface – Motorola.

RxD – receive data;

TxD – transmit data

КП – контроллер прерываний. Запросы бывают внешние и внутренние. В 51 – 2 внешних запроса INT0, INT1 – они поступают через линии порта Р3; и 3 внутренних – от устройств (от последовательного порта и др.)

Настройка КП:

· Приоритеты запросов;

· Запрет прерываний – индивидуально (маскирование):

2 регистра: Interrupt Private (priority)

Interrupt Enable

 

 

· Режим обслуживания запросов (Например, в 59-м режимы фиксированных приоритетов, циклическое изменение приоритетов запросов)

Т/С –таймер/счетчик. Как правило, задачи управления в контроллере выполняются в режиме реального времени, т.е. в течение определенного интервала времени контроллер должен выполнить ввод, обработку и вывод (цикл).

Для разгрузки CPU в контроллер ввели модули Т/С, количество:от 2-х до 5-ти. Таймер формирует временной интервал.

Функции Т/С:

1. Запуск отдельных подзадач алгоритма управления через промежутки ∆t, называемые метками реального времени;

2. Подсчет внешних импульсов;

3. Формирование последовательных импульсов требуемой частоты на входе Т/С.

КПДП – контроллер прямого доступа к памяти. Содержит от 1 до 4 каналов

Direct request (DRQ) – формируется контроллером периферийного устройства. КПДП – формирует запрос в ЦПУ – отключить ЦПУ от магистрали (HOLD, HLDA – hold acknowledgement); подтверждение – DACK – direct memory access acknowledgement.

АЦП/ЦАП – аналоговые сигналы обычно поступают через один выделенный порт. Существует несколько регистров для настройки (CONF)

S1S0 Банк Рг

0 0 B0 (0-7)

0 1 B1 (8-16)

1 0 B2 (16-23)

1 1 B3 (24-31)

§ OV – overflow – формируется при арифметической операции при переполнение результата.

§ 1-й бит не используется.

§ P – parity (паритет) четность(0) или нечетность(1) результата.

Можно адресовать регистр флажков на уровне байта или отдельных битов (PSW.3)

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

Однобитовые команды

 

CLR Bit – сброс любого бита;

SETB C – установка С;

SETB Bit– установка любого бита;

CPL C – инверсия С;

CPL Bit – инверсия бита;

 

 

Команды сдвига

Сдвигать можно только аккумулятор!!! Только на один бит: влево или вправо; сдвиги циклические.

RL A (rotate left)

RLC A (из седьмого – во флажок С)

rotate left через carry

RR A (rotate right)

RRC A

 

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

 

4.1. Команды безусловной передачи управления:

 

JMP ADR 16 (могут быть L – long, S – short

4.2.Команды условной передачи управления:

J Cond ADR (Cond – condition)

JB Bit, Mi – условный переход по любому биту (jump bit)

JNB Bit, Mi – (jump not bit)

Для организации циклов:

DJNZ Rn,Mi – (decrement jump not zero)

 

4.3. Команды обращения к подпрограммам :

CALL ADR16

Память данных в симуляторе

 
               
               

 

Комбинации входных сигналов (Х3,Х2,Х1) хранятся, начиная с 20 ячейки РПД;

Выходные сигналы У формируются в РПД, начиная с 30 ячейки.

 

Пример: у = х1 х2 V /х3

R0 – регистр адреса памяти данных (входные Х), R0 = 20H

R1 - регистр адреса памяти данных (выходных Y), R1 = 30H

R2 – Cч. количества комбинаций переменных Х, R2 = 08H

 

;Программа

 

$Mod812

 

; начальная установка регистров

START: MOV R0, #20H

MOV R2, #08H

 

; формирование массива таблицы истинности

CLR A

M1: MOV @R0, A

INC A

INC R0

DJNZ R2, M1

 

; установка регистров

 

MOV R0, #20H

MOV R1, #30H

MOV R2, #08H

M5: MOV A, @R0 ; Ввод {X}

 

; вычисление функции У=Х1Х2 V /Х3

 

JNB acc.0, M3

JNB acc.1, M3

M2: MOV A, #01H ; y =1

JMP M4

M3: JNB acc.2, M2

MOV A, #00H ; y=0

M4: MOV @R1, A ; вывод y в память данных

 

; формирование адресов R0, R1

INC R0

INC R1

DJNZ R2, M5

JMP $ ; останов программы

END

Ранжирование приоритетов

Hi INT 0

TF 0

INT 1

TF 1

Low TI/RI

Распределение областей РПП под определенные запросы прерываний показано на рис.

В резидентной памяти программ выделено 5 областей для каждого из 5 прерываний, каждая область - 8 байт для вектора прерывания. Таким образом, первые 43 байта программ имеют специальное назначение.

ORG 30H – это 48 ячейка, программу рекомендуется начинать с этого адреса.

Подпрограммы обработки прерывания обязательно завершаются командой RETI, в соответствии с которой в программный счетчик из стека загружается адрес ранее сохраненный командой CALL, сохраненной в стеке, для возврата в прерванную программу. Команда RET также возвращает управление прерванной программе, но не снимает при этом блокировку прерываний.

 

Рис. Распределение прерываний

 

Рис. Структура последовательного адаптера

 

Если работа приемника разрешена (бит RE в регистре управления модулем равен 1), то после распознавания стартового бита аппаратные средства приемника преобразуют данные, которые поступают на вход RxD в последовательном коде, в параллельный код. После завершения приема последнего бита в сдвиговом регистре приемника находится принятый байт данных, который автоматически переносится в регистр RDBUF. Одновременно устанавливается в 1 флаг завершения приема RI. Бит RI может быть считан под управлением программы, и, если прерывания от приемника разрешены, генерируется запрос на прерывание. В процессе выполнения подпрограммы обработки прерывания принятый байт данных считывается из регистра данных приемника RDBUF в память МК. Сразу после копирования байта данных из сдвигового регистра в RDBUF приемник может начать формирование следующего байта данных, отдельные биты которого продолжают поступать на вход RxD. Однако необходимо, чтобы центральный процессор МК успел считать данные из буферного регистра RDBUF до завершения формирования в сдвиговом регистре следующего принятого байта. Если этого не произошло, то возникшая аварийная ситуация в модулях UART разрешается различными путями. В модулях SCI фирмы Motorola запись следующего принятого байта в буферный регистр данных не производится и устанавливается флаг ошибки OR (Overrun). Этот флаг наравне с триггером RI может генерировать запрос на прерывание от приемника. В модулях МК Intel MCS-51 и ему полностью аналогичных такая защита отсутствует: следующий принятый байт затирает предыдущий в регистре RDBUF.

Термин асинхронный означает, что при передаче символов послания скорость их передачи может быть различной.

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

1. витая пара (экранированная и неэкранированная);

2. коаксиальный кабель (тонкий и толстый);

3. волоконно-оптический кабель.

 

С технической точки зрения интерфейсы отличаются:

1. режимом передачи данных (синхронный и асинхронный);

2. формой кадра (кол-во передаваемых бит для кодирования символа и специальных бит);

3. уровнями передаваемых сигналов и скоростью обмена;

4. количество физических линий (от 2 до 4);

5. расстояние передачи данных между источником и приемником.

 

Упомянутые типы интерфейсов последовательной связи отличаются:

· режимом передачи данных (синхронный или асинхронный);

· форматом кадра (число бит в посылке при передаче байта полезной информации);

· временными диаграммами сигналов на линиях (уровни сигналов и положение фронтов при переключениях).

Среди различных типов встроенных модулей последовательного обмена, входящих в МК сложился стандарт "де-факто" – модуль UART (Universal Asynchronous Receiver and Transmitter). В переводе с английского UART – универсальный асинхронныйприемопередатчик.

 

 
 

На рис. ниже приведена структура такой локальной МК сети. Один из МК в этой сети является ведущим, все остальные – ведомыми. В каждый момент времени обмен возможен между ведущим и одним из ведомых, обмен между двумя ведомыми не реализуется. Инициатором обмена всегда является только ведущий.

 

Программирование адаптера

 

Для программирования адаптера (настройки) на выбранный режим необходимо из ЦПУ загрузить в регистр управляющего слова управляющие слова, сформированные в аккумуляторе.

адрес бита порта С

УС 1 – первое управляющее слово, определяет режимы работы адаптера и направление обмена для портов; РА может быть 2-направленным портом в режиме 2.

УС 2 – используется для управления разрешением обмена с прерыванием путем установки отдельных битов порта РС. Адрес бита РС определяется (3-1) битами, а бит РС.0 определяет значение:0 или 1.

 

Например, если хотим, чтобы через порт А использовался для ввода с прерыванием, то нужно на этапе программирования установить С4 = 1, РА – Ввод (с – INT).

Симулятор ADSim812

 

ADSim812 поставляется фирмой Analog Devices, чтобы помочь в оценке, разработке и отладке кода для микроконтроллера AduC812. В то время как не возможно полностью смоделировать AduC812 платформу ,этот симулятор подходит так близко как приемлемо возможно к моделированию платформы и сможет сделать работу по оценке и разработке программ для AduC812 намного проще.

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

Основным модулем любого контроллера является центральное процессорное устройство (ЦПУ), обеспечивающее выполнение логических и арифметических операций и обозначенное в симуляторе как SFR Window (рис.10) .

 

 

Рис. Модули ЦПУ и портов симулятора

 

ЦПУ представлен множеством регистров R0…R7, программно доступных пользователю посредством системы команд. В любой из регистров ЦПУ можно записать или изменить значение операнда на любой стадии отладки программы . Для этого необходимо подвести курсор мыши к регистру , кликнуть левой клавишей и затем записать требуемое значение.

Основной рабочий регистр ЦПУ – аккумулятор Acc ,используемый всегда для хранения результата операции и одного из операндов при выполнении операций , а также для обмена информацией с периферийными устройствами, подключаемыми к контроллеру через порты P0…P3 .

Регистр B используется в основном при выполнении операций умножения , деления и некоторых других действий.

PSWрегистр признаков результата операции ,хранит флажки (Flags) – признаки результата операции, используемые для выполнения разветвлений в программе командами условных переходов. Наиболее активно используемым флажком в курсовой работе является флажок переноса(CY) из старшего разряда аккумулятора.

SP – указатель стековой памяти, в котором хранится адрес верхней ячейки стека. Отличием стековой памяти от памяти с произвольным доступом к ячейкам памяти является то, что в стеке используется следующий принцип доступа: данное , записанное в стек первым , можно прочитать только последним, а указатель стека SP ,выполняющий функцию регистра адреса стека , изменяется автоматически при обращении к стеку для формирования адреса следующей ячейки памяти. Подобный механизм доступа к стеку называют сокращенно LIFO (Last Input First Output – «последним записан первым прочитан»).

Регистр PC используется для хранения адреса выполняемой команды программы, после выполнения которой в PC будет сформирован адрес следующей команды.

Регистры IP иIE используются при обработке запросов прерывания и позволяют задать приоритеты каждому из прерываний и разрешить их обработку в ЦПУ соответственно.

Остальные регистры ЦПУ в данной работе не используются и поэтому здесь не обсуждаются.

Для подключения к контроллеру датчиков и устройств ввода и вывода данных в модели имеются порты ввода (Input Ports) и порты вывода (Output Ports). При отладке программы в порты ввода можно загрузить входные данные и стартовать выполнение программы. Выходные сигналы , поступающие в порты вывода, к которым подключены ИМ, формируются моделируемой программой. Основной набор периферийных устройств контроллера можно классифицировать следующим образом:

ПУ для связи с пользователем: клавиатура, индикаторы, принтеры, кнопки сброса контроллера и т.п.

Для хранения основного набора данных в контроллере имеется резидентная память данных (РПД) , модель которой приведена на Рис.

В меню View РПД обозначена как IRAM (Internal RAM). В любой из адресов РПД также ,как и в регистр, можно записать 8-битные исходные данные. Дело в том , что в симуляторе нельзя моделировать входные данные, поэтому они предварительно должны быть записаны или в ячейки памяти РПД , или в порт ввода , к которому в реальной системе подключены датчики цифровых и аналоговых сигналов, а также другие устройства ввода. Таким образом разработчик программ сам определяет набор исходных данных, имитируя ,тем самым , работу датчиков.

Адреса ячеек РПД начинаются с кода 00, в первой строке представлено 16 ячеек памяти (00H –0FH), в следующей строке – следующие 16 ячеек(10H-1FH) и т.д. Следует заметить, что в симуляторе все данные и адреса представлены в 16-ричной системе счисления (H –Hexidecimal).

Команды программы хранятся в резидентной памяти программ РПП, обозначенной в симуляторе Code Memory (Рис. 12), являющейся постоянной памятью. Каждая команда в РПП хранится в следующем формате:

Адрес РПД(Address):Метка (Label):Код Операции(Op Codes):Инструкция(Instruction).

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

автоматический режим выполнения программы полностью;

выполнение программы отдельными фрагментами до точки останова (Breakpoint), количество точек останова неограниченно. Для определения точки останова необходимо выделить требуемый адрес команды и кликнуть мышью на кнопке (Toggle Breakpoint). При этом адрес команды останова будет помещен в квадратные скобки;

 

 

Рис. Модель резидентной памяти данных РПД.

 

Время выполнения моделируемой программы определяется симулятором автоматически. Для оценки времени необходимо вызвать из меню View программу анализа (Program Analysis) и снять показание.

 

 

Рис. Модуль резидентной памяти программ контроллера РПД.

 

Лекции – ПиНК (Программирование и наладка контроллеров)









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.