АЛЛГОРИТМ ПРОГРАММЫ ФУНКЦИОНИРОВАНИЯ УСТРОЙСТВА.



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

АЛЛГОРИТМ ПРОГРАММЫ ФУНКЦИОНИРОВАНИЯ УСТРОЙСТВА.



Алгоритм работы программы демодулятора показан на рис 48. В демодуляторе используется два прерывания: по переполнению таймера и по изменению сигнала на входе порта «B0». После пуска и инициализации программа выполняет постоянную индикацию. В дежурном режиме регистр индикации нулевой и все сегменты индикации будут иметь нулевое значение. Для семисегментного индикатора с общим катодом это равносильно выключению индикатора.

В дежурном режиме радиоохраны с компаратора приемника будут поступать импульсы на входе RB0 с интервалом в одну секунду. С такой же частотой будет происходить прерывания: по входу RB0. После сохранения значений регистров определяется, почему произошло прерывание. Если прерывание произошло не по переполнению таймера, то проверяется длительность входного импульса. Если длительность импульса короче, чем половина длительности импульса посылки с передатчика (т. е. 1,34 мс), то такой импульс воспринимается как помеха и не подсчитывается счетчиком. Если длительность импульса больше 1,34 мс, то обнуляется таймер, предделитель и счетчик миллисекунд. Если флаг переполнения включен (было переполнение), то инкрементируется регистр счета. Далее процессор проверяет значение регистра счета. Если в регистр записано 20 и более импульсов, то регистр обнуляется и включается звуковой сигнал. Ситуация, когда на счетчик приходит 20 импульсов, принята аварийной. Это возможно при работе радиоохраны в зоне повышенных помех или помех, которые наводятся специально.

Каждые 0,125 секунды может происходить прерывание от переполнения таймера. За одну секунду между импульсами, поступающими на вход RB0, произойдет 8 прерываний по переполнению таймера. При каждом прерывании будет инкрементироваться счетчик миллисекунд. Но поскольку коэффициент деления счетчика миллисекунд равен 11, то переполнения счетчика за одну секунду не будет. А каждая новая секунд будет начинаться с обнуления таймера и счетчика миллисекунд. При значении счетчика, равном 5 (0,6 с), переписывается значение регистра счета в регистр индикации. Это необходимо для того, чтобы при выходе передатчика из аварийного режима обнулялось предыдущее значение регистра счета. Далее проверяется значение регистра индикации, чтобы оно не превышало число 12. Если значение регистра индикации равно или больше 12, то регистр обнуляется. Последующая проверка регистра счета на число 20 является дублирующей аналогичную проверку при инкрементировании регистра счета.

При значении счетчика миллисекунд, равном 7 (0,88 с), выключается звуковой сигнал, если он был включен, и сбрасывается флаг переполнения (рис. 48.1). Это также необходимо для нормального выхода из аварийного режима, поскольку эти операции (при значении счетчика 5 и 7) выполняются в интервале времени, равном 1 секунде.

Если после последнего импульса, пришедшего на вход, прошло более 1 секунды, точнее, 1,125, а это соответствует значению счетчика миллисекунд, равному 9, включится звуковой сигнал и установится флаг переполнения. Включение флага переполнения разрешает подсчет входных импульсов. А при каждом входном импульсе сбрасывается счетчик миллисекунд, таймер и предделитель. Поэтому значение счетчика миллисекунд, равное 11, возможно только тогда, когда приемник выходит из зоны действия передатчика или если передатчик прекратил функционирование. В этой ситуации счетчик миллисекунд обнуляется, а звуковой сигнал уже включен.

Таким образом, при поступлении импульсов на вход RB0 каждую секунду, что свидетельствует о нормальной работе охраны, сигнал тревоги включаться не будет, а цифровой индикатор не будет светиться. При размыкании любого из датчиков произойдет переполнение счетчика миллисекунд, включится сигнал, а на индикаторе можно наблюдать номер сработавшего датчика.

Схема демодулятора показана на рис. 49. Вход RB0 подключается к выходу компаратора приемника. Выход компаратора должен быть с уровнями ТТЛ. Остальные выводы порта «В» задействованы под выход сегментов индикатора.

К выходу RA4 подключается зуммер НСМ1206х. Кнопка SA1 включает индикатор. Резистор R1 необходимо подобрать по приемлемой яркости для свечения 3—4 сегментов. Тогда один сегмент будет светиться ярче, а восемь сегментов будут светиться слабее.

Для наглядности алгоритма работы программы демодулятора рассмотрим диаграмму, показанную на рис. 50 (для наглядности на диаграмме масштаб не соблюдается). В дежурном режиме каждое включение несушей передатчика сопровождается выдачей импульса модуляции. Импульс модуляции с выхода компаратора приемника будет поступать на демодулятор через одну секунду. В аварийном режиме несущая передатчика будет включаться только на время «U для формирования импульсов с числом, равным номеру датчика. Учитывая, что период импульсов равен 5,37 мс, максимальное значение «t» будет приблизительно равно 0,06 мс (11 импульсов). А максимальное значение длительности паузы между импульсами будет равно 2 - 0,06 = 1,94 с. Счетчик миллисекунд демодулятора до включения аварийного режима имеет коэффициент деления, равный 9, поэтому переполнение счетчика будет происходить через 1,125 секунды, что гораздо меньше максимального значения паузы.

При первом переполнении счетчика миллисекунд включается флаг переполнения. После включения флага переполнения начинает заполняться регистр счета. Перезапись в регистр индикации производится спустя 0,6 с после прихода последнего импульса. Таким образом, индикация обновляется каждые две секунды.

Если число импульсов, поступивших с компаратора, больше И, то результат не выводится на индикатор как заведомо ложный. Такой вариант возможен при высоком уровне помех. Но даже и в этом случае включение звукового сигнала будет свидетельствовать о несанкционированном вторжении на охраняемый объект. При поступлении более 20 импульсов при любом значении флага переполнения включится тревожный сигнал. Это сделано для того, чтобы невозможно было вывести систему из строя путем подачи непрерывного сигнала помехи.

При экспериментировании с подачей сигнала сильной помехи по общему проводу наблюдался самопроизвольный переход микроконтроллеров в режим повышенного энергопотребления. Это я объясняю самопроизвольной переустановкой регистра, который определяет установку входа как выход (TRISA, TRISB). Поэтому последовательно охранным датчиком желательно установить токоограничивающие резисторы номиналом 200 Ом. Сами микроконтроллеры необходимо подключать к питанию через резистор номиналом 100 Ом.

Перед подключением радиоохраны к приемнику и передатчику желательно проверить ее на совместную работу. Для этого необходимо выход несущей и модуляции с модулятора подать на входы логического элемента микросхемы К561ЛА7 и, инвертировав сигнал еще одним элементом, подать на вход демодулятора. При проверке индикации число 10 на индикаторе высвечивается нижней чертой (сегмент d), а число 11 — средней чертой (сегмент g).

Все временные характеристики приведены для случая использования кварцевого резонатора на частоту 32768 Гц. Но если у вас и у соседа будут одинаковые охранные системы, то трудно будет определить, чья из двух сработала. Поэтому, кроме различных частот несущей, можно установить различные значения кварцевых резонаторов. Мною успешно опробованы кварцевые резонаторы на частоты до 4 МГц. Главное условие, чтобы модулятор и демодулятор имели одинаковые значения по номиналу. То есть специального подбора кварцев не требуется. Однако если во время проверки с нормально замкнутыми датчиками включится звуковой сигнал, то необходимо поменять местами кварцевые резонаторы. То есть кварц из демодулятора поставить на плату модулятора и наоборот. Из двух одинаковых кварцев один окажется с большей частотой. Соответственно все временные характеристики с другим кварцем будут в столько же раз больше (меньше), в сколько раз «новый» кварц имеет меньшую (большую) частоту. Для кварца 4 МГц все параметры уменьшатся в 122 раза (4000000/32768 = 122). Так, например, 1 с превратится в 8 мс. Конечно, на меньших частотах система более помехозащищенная.

Рис. 5 . Алгоритм работы программы демодулятор для радиоохраны.
Выкл. Сигнал
Вкл. Сигнал
Сч. Ms = 0
Флаг = 0
Флаг = 1
Восст. Знач. Рег.
Инд. Разряда
Нет
Нет
Нет
Да
Рег. Счета=Рег.Инд.
>12?
Рег. Индикации =0
>20?
Вкл. Сигнал
Рег. Счета = 0
Да
Вкл. Предделителя К=4
Вкл. TMR0 K=256
+1 В счетчик ms K=11
-5?
-7?
Нет
ПУСК
Инициализация
>
Нет
>
Да
Да
Нет
Нет
Да
Импульс С RB0
Сохр. Регистров
TMRO?
t=1,34?
TMR0 = 0 СТ. ms = 0
Флаг=0?
Регистр счета +1
>20?
Вкл. Сигнал
-9?
-11?
Восст. Знач. Рег.
Да
Нет
Да
Нет
Да
Нет
Да
Да

 

 


 

 

Рис. 5 . Алгоритм работы программы демодулятор для радиоохраны.



Последнее изменение этой страницы: 2016-04-23; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.236.50.173 (0.012 с.)