Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
E_UP_DVS.doc
Скачиваний:
67
Добавлен:
11.03.2016
Размер:
1.02 Mб
Скачать

5.2. Современные средства микроконтроллеров для измерения и генерации временнЫх интервалов

Современные микроконтроллеры имеют встроенные 8 и 16-разрядные счетчики-таймеры со схемами захвата и схемами цифрового сравнения (быстрые входы и выходы). Схемы захвата используются для точного измерения интервалов времени (например, между зубцами маховика). Схемы цифрового сравнения используются для генерации временных интервалов (при управлении форсунками, катушками зажигания и пр. импульсными устройствами).

Счетчики-таймеры имеют возможность получать счетные импульсы извне (специально выделенный контакт), либо от встроенного делителя частоты, программируемого на разные коэффициенты деления исходной частоты, на которой работает м/п. (Например, для м/к ATMELсерии 90 коэффициенты деления могут быть выбраны из следующих величин: 1, 8, 64, 256, 1024).

Схема захвата (capture) обеспечивает запоминание в специальном регистре содержимого таймера при наступлении некоторого события. Обычно событием является фронт сигнала на специальном выводе м/к. Из возможных событий программист выбирает какое-либо одно (например, положительный фронт на входеIC). СЗ применяются для точного измерения периода входного сигнала. По сравнению с вариантом чтение таймера по прерыванию отсутствует погрешность, связанная с неоднозначностью времени реакции на прерывание.

Схемы цифрового сравнения обеспечивают то или иное управление дискретными выходами при совпадении содержимого таймера и специального регистра. Событие, наступаемое в момент совпадения выбирается программистом и может быть: 1. аппаратное управление специальным выводом м/к или 2. запрос на обработку прерывания. (Для ATMELсерии 90 аппаратное управление выводом м/кOC1 можно задать одним из 3 вариантов: переключение в противоположное состояние 0->1 или 1->0, сброс в 0, установка в 1).

Практические примеры

1. Нефазированное управление форсунками

2. Фазированное управление форсункой

3. Управление КЗ с использованием колеса 60-2. Обратить внимание, что начало отсчёта – целый зуб (дискретность 6 град.), а далее временные отрезки не попадают в 6 градусную сетку.

5.3. Watch-doGтаймер

WATCH-DOG- "сторожевой пёс" – специальный счетчик-таймер, при достижении некоторого заданного значения происходит сброс микропроцессора, т.е. программа начнет работу заново. Пока программа нормально функционирует, она должна периодически обнулятьWATCH-DOGсчетчик-таймер, и тогда сброса м/п не будет. Если процессор "повис" и не может сбрасыватьWATCH-DOGсчетчик-таймер, при достижении таймером предельной величины произойдет сброс м/п, т.е. выход из аварийной ситуации.

6. Программирование и отладка м/п систем

Программирование в машинных кодах выполнялось на заре вычислительной техники и было трудоемким и утомительным занятием. Достаточно представить, что адреса ячеек памяти под те или иные переменные необходимо задавать самому, команды переходов - вычислять и т.д. Но программисты народ хитрый. Выдумали языки программирования. И первым из них был и остается ассемблер. А. - язык программирования, у которого каждая инструкция соответствует той или иной команде м/п. Отличие от машинных кодов в том, что адреса переменных имеют символьный характер, адреса переходов - также имеют символьные имена - метки. Теперь программист использует «свои» понятные ему самому имена, а преобразование такой программы в машинные коды осуществляются с помощью специальной программы - компилятора - в данном случае - компилятора ассемблера.

Кроме ассемблера существует довольно много других языков программирования, наиболее интересными, с точки зрения программирования систем управления - Cи Ада. Считается, что использование языков высокого уровня к коим относятся выше упомянутые, снижает возможную производительность системы и увеличивает объем памяти программ от 1.5 до 2 раз.

Здесь необходимо сделать следующие оговорки. Во-первых, современные компиляторы позволяют в текст программы включать ассемблерные вставки, а также осуществлять контроль за компиляцией - трансляция с языка высокого уровня может быть выполнена сначала в ассемблер. Наиболее ответственные участки программ таким образом можно выполнить наиболее оптимальным образом с т.з. быстродействия. Во-вторых, длина программного кода для современных систем некритична и без заметного ущерба по стоимости м.б. увеличена. Общий вывод - программирование целесообразно осуществлять на языках высокого уровня, опускаясь до ассемблерных вставок лишь при особой необходимости.

Отладка программ - исправление ошибок программиста и доводка работоспособности программы до приемлемого уровня. Трудность создания программ - необходимость предвидения бесчисленного множества состояний объекта управления и адекватное реагирование в каждой из них. Стандартные средства отладки программ - пошаговое выполнение, выполнение отдельными фрагментами, при этом в случае компьютера - результаты таких действий можно проконтролировать на мониторе.

Разработка и отладка программ для систем управления осложнена отсутствием средств отображения информации в БУ, трудностями имитации реальной работы объекта управления в лабораторных условиях.

Для создания программ (исходного текста) годится обычный компьютер. После написания программы требуется компиляция (преобр. в коды м/п но не компьютера, а того м/п, который в БУ). Когда один м/п делает коды для другого - кросс-компилятор.

Средства отладки - симуляторы - компьютер имитирует выполнение «чужой» программы, что позволяет проследить прохождение отдельных фрагментов программы.

Более мощным средством являются эмуляторы. В данном случае компьютер разработчика выполняет роль м/п в БУ. Для этого в компьютер вставляется специальная плата, от которой идут провода к испытуемому БУ. Куда подключаются эти провода?- Из БУ удаляется м/п, и взамен него вставляется разъем от платы эмулятора. Компьютер разработчика вместе с платой эмулятора полностью имитирует работу настоящего м/п, который удален из БУ. Спрашивается - зачем? Что, - настоящий м/п плохо справляется со своей работой? - Регистры, ячейки памяти, интересующие программиста становятся ему видны. Принципиально все средства отображения компьютера разработчика становятся как бы частью БУ.

А где находится программа для БУ? - Возможно расположение в ОЗУ вместо ПЗУ, но на плате БУ обязательно. Обновление программы возможно либо заменой ПЗУ, либо перекачкой программы в БУ специальными средствами, которые естественно окажутся ненужными при серийном выпуске.

Помимо эмуляторов возможны менее дорогостоящие решения для отладки программ - Notebook +средства связи между БУ иNotebook.

С середины 90-годов практически все производители микропроцессоров и микроконтроллеров интегрируют в кристалл средства отладки и управления ядром по стандарту JTAG. С помощьюJTAGможно не только производить полноценную отладку, аналогичную возможностям эмулятора, но и программироватьFLASH-память, несмотря на то, чтоJTAGинтерфейс занимает от 4 до максимум 10 физических контактов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]