Программирование микропроцессорных систем управления подвижного состава железных дорог
Покупка
Основная коллекция
Тематика:
Железнодорожный транспорт
Издательство:
Российский университет транспорта
Автор:
Пудовиков Олег Евгеньевич
Год издания: 2018
Кол-во страниц: 146
Дополнительно
В учебном пособии приведены сведения о технических особенностях микроконтроллера ATMega328P, использованного в платформе для разработки и отладки приложений, а также аппаратной части микропроцессорных систем Arduino, приведены сведения о программировании этой платформы с использованием возможностей оболочки Arduino IDE, снабжённые большим количеством примеров. Также в пособии рассмотрены некоторых схемотехнические решения, применяемые при проектировании цифровых систем, дана информация о назначении и технических характеристиках ряда активных и пассивных компонентов, которые находят применение при создании электронных схем систем управления. В издании приведён перечень практических заданий, направленных на формирование и закрепление навыков решения ряда задач, возникающих при программировании микропроцессорных систем управления техническими объектами, к которым относится и подвижной состав железных дорог и метрополитенов. Для студентов специальности 23.05.03 «Подвижной состав железных дорог» специализаций «Электрический транспорт железных дорог и «Высокоскоростной наземный транспорт».
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА (МИИТ)» Институт транспортной техники и систем управления Кафедра «Электропоезда и локомотивы» О.Е. Пудовиков Программирование микропроцессорных систем управления подвижного состава железных дорог Учебное пособие Москва – 2018
МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА (МИИТ)» Институт транспортной техники и систем управления Кафедра «Электропоезда и локомотивы» О.Е. Пудовиков Программирование микропроцессорных систем управления подвижного состава железных дорог Учебное пособие для студентов специальности 23.05.03 «Подвижной состав железных дорог» Москва – 2018
УДК 629.4 П88 Пудовиков, О.Е. Программирование микропроцессорных систем управления подвижного состава железных дорог/ О.Е. Пудовиков Учебное пособие по дисциплинам «Автоматизированные и микропроцессорные системы управления», «Системы автоматизированного управления движением высокоскоростного транспорта». – М.: РУТ (МИИТ), 2018. – 146 с. В учебном пособии приведены сведения о технических особенностях микроконтроллера ATMega328P, использованного в платформе для разработки и отладки приложений, а также аппаратной части микропроцессорных систем Arduino, приведены сведения о программировании этой платформы с использованием возможностей оболочки Arduino IDE, снабжённые большим количеством примеров. Также в пособии рассмотрены некоторых схемотехнические решения, применяемые при проектировании цифровых систем, дана информация о назначении и технических характеристиках ряда активных и пассивных компонентов, которые находят применение при создании электронных схем систем управления. В издании приведён перечень практических заданий, направленных на формирование и закрепление навыков решения ряда задач, возникающих при программировании микропроцессорных систем управления техническими объектами, к которым относится и подвижной состав железных дорог и метрополитенов. Для студентов специальности 23.05.03 «Подвижной состав железных дорог» специализаций «Электрический транспорт железных дорог и «Высокоскоростной наземный транспорт». Рецензенты: – профессор кафедры «Управление и защита информации» РУТ (МИИТ), д.т.н., Сидоренко Валентина Геннадьевна; – инженер по эксплуатации и ремонту ОП ООО «Сименс» – депо «Подмосковное» Назаров Дмитрий Валерьевич. © РУТ (МИИТ), 2018
ВВЕДЕНИЕ В настоящее время серийный и опытный подвижной состав оснащается микропроцессорными системами управления. К достоинствам таких систем относятся простота их исполнения, надёжность, возможность реализации сложных алгоритмов управления и их корректировки без изменения аппаратной части системы. Современные микропроцессорные системы управления зачастую реализуются на базе однокристальных микроконтроллеров, т.е. микропроцессоров с интегрированными в них периферийными устройствами – аналого-цифровых преобразователями, таймерами, компараторами и т.п. Интегрированные периферийные устройства позволяют уменьшить загрузку центрального процессора, а также снизить нагрузку на внешнюю шину. К их достоинствам относятся сравнительно высокое быстродействие, значительный набор встроенных периферийных устройств, доступность. Применение микроконтроллеров для управления техническими системами позволяет: • добиться высокой степени системной интеграции; • избавиться от необходимости использования дополнительных периферийных устройств; • повысить безопасность и надёжность системы. В пособии приведены сведения о конструкции и основах программирования платформы Arduino UNO, оснащённой однокристальным 8-разрядным микроконтроллером ATMega328P [1, 2], располагающей необходимыми средствами для удобного написания и отладки программ, а также для подключения различных электронных и электромеханических приборов, составляющих схему управления. При разработке программного обеспечения для микроконтроллеров допускается использование, помимо настоящего пособия, также и ресурсов, размещённых в сети Internet, например, материалов проекта – первоисточника arduino.cc [4], а также русскоязычных ресурсов
1. Платформа Arduino UNO Описание аппаратной части На рисунке 1.1 приведен внешний вид платы Arduino UNO. Выделены следующие элементы: 1. Микросхема – микроконтроллер. 2. Группа каналов ввода аналоговых сигналов. 3. Группа выводов питания схемы. 4. Разъём дополнительного источника питания. 5. Разъём USB порта для программирования. 6. Кнопка RESET. 7. Контроллер USB порта. 8. Группа каналов ввода/вывода дискретных сигналов. 9. Разъём ICSP1. В основу планы Arduino UNO положен микроконтроллер ATmega328P фирмы Atmel [1, 2]. Данный контроллер построен по AVR архитектуре, является 8-ми разрядным, использует систему команд, близкую к RISC2 и реализует Гарвардскую архитектуру, с разделением памяти для программы и данных. Как и все микроконтроллеры, он содержит достаточно большое количество встроенных устройств ввода/вывода для связи с объектом управления, а также каналов связи с другими микропроцессорными системами и цифровыми датчиками. К таким устройствам относятся: 1 In-system programming (ISP), также называемый In-Circuit Serial Programming (ICSP), -- интерфейс, позволяющий программировать установленные в готовую систему компоненты: микроконтроллеры, программируемые логические схемы и прочие подобные устройства. 2 RISC (restricted (reduced) instruction set computer )— «компьютер с сокращённым набором команд») — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. Система команд микроконтроллера ATMega328P включает 131 инструкцию, большая часть которых выполняется за один такт работы ядра. Таким образом, производительность ядра микроконтроллера, при условии его работы на частоте 20 МГц, может достигать 20 MIPS (Million Instructions Per Second)
Рисунок 1.1 – Внешний вид платы Arduino UNO 1. Два 8-ми разрядных счётчика/таймера. 2. Один шестнадцатиразрядный счётчик/таймер 3. Часы реального времени (Real Time Counter) 4. 6 каналов формирования сигнала с широтно-импульсной модуляцией (PWM – Pulse With Modulation)
5. 6-ти канальный 10-ти разрядный аналого-цифровой преобразователь (ADC – Analog/Digital Converter). 6. Программируемый последовательный синхронный/асинхронный канал связи (Serial USART)3. 7. Два типа специализированных последовательных канала связи с интеллектуальными периферийными устройствами, датчиками: SPI4 и I2C5 [3]. 8. Сторожевой таймер (Watchdog Timer). 9. Встроенный аналоговый компаратор. Далее, для информации, приведена блок-диаграмма микроконтроллера ATMega328P [1, 2] (рисунок 1.2). 3 Serial USART (Serial Universal Synchronous Asynchronous Receiver and Transmission/Transmitter) – универсальный последовательный синхронный/асинхронный приёмопередатчик. В синхронных каналах ввод каждого единичного элемента производится в строго определенные моменты времени и они предназначены для передачи только изохронных сигналов (сигналов с постоянным тактовым интервалом). Синхронные каналы передачи данных используют при пакетной передаче информации (группой из нескольких байт). Асинхронные каналы передачи данных не требует синхронизации работы отправителя и получателя данных, т.е. могут передаваться как изохронный сигналы, так и анизохронные (с переменным тактовым интервалом). Используют при организации побайтовой передачи данных. 4 SPI (Serial Peripheral Interface, SPI bus) — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения высокоскоростного сопряжения микроконтроллеров и периферии. 5 I2C (Inter-Integrated Circuit) – последовательная шина данных для соединения низкоскоростных периферийных компонентов с центральным блоком. В документации ряда производителей, к которым относится и Atmel, для сохранения патентной чистоты применяется иное обозначение, например, TWI (Two-Wire Serial Interface) – двухпроводный последовательный интерфейс [3].
Работа с интегрированной средой разработки Arduino IDE Для набора текста программы и его редактирования, компиляции (перевода текста программы с языка высокого уровня в машинный код) и загрузки результата в память микроконтроллера, а также для исполнения полученной программы используется интегрированная среда разработки Arduino IDE. Последнюю версию программы можно бесплатно загрузить с сайта разработчика. Окно работающей программы Arduino IDE выглядит так, как приведено на рисунке 1.3. Подключение микроконтроллера к персональному компьютеру осуществляется через виртуальный последовательный канал связи – COM порт. Номер порта, по которому установлена связь, отображается в правом нижнем углу окна работы программы (в данном случае, это порт COM7). Рисунок 1.2 – Внутренняя структура микроконтроллера ATMega328P
Рисунок 1.3 – Окно программы Arduino IDE Рекомендуется после загрузки программы и подключения микроконтроллера к порту USB компьютера уточнить правильность выбора порта для установки соединения компьютера и контроллера, для чего следует проверить настройки в пункте меню Инструменты – Порт. Необходимо выбрать порт, содержащий наименование подключённой платы микроконтроллера (рисунок 1.4). Компиляция программы осуществляется после нажатия на кнопку, расположенную на панели программы и обозначенную так, как показано на рисунке 1.5. В случае успешного завершения процедуры (отсутствия ошибок), нижняя часть окна работы программы приобретёт вид, пример которого показан на рисунке 1.6. При наличии ошибок, будет выведено соответствующее сообщение, в том числе приведена информация об обнаруженных ошибках и месте их расположения в тексте программы (рисунок
1.7). При возникновении данной ситуации, имеющиеся ошибки следует устранить, после чего повторить процесс компиляции. Рисунок 1.4 – Проверка и корректировка порта подключения микроконтроллера Рисунок 1.5 – Изображение кнопки компиляции Рисунок 1.6 – Результат успешного завершения компиляции программы Рисунок 1.7 – Результат завершения компиляции при наличии ошибок в тексте программы