УДК 631.43.018.8
А.С. Денисов, И.Ю. Куверин
ОТЛАДКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МИКРОКОНТРОЛЛЕРА ПРИБОРА ДЛЯ ДИАГНОСТИРОВАНИЯ ДВИГАТЕЛЕЙ ВНУТРЕННЕГО СГОРАНИЯ
С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО КОМПЛЕКСА PROTEUS
Показаны перспективы развития аппаратного обеспечения средств диагностирования двигателей внутреннего сгорания по показателям изменения угловой скорости коленчатого вала. Приведена упрощенная схема разрабатываемого диагностического прибора. Показана методика отладки программного обеспечения микроконтроллера прибора с использованием программного комплекса Proteus.
Микроконтроллер, диагностический прибор, двигатель внутреннего сгорания, диагностика.
A.S. Denisov, I.U. Kuverin
SOFTWARE DEBUGGING THE MICROCONTROLLER OF THE DEVICE FOR DIAGNOSING INTERNAL COMBUSTION ENGINES WITH USE OF PROGRAM COMPLEX PROTEUS
Perspectives of development of hardware diagnostic devices of explosive motors on metrics of change of an angular velocity of a bent shaft are shown. The simplified circuit of the developed diagnostic instrument is resulted. The technique of adjustment of the software of the microcontroller of the instrument with usage ofprogram Proteus complex is shown.
Microcontroller, diagnostic device, internal combustion engine, diagnostics.
В Саратовском государственном техническом университете на протяжении ряда лет ведется разработка бесстендовых методов и средств диагностирования двигателей внутреннего сгорания. В основе разработанных методов лежит определение параметров технического состояния двигателей по показателям изменения угловой скорости коленчатого вала без использования внешних приводных или нагрузочных устройств.
Большие перспективы в дальнейшем развитии данных методов открываются при разработке аппаратного обеспечения на основе современных микроконтроллеров ведущих мировых производителей. В настоящее время проводится разработка микроконтроллерного прибора для диагностирования дизельных двигателей. Основным компонентом разрабатываемого прибора является микроконтроллер ATmega128 8-битного семейства AVR гарвардской архитектуры (программа и данные находятся в разных адресных пространствах) американской фирмы Atmel.
Наибольшую сложность при разработке микроконтроллерных систем представляет разработка программы, которая при прошивке загружается в память микроконтроллера и обеспечивает его работу по заложенному алгоритму. Для программирования микроконтроллеров AVR, ввиду его большой популярности во всем мире, разработано значительное количество компиляторов для наиболее популярных языков программирования:
- компиляторы Assembler: IAR AVR Assembler Atmel, AVR Assembler;
- компиляторы Basic: Bascom AVR, AVR Simulator, FastAVR, ABC Basic Compiler;
- компиляторы Pascal: E-LAB AVRco, mikroPascal PRO for AVR;
- компиляторы языка Forth: ForthInc Forth-Compiler, MPE Forth-Compiler;
- компиляторы C: ICC AVR, AtmanAvr , mikroC PRO for AVR, avr-gcc, CodeVisionAVR;
- компиляторы C++: ICC AVR, IAR Embedded Workbench for AVR, IAR C/C++ Compiler for AVR;
- визуальная среда разработки программ для AVR в виде блок-схем Algorithm Builder.
Также архитектура AVR позволяет применять операционные системы при разработке приложений, например FreeRTOS и uOS.
Рис. 1. Автоматический генератор программ (CodeWizardAVR) компилятора CodeVisionAVR
Система команд микроконтроллеров AVR изначально оптимизировалась под программирование на языках высокого уровня, что позволяет отказаться от программирования на ассемблере.
Наиболее целесообразным является использование объектно-ориентированного языка C, имеющего развитую систему команд.
Для программирования на языке С микроконтроллера выбран кросс-компилятор CodeVi-sionAVR, так как он имеет наиболее удобный автоматический генератор программ (CodeWizardAVR) (рис. 1), позволяющий значительно упростить написание программ. Кроме того, CodeVisionAVR обеспечивает выполнение почти всех элементов языка C, которые разрешены архитектурой языка С, с некоторыми добавленными характеристиками, которые реализуют преимущество специфики архитектуры AVR. Также данный компилятор имеет большой набор прикладных библиотек для работы со стандартной периферией.
Для отладки разрабатываемых программ целесообразно использование компьютерных симуляторов, заменяющих реальные радиодетали и приборы, виртуальными моделями. Симуляторы позволяют без сборки реального устройства отладить работу схемы, найти ошибки, полученные на стадии проектирования, снять необходимые характеристики.
Для моделирования микроконтроллеров наибольшими возможностями обладает симулятор Proteus. Поскольку основной задачей моделирования является отработка программного обеспечения микроконтроллера, в Proteus была составлена упрощенная схема прибора (рис. 2). На схеме отсутствуют элементы тактирования, формирования входных сигналов, преобразователи уровня приемопередатчика USART, цепи питания и сброса.
Моделирование сигнала датчика начала тактирования проводилось с помощью генератора импульсов 1. Для моделирования сигналов датчика угловых меток использовался генератор импульсов 2. Контроль длительности и формы сигналов проводился с помощью четырехканального осциллографа 3. Для проверки работы 8-канального аналого-цифрового преобразователя использовались генераторы сигналов 4-11 для каналов 0-7 соответственно. Для проверки настройки LCD дисплея использовалась его модель 12. Для отображения русского шрифта модель дисплея была модифицирована с помощью специальной программы-перекодировщика.
Файл Вид Правка Сервис Проект Диаграмма Исходник Отладка Библиотека Шаблон Система Справка
]q ей|]щ|ш +, + 444a||'9Q‘iJ64aeia:aBBi«.>+*/>||fei«/4H*.* а
I ► | !► 1 II I ■ 1 О 1 Message(s) PAUSED: 00:00:03.056256 I +600.0 +1100.0 th
Рис. 2. Упрощенная схема устройства для диагностирования двигателей внутреннего сгорания в симуляторе Proteus
Правка компонента
IP U&4
Обозначение:
Наименование:
РСВ Package:
Program File:
СК0РТ (Oscillator Options) BOOTRST (Select Reset Vector), WDT0N (Watchdog timer < CKSEL Fuses: 2 Boot Loader Size:
SUT Fuses:
Advanced Propi
]ATMEGA128
Скрыть:
Скрыть:
|QFP80P1600X160CKI20-6 - | ? ] | Hide All d
3 -u о |_d| Hide All d
Jfl) Unprogrammed _^J | Hide All d
Ш) Unprcgrammed ■r [HideAll d
Unprogrammed | Hide All d
4#110) Ext.Crystal High Freq »| | Hide All d
-f# 1)512 words. Starts at OxFEOi ▼ | Hide All d
| [11) _~| [Hide All d
| Clock Frequency Other Properties:
11Б000000
Hide All
Исключить из моделирования Присоединить иерарх, модуль
Исключить из РСВ
Править все свойства как текст
ОК
Справка Даташиг Скрыт, пины
Отмена
Рис. 3. Свойства микроконтроллера в симуляторе Proteus Дисплей в приборе используется для контролирования режимов работы, вывода служебной информации, сведений о разработчике устройства, в режиме тахометра на дисплей выводится информации о частоте вращения коленчатого вала двигателя. Кнопка 13 пуска и переключения режимов является интерактивной и может переключаться непосредственно во время работы программы. Моделирование передачи данных в компьютер по протоколу RS-232 осуществлялся с помощью виртуального терминала 14.
После загрузки программы в память микроконтроллера 15, а также задания тактовой частоты 1 (рис. 3) и установки конфигурационных бит (fuse bits) 2 в окне свойств микроконтроллера, возможно проведение запуска симуляции.
Управление работой симуляции осуществлялось панелью интерактивной симуляции 1 (рис. 4).
Контроль работы программы проводился с помощью следующих контрольных панелей и окон: 2, 3 - панели генераторов импульсов соответственно датчика начала тактирования и датчика угловых меток , 4 - контрольная панель четырехканального осциллографа, 5 - контрольная панель виртуального терминала, 6 - окно регистров процессора, 7 - окно переменных, 8 - окно наблюдения за регистрами микроконтроллера, 9 - окно с текстом программы на языке С.
На панели осциллографа 10 - импульсы сигнала датчика начала тактирования, 11 - импульсы сигнала датчика угловых меток.
Рис. 4. Симуляция работы прибора для диагностики двигателей внутреннего сгорания в программном комплексе Proteus
Для осуществления контроля за работой микроконтроллера использовалась возможность устанавливать контрольные точки останова в окне с текстом программы 9, а также задавать в окне слежения за регистрами микроконтроллера 8 значения регистров для инициирования остановки программы при наступлении определенных событий.
Использование программного комплекса Proteus позволило провести отладку программы прибора для диагностирования двигателей внутреннего сгорания с целью последующей загрузки прошивки в память микроконтроллера.
Денисов Александр Сергеевич -
доктор технических наук, профессор, заведующий кафедрой «Автомобили и автомобильное хозяйство» Саратовского государственного технического университета имени Гагарина Ю.А.
Alexander S. Denisov -
Dr. Sc., professor,
head of Department c^ars and motor-car economy» Gagarin Saratov State Technical University
Куверин Игорь Юрьевич —
кандидат технических наук, доцент кафедры «Автомобили и автомобильное хозяйство» Саратовского государственного технического университета имени Гагарина Ю. А.
Igor Yu. Kuverin -
Ph.D., Associate
Professor of Department «Сars and motor-car economy» Gagarin Saratov State Technical University
Статья поступила в редакцию 03.04.13, принята к опубликованию 30.04.13
87