Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование микропроцессорных систем управления подвижного состава железных дорог

Покупка
Основная коллекция
Артикул: 786754.01.99
В учебном пособии приведены сведения о технических особенностях микроконтроллера ATMega328P, использованного в платформе для разработки и отладки приложений, а также аппаратной части микропроцессорных систем Arduino, приведены сведения о программировании этой платформы с использованием возможностей оболочки Arduino IDE, снабжённые большим количеством примеров. Также в пособии рассмотрены некоторых схемотехнические решения, применяемые при проектировании цифровых систем, дана информация о назначении и технических характеристиках ряда активных и пассивных компонентов, которые находят применение при создании электронных схем систем управления. В издании приведён перечень практических заданий, направленных на формирование и закрепление навыков решения ряда задач, возникающих при программировании микропроцессорных систем управления техническими объектами, к которым относится и подвижной состав железных дорог и метрополитенов. Для студентов специальности 23.05.03 «Подвижной состав железных дорог» специализаций «Электрический транспорт железных дорог и «Высокоскоростной наземный транспорт».
Пудовиков, О. Е. Программирование микропроцессорных систем управления подвижного состава железных дорог : учебное пособие по дисциплинам «Автоматизированные и микро-процессорные системы управления», «Системы автоматизированного управления движением высокоскоростного транспорта» / О. Е. Пудовиков. - Москва : РУТ (МИИТ), 2018. - 146 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1894676 (дата обращения: 03.07.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО ТРАНСПОРТА  
РОССИЙСКОЙ ФЕДЕРАЦИИ 
 
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ  
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ 

«РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА (МИИТ)» 

 
Институт транспортной техники и систем управления 
 
Кафедра «Электропоезда и локомотивы» 
 

 
О.Е. Пудовиков 
 
 
 
Программирование микропроцессорных систем управления 
 подвижного состава железных дорог 
 
 
 
Учебное пособие 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Москва – 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 положен микроконтроллер AT-
mega328P фирмы Atmel [1, 2]. Данный контроллер построен по AVR 
архитектуре, является 8-ми разрядным, использует систему ко-
манд, близкую к RISC2 и реализует Гарвардскую архитектуру, с раз-
делением памяти для программы и данных. Как и все микро-
контроллеры, он содержит достаточно большое количество встро-
енных устройств ввода/вывода для связи с объектом управления, 
а также каналов связи с другими микропроцессорными системами 
и цифровыми датчиками. К таким устройствам относятся: 

                                                                    
1 In-system programming (ISP), также называемый In-Circuit 
Serial Programming (ICSP), -- интерфейс, позволяющий программи-
ровать установленные в готовую систему компоненты: микро-
контроллеры, программируемые логические схемы и прочие по-
добные устройства. 
2 RISC (restricted (reduced) instruction set computer )— «компью-
тер с сокращённым набором команд») — архитектура процес-
сора, в котором быстродействие увеличивается за счёт упрощения 
инструкций, чтобы их декодирование было более простым, а время 
выполнения — меньшим. Система команд микроконтроллера AT-
Mega328P включает 131 инструкцию, большая часть которых вы-
полняется за один такт работы ядра. Таким образом, производи-
тельность ядра микроконтроллера, при условии его работы на ча-
стоте 20 МГц, может достигать 20 MIPS (Million Instructions Per Sec-
ond) 

Рисунок 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 Re-
ceiver 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 – Результат завершения компиляции при наличии 
ошибок в тексте программы