Научная статья на тему 'Отладка программного обеспечения микроконтроллера прибора для диагностирования двигателей внутреннего сгорания с использованием программного комплекса Proteus'

Отладка программного обеспечения микроконтроллера прибора для диагностирования двигателей внутреннего сгорания с использованием программного комплекса Proteus Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
590
116
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МИКРОКОНТРОЛЛЕР / ДИАГНОСТИЧЕСКИЙ ПРИБОР / ДВИГАТЕЛЬ ВНУТРЕННЕГО СГОРАНИЯ / ДИАГНОСТИКА / MICROCONTROLLER / DIAGNOSTIC DEVICE / INTERNAL COMBUSTION ENGINE / DIAGNOSTICS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Денисов А. С., Куверин И. Ю.

Показаны перспективы развития аппаратного обеспечения средств диагностирования двигателей внутреннего сгорания по показателям изменения угловой скорости коленчатого вала. Приведена упрощенная схема разрабатываемого диагностического прибора. Показана методика отладки программного обеспечения микроконтроллера прибора с использованием программного комплекса Proteus.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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 of program Proteus complex is shown.

Текст научной работы на тему «Отладка программного обеспечения микроконтроллера прибора для диагностирования двигателей внутреннего сгорания с использованием программного комплекса Proteus»

УДК 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

i Надоели баннеры? Вы всегда можете отключить рекламу.