Чтение онлайн

на главную - закладки

Жанры

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Пак Дэниэл Дж.

Шрифт:

}

//******************************************************************

//process_valid_input_PORTB: проверка состояния переключателей на

//лицевой панели,длительностью не менее 50 мс

//******************************************************************

int process_valid_input_PORTB(unsigned char portx) {

 int valid_input; //установить флаг ошибочного входа

 unsigned int current_count;

 valid_input = TRUE;

 current_count = TCNT; //
задать текущее состояние

 while (TCNT < (current_count+12500)){ //отследить активный вход за 50 мс

if (portx==PORTB) valid_input = TRUE;

else valid_input = FALSE;

if (!valid_input) break; //цикл while

 }//конец while

 return valid_input;

}

//******************************************************************

//******************************************************************

8.8.3. Испытание контроллера усилителя

Проверять программное обеспечение целесообразно при работе с имитатором усилителя, как мы уже упоминали в главе 2. Воспроизведем снова схему имитатора усилителя для удобства на рис. 8.20. На дешевом имитаторе можно провести полное испытание алгоритма управления, проверив его работу при мыслимых сценариях.

Рис. 8.20. Имитатор усилителя

8.9. Другая прикладная программа: цикл опроса с прерываниями

В этой программе мы разработаем приоритетную часть системы опроса с передним планом и фоном, позволяющей предотвратить перегрев транзисторов в стереоусилителе. Система приведена на рис. 8.21. Температура транзистора постоянно контролируется датчиком температуры LM34 (в пластмассовом корпусе), приклеенным к металлическом корпусу ТО K-220 мощного транзистора. Напряжение на выходе датчика линейно связано с его температурой (коэффициент 10 мВ/С).

Рис. 8.21. Транзисторные системы обнаружения перегрева

Выход LM34 подан к один из входов аналогового компаратора, построенного на ОУ. На другой вход подается опорное напряжение, задающее порог температуры. Когда температура мощного транзистора достигает этого порога, на входе системы прерывания микроконтроллера появляется активный сигнал низкого уровня формирующий запрос на прерывание IRQ.

При обработке запроса на прерывание, PORTX[0] формируется импульс с активным высоким уровнем, подключающий дополнительный вентилятор через мощный МОП-транзистор IRF530. Можно предусмотреть определенную задержку в программе обработки прерывания и затем и затем выключить вентилятор. Когда температура транзистора упадет ниже установленного предела, вывод запроса на прерывание перейдет на высокий логический уровень, возвращая процессор к выполнению основной программы.

Если температура транзистора упадет до безопасного уровня процессор продолжит нормальную работу, (при этом на входе запроса на прерывание установится сигнал высокого уровня), а при превышении температуры снова инициализирует прерывание (установится непрерывный низкий уровень на входе запроса на прерывание). Мы предлагаем вам самостоятельно разработать программу для системы, использующей прерывания, в качестве задания для самостоятельной работы (задание 2).

8.10. Сложное прикладное устройство: имитатор ОСРВ

8.10.1. Краткий обзор проекта

Некоторые из продвинутых алгоритмов планирования

в режиме реального времени достаточно сложно выполнить. Сложность частично заключается в том, что внутренняя операция этих программ не визуализирована. Имитатор ОСРВ, показанный на рис. 8.22 может использоваться как помощь в разработка ОСРВ.

Рис. 8.22. Имитатор ОСРВ

Имитатор состоит из набора блоков для 16 задач: пронумерованных в шестнадцатеричной системе от задачи 0 до задачи F. Каждый из таких блоков выполнен на микросхеме регистра с защелкой 74HC573. Состояние пересылается в регистр, где оно сохраняется вплоть до изменения. Состояние каждой задачи отображается набором светодиодов. Только один светодиод высвечивается в любой момент для каждой задачи. Мы использовали схему драйвера для светодиодов, рассмотренную в главе 5 для каждого из регистров 74HC573.

Схема симулятора приведена на рис. 8.23. Демультиплексор 4 в 16 (74HC154) используется, чтобы выбрать отдельную задачу. Двоичный «адрес» задачи задается микропроцессором на входных линиях демультиплексора. В любой момент времени только один его выход находится в активном низком состоянии и, следовательно, выбирается только одна задача.

Рис. 8.23. Аппаратное обеспечение симулятора ОСРВ

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

Чтобы облегчить понимании концепций ОСРВ, обратимся снова к относительно гибким, быстро изменяющимся и просто визуализируемым сценариям с дилерским обслуживанием автомобиля, обслуживанием многих заказчиков официантом или даже к системе защиты в большой гостинице. Любые из этих примеров могут использоваться, чтобы иллюстрировать различные алгоритмы планирования.

Например, используемый автомобиль (задача) может иметь свойственный контекст, состоящий из года изготовления, модели, номера и показаний одометра. Автомобиль (задача) может находится в различных состояниях, идентичных состояниям задач (готовности, бездействия и т.д). После изготовления автомобиля, он может быть готов для продажи (готовность), проходить испытания (активность), недоступен из-за обслуживания (ожидание), продан (бездействие), и т.д. Состояние нескольких автомобилей (задач) может быть визуально отображено на имитаторе ОСРВ (до 16 задач). Новое состояние сценария может вводиться пользователем с шестнадцатеричной вспомогательной клавиатуры. Новое состояние можно показывать на ЖКД, а изменение списков с указателями получаемых при изменении состояния может быть отображено на экране ПК [Barrett 20041].

8.10.2. Типовой код

Детальное описание имитатора ОСРВ выходит за рамки данной книги. В этом разделе мы просто приведем код, позволяющий отображать и изменять состояние каждой из задач.

Функция update_task_status требует в качестве параметров идентификационного номера задачи и кода желательного изменения состояния задачи. Специфическая задача используется, чтобы конфигурировать

PORTA[3:0]
правильным четырехразрядным двоичным кодом, который подается на микросхему 74HC154 декодера 4–16. Когда на демультиплексор подается код через выходной порта
PORTA[7]
, активируется триггер-защелка, соответствующий выбранной задаче. Это позволяет передать модифицированное состояние задачи, представленное на выходах порта T контроллера 68HC12 на светодиоды и, таким образом, показать состояние задачи на дисплее.

Поделиться:
Популярные книги

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Отморозки

Земляной Андрей Борисович
Фантастика:
научная фантастика
7.00
рейтинг книги
Отморозки

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Надуй щеки! Том 2

Вишневский Сергей Викторович
2. Чеболь за партой
Фантастика:
попаданцы
дорама
фантастика: прочее
5.00
рейтинг книги
Надуй щеки! Том 2

Новый Рал 7

Северный Лис
7. Рал!
Фантастика:
попаданцы
5.00
рейтинг книги
Новый Рал 7

Камень. Книга вторая

Минин Станислав
2. Камень
Фантастика:
фэнтези
8.52
рейтинг книги
Камень. Книга вторая

По воле короля

Леви Кира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
По воле короля

Фею не драконить!

Завойчинская Милена
2. Феями не рождаются
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Фею не драконить!

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь

Идеальный мир для Лекаря 22

Сапфир Олег
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 22

Новый Рал 3

Северный Лис
3. Рал!
Фантастика:
попаданцы
5.88
рейтинг книги
Новый Рал 3

Ученик. Книга 4

Первухин Андрей Евгеньевич
4. Ученик
Фантастика:
фэнтези
5.67
рейтинг книги
Ученик. Книга 4

Ворон. Осколки нас

Грин Эмилия
2. Ворон
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ворон. Осколки нас