Аппаратные и программные


Механизмы реального времени



Download 3,23 Mb.
Pdf ko'rish
bet16/179
Sana24.02.2022
Hajmi3,23 Mb.
#234030
TuriУчебное пособие
1   ...   12   13   14   15   16   17   18   19   ...   179
1.2 Механизмы реального времени 
1.2.1 Таймер 
Таймер позволяет производить отсчет временных интервалов заданной 
продолжительности. Принцип действия таймера основан на двоичном счетчике, 
с возможностью предварительной записи исходного значения. После каждого 


21 
такта синхросигнала счетчик прибавляет или отнимает единицу от имеющегося 
у него значения. При достижении нуля (то есть при переполнении), счетчик 
вырабатывает активный уровень на выходе. Как правило, выходной сигнал 
таймера заводят на вход запроса прерывания микропроцессора или контроллера 
прерываний. 
В большинстве современных встроенных систем таймеры используются в 
качестве основы для организации системы разделения времени на базе 
переключателя задач. В данном случае таймер используется в паре с 
механизмом прерываний [5]. 
1.2.2 Устройство захвата-сравнения 
Устройство захвата-сравнения предназначено для измерения периодов и 
длительностей импульсов, скважности, а также для генерации импульсов. С 
помощью этого модуля можно получить широтно-импульсную (ШИМ) и 
фазовую модуляцию (ФМ). 
1.2.3 Сторожевой таймер 
Допустим, в нашей системе есть некий процесс, выполняющий какую-либо 
полезную задачу. Назовем его прикладным или наблюдаемым процессом. Если 
процесс выполняет важную целевую функцию, то прекращение его 
деятельности может привести к остановке работы всей встроенной системы, то 
есть к сбою. Если не принять особых мер по обнаружению таких ситуаций, 
встроенная система может работать некорректно в течении достаточно долгого 
времени. Для вывода систем из сбойного состояния и приведения её в 
нормальный режим функционирования обычно используют сторожевой таймер. 
Таким образом, сторожевой таймер является механизмом защиты системы 
от сбоев.
Рассмотрим работу сторожевого таймера подробнее. В работе участвуют 
три процесса: наблюдаемый прикладной процесс, процесс сторожевого таймера 
и служебный процесс, реализующий механизм защиты системы от аварийных 
ситуаций. Суть механизма сторожевого таймера состоит в проверке критерия
по которому можно определить, что наблюдаемый процесс работает 
нормально. Если сторожевой таймер обнаруживает, что с наблюдаемым 
процессом все в порядке, то ничего не происходит. Если сторожевой таймер 
определил, что с наблюдаемым процессом что-то не так, происходит передача 
информации системе разрешения аварийных ситуаций, которая, в свою 
очередь, принимает решение о дальнейшей судьбе наблюдаемого процесса.
В самом примитивном варианте в качестве сторожевого таймера выступает 
обычный вычитающий счетчик. Во время инициализации в счетчик 
записывается какое-либо значение. Если в процессе работы в счетчик 
эпизодически вносится новая константа, то ничего не происходит. Если же 
прикладной процесс не успевает записать константу, и счетчик успевает 


22 
досчитать до нуля, вырабатывается сигнал аппаратного рестарта и процессор 
перезапускается. Естественно, простой вариант реализации сторожевого 
таймера не является 100% гарантией от выхода системы из сбойного состояния. 
Рассмотрим типичную ошибку, допускаемую программистами при 
использовании 
простого 
сторожевого 
таймера. 
Для 
того, 
чтобы 
контролируемый процесс прекратил работу, достаточно вставить код 
обновления счетчика сторожевого таймера внутрь цикла проверки, который 
будет всегда давать ложное значение из-за какой-либо ошибки (в аппаратуре 
или программе). 
while( device_ready() == 0 ) reset_watchdog_timer(); 
Если функция device_ready всегда будет возвращать ноль, то мы 
бесконечное время будем сбрасывать сторожевой таймер, и система будет 
всегда находиться в состоянии сбоя. 
Нужно заметить, что в большинстве микроконтроллеров реализована 
самая простая схема работы сторожевого таймера. Для её нормальной работы 
нужна дополнительная, сложная программная обработка. 
Ещё одним неудобством простой схемы сторожевого таймера является 
выработка аппаратного сигнала рестарта (RESET). В большинстве случаев 
гораздо корректнее производить повторную инициализацию или рестарт одной 
или нескольких взаимосвязанных частей системы, а полный горячий рестарт 
осуществлять только при каких-либо фатальных сбоях. 

Download 3,23 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   179




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish