Статья опубликована в рамках: III Международной научно-практической конференции «Наука вчера, сегодня, завтра» (Россия, г. Новосибирск, 21 августа 2013 г.)
Наука: Технические науки
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
МЕТОДИКА РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МИКРОКОНТРОЛЛЕРА ATMEGA 644 В ПРИБОРЕ ДЛЯ ДИАГНОСТИРОВАНИЯ ДВИГАТЕЛЕЙ ВНУТРЕННЕГО СГОРАНИЯ
Денисов Александр Сергеевич
д-р техн. наук, профессор, зав. кафедрой «Автомобили и автомобильное хозяйство», Саратовского государственного технического университета имени Гагарина Ю.А. г. Саратов
Куверин Игорь Юрьевич
канд. техн. наук, доцент кафедры «Автомобили и автомобильное хозяйство», Саратовского государственного технического университета имени Гагарина Ю.А. г. Саратов
E-mail: igorkuv@mail.ru
В Саратовском государственном техническом университете на протяжении ряда лет ведется разработка бесстендовых методов и средств диагностирования двигателей внутреннего сгорания. В основе разработанных методов лежит определение параметров технического состояния двигателей по показателям изменения угловой скорости коленчатого вала без использования внешних приводных или нагрузочных устройств.
Большие перспективы в дальнейшем развитии данных методов открываются при разработке аппаратного обеспечения на основе современных микроконтроллеров ведущих мировых производителей. В настоящее время проводится разработка микроконтроллерного прибора для диагностирования дизельных двигателей. Основным компонентом разрабатываемого прибора является микроконтроллер ATmega644 8-битного семейства AVR гарвардской архитектуры (программа и данные находятся в разных адресных пространствах) американской фирмы Atmel [1].
Наибольшую сложность при разработке микроконтроллерных систем представляет разработка программы, которая при прошивке загружается в память микроконтроллера и обеспечивает его работу по заложенному алгоритму. Для программирования микроконтроллеров AVR, ввиду его большой популярности во всем мире, разработано значительное количество компиляторов для наиболее популярных языков программирования:
Система команд микроконтроллеров AVR изначально оптимизировалась под программирование на языках высокого уровня, что позволяет отказаться от программирования на ассемблере.
Наиболее целесообразным является использование объектно-ориентированного языка C, имеющего развитую систему команд.
Для программирования на языке С микроконтроллера выбран кросс-компилятор CodeVisionAVR [2], так как он имеет наиболее удобный автоматический генератор программ (CodeWizardAVR), позволяющий значительно упростить написание программ. Кроме того, CodeVisionAVR обеспечивает выполнение почти всех элементов языка C, которые разрешены архитектурой языка С, с некоторыми добавленными характеристиками, которые реализуют преимущество специфики архитектуры AVR [3]. Также данный компилятор имеет большой набор прикладных библиотек для работы со стандартной периферией.
Для отладки разрабатываемых программ целесообразно использование компьютерных симуляторов, заменяющих реальные радиодетали и приборы, виртуальными моделями. Симуляторы позволяют без сборки реального устройства отладить работу схемы, найти ошибки, полученные на стадии проектирования, снять необходимые характеристики.
Для моделирования микроконтроллеров наибольшими возможностями обладает симулятор Proteus. Поскольку основной задачей моделирования является отработка программного обеспечения микроконтроллера, в Proteus была составлена упрощенная схема прибора (рис. 1). На схеме отсутствуют элементы тактирования, формирования входных сигналов, преобразователи уровня приемо-передатчика USART, цепи питания и сброса.
Рисунок 1. Упрощенная схема устройства для диагностирования двигателей внутреннего сгорания в симуляторе Proteus
Моделирования сигнала датчика начала тактирования проводилось с помощью генератора импульсов 1. Для моделирования сигналов датчика угловых меток использовался генератор импульсов 2. Контроль длительности и формы сигналов проводился с помощью четырехканального осциллографа 3. Для проверки работы 8-канального аналого-цифрового преобразователя использовались генераторы сигналов 4—11 для каналов 0—7 соответственно. Для проверки настройки LCD дисплея использовалась его модель 12. Для отображения русского шрифта модель дисплея была модифицирована с помощью специальной программы-перекодировщика.
Дисплей в приборе используется для контролирования режимов работы, вывода служебной информации, сведений о разработчике устройства, в режиме тахометра на дисплей выводится информации о частоте вращения коленчатого вала двигателя. Кнопка 13 пуска и переключения режимов является интерактивной и может переключаться непосредственно во время работы программы. Моделирование передачи данных в компьютер по протоколу RS-232 осуществлялся с помощью виртуального терминала 14.
После загрузки программы в память микроконтроллера 15, а также задания тактовой частоты и установки конфигурационных бит (fuse bits) в окне свойств микроконтроллера, возможно проведение запуска симуляции.
Управление работой симуляции осуществлялось панелью интерактивной симуляции 1 (рис. 2).
Рисунок 2. Симуляция работы прибора для диагностики двигателей внутреннего сгорания в программном комплексе Proteus
Контроль работы программы проводился с помощью следующих контрольных панелей и окон: 2, 3 — панели генераторов импульсов соответственно датчика начала тактирования и датчика угловых меток, 4 — контрольная панель четырехканального осциллографа, 5 — контрольная панель виртуального терминала, 6 — окно регистров процессора, 7 — окно переменных, 8 — окно наблюдения за регистрами микроконтроллера, 9 — окно с текстом программы на языке С.
На панели осциллографа 10 — импульсы сигнала датчика начала тактирования, 11 — импульсы сигнала датчика угловых меток.
Для осуществления контроля за работой микроконтроллера использовалась возможность устанавливать контрольные точки останова в окне с текстом программы 9, а также задавать в окне слежения за регистрами микроконтроллера 8 значения регистров для инициирования остановки программы при наступлении определенных событий.
Использование программного комплекса Proteus позволило провести отладку программы прибора для диагностирования двигателей внутреннего сгорания с целью последующей загрузки прошивки в память микроконтроллера.
Список литературы:
1.Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, 5-е изд., стер. М.: Издательский дом «Додэка XXI», 2008. — 560 с.
2.Лебедев М.Б. CodeVision AVR. Пособие для начинающих (+ CD-ROM). М.: Додэка XXI, 2010. — 592 с.
3.Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров. М.: МК-Пресс, Корона-Век. 2011. — 544 с.
дипломов
Оставить комментарий