4.3 Носимая подсистема

Носимая подсистема базируется на шифраторе динамического кода HCS300 фирмы Microchip. Структурная схема HCS300 приведена на рис.4.7. Цоколевка корпуса и назначение выводов показано на рис.4.8.


Рис.4.7. Структурная схема HCS300.

Данная микросхема осуществляет съем информации с клавиатуры, подключаемой ко входам S0, S1, S2, кодирование динамическим кодом, выдачу информации через асинхронный последовательный порт PWM, световую сигнализацию режима передачи кода светодиодом, подключенным к выходу LED.

Рис.4.8. Цоколевка корпуса и назначение выводов HCS300.


Микросхема питается от источника напряжения 2,0…6,3В. Она автоматически входит в режим SLEEP и автоматически выходит из него при нажатии хоть одной клавиши.

В процессе проектирования в HCS300 заносится следующая информация, которая хранится во встроенной энергонезависимой памяти:

-              Ключ шифрования (64 бита);

-              Текущее значение счетчика синхронизации (16 бит);

-              Серийный номер (28 бит)

-              Установка скорости передачи.

Данная информация не может быть потом считана, ее можно только перезаписать.

Передача информации в радиоканал осуществляется с помощью передающего радиомодуля TX-SAW-I.A со встроенной антенной. Фильтрация и развязка питания, подаваемого на радиомодуль, такая же как в бортовой подсистеме автомобиля.

Управление питанием передающего радиомодуля осуществляется с помощью электронного ключа, выполненного на полевом транзисторе. Передатчик необходимо включать только во время передачи кодовой посылки. Напряжение, необходимое для срабатывания ключа будем снимать выхода для подключения светодиода, потому что при нажатии любой кнопки на выходе LED будет логический ноль. Так как электронный ключ должен срабатывать от логического нуля, то в качестве коммутирующего элемента надо брать полевой транзистор с индуцированным каналом р-типа. Для этой цели подходит транзистор КП301Б. На его сток подадим напряжение питания +5В. К истоку подключим передающий радиомодуль. При подаче на затвор транзистора логического нуля с выхода LED сопротивление исток-сток упадет до 6 Ом. Следовательно, при потребляемом передатчиком токе 4 мА падение напряжения на нашем коммутирующем элементе, включённом последовательно в цепи питания, составит не более 0,02 В.

В качестве светодиода HL применим светоизлучающий диод АЛ102Г желтого цвета свечения с силой света не менее 200 мккд [37]. Он включается непосредственно между выводами VDD и LED шифратора HCS300.

Питание всей носимой подсистемы пользователя осуществляется от портативного источника питания с суммарной ЭДС +5 В. Так как в режиме ожидания основной потребитель энергии – шифратор (передающий радиомодуль практически ничего не потребляет потому что сопротивление закрытого транзистора очень велико), а он автоматически переводится в режим пониженного энергопотребления и потребляет ток менее 1 мкА, поэтому механический выключатель питания использоваться не будет.

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


5.                 РАЗРАБОТКА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ

5.1 Разработка схемы алгоритма управляющей программы

Одним из этапов получения текста исходной программы является разработка общей схемы алгоритма (СА) работы микроконтроллера. На языке алгоритмов надо описать метод, выбранный для решения поставленной задачи. Способ решения задачи, выбранный на этапе её инженерной интерпретации, на основе которого формируется СА, определяет не только качество разрабатываемой прикладной программы, но и качественные показатели конечного изделия. В основу разработки СА положена та же самая процедура модульного проектирования, которая традиционно используется разработчиками аппаратурных средств.

СА работы состоит из следующих элементов: “Начало”, “Инициализация”, “Проверка слова состояния (СС)”. В зависимости от слова состояния (СС) программа переходит в один из трех режимов работы. Так при СС=1 активизируется режим «Охрана», при СС=2 – режим «Тревога», при СС=3 – режим «Ожидание». Схема алгоритма работы представлена на рис.5.1.

Инициализация заключается в выборе режимов работы отдельных элементов структуры PIC-контроллера и в установке необходимых регистров.


Рис.5.1. Схема алгоритма работы управляющей программы.

Рассмотрим подробнее алгоритмы работы системы в каждом из трех режимов. Схема алгоритма подпрограммы режима «Охрана» представлена на рис.5.2.


Рис.5.2. Схема алгоритма режима «Охрана».

Для удобства описания введем следующие логические переменные RPR1, RPR2, RPR3, RPR4, RPRTMR1. Они будут показывать разрешены или запрещены ли прерывания от датчиков дверей, УЛЗ датчика, датчика ударов, детектора правильного кода и от таймера соответственно.


Рис.5.3. Схема алгоритма RZINT.

Если они будут равны «1», то прерывания разрешены, если «0», то прерывания запрещены. Сначала режима «Охрана» блокируется зажигание выдачей на порт RA1 логической единицы. Далее разрешаются прерывания от всех датчиков и от детектора правильного кода и программа переходит в режим ожидания прерываний, выдавая с периодом 1с сигналы включения и выключения светодиода. При наличии какого либо из разрешенных прерываний, программа переходит к подпрограмме определения источника и приоритета прерываний RZINT, структурная схема алгоритма которой показана на рис.5.3.

Введем логический флажок F, который будет указывать источник прерывания. Если F=1, то прерывание вызвано изменением состояния датчика открывания дверей; если F=2, то изменением состояния УЛЗ датчика; если F=3, то изменением состояния датчика ударов; если F=4, то источник прерывания- таймер; если F=5, то источник – детектор правильного кода. Начинается подпрограмма RZINT с запоминания переменных RPR1, RPR2, RPR3, RPR4, RPRTMR1. Затем запрещаются все прерывания. Далее следует проверка источника прерывания. Очередность проверок определяет приоритеты прерываний. В нашем случае она следующая: от датчика открытия дверей, от УЛЗ датчика, от датчика ударов, от таймера и наконец от детектора правильного кода.

Обработка прерывания от датчика открытия дверей происходит следующим образом. Проверяется состояние порта RB5, к которому подключены соответствующие датчики. Если на порте присутствует логический ноль, то принимается решение о наличии посягательства на автомобиль, при этом слову состояния присваивается значение 2, что соответствует режиму «Тревога» и после восстановления переменных RPR1, RPR2, RPR3, RPR4, RPRTMR1 управление передается головной программе к метке START.

Обработка прерывания от УЛЗ датчика происходит по такому же алгоритму.

При возникновении прерывания от датчика ударов выдается короткий звуковой сигнал сиреной. Затем счетчик ударов SU уменьшается на единицу и производится проверка: равен ли счетчик ударов нулю. Изначально счетчик ударов SU равен 2. Если SU не равен 0, то запускается подпрограмма задержки на 3 секунды. После этого SU опять присваивается значение 2 и происходит выход из подпрограммы. Если за эти 3 секунды опять произошло прерывание, то счетчик ударов будет равняться нулю после очередного уменьшения на единицу. Это приведет к тому, что система интерпретирует эти два срабатывания датчика ударов в течении 5 секунд как посягательство, слову состояния присвоится значение 2, и произойдет выход к метке START. Схема алгоритма подпрограммы обработки прерывания от датчика ударов OPDU приведена на рис.5.4.

Рис.5.4. Схема алгоритма обработки прерывания от датчика ударов.

При появлении напряжения высокого уровня на порте RB0, происходит прерывание и управление передается подпрограмме обработки прерывания от детектора правильного кода OPPK, схема алгоритма которой изображена на рис.5.5.

Рис.5.5. Схема алгоритма обработки прерывания от детектора правильного кода.

Подпрограмма работает следующим образом. После приема правильной кодовой посылки, дешифратор посылает на порт RC3 в течение 500 мс логическую единицу. Начинается OPPK с разрешения прерываний от датчиков дверей и от УЛЗ датчика, затем производится проверка состояния порта RC3. Если на нем присутствует напряжение низкого уровня, то происходит выход из подпрограммы, если высокого уровня – то принимается решение о приеме дешифратором правильной кодовой посылки. После этого происходит ожидание окончания передачи дешифратором «единицы» и можно перейти к считыванию кода клавиши. Код клавиши помещается в регистр с именем КК. Далее производиться идентификация кода клавиши.

Если КК=1, то считается, что пришел код от клавиши «Постановка/снятие». При этом происходит выключение сирены и мигания габаритных огней и переход к подпрограмме проверки и изменения состояния IS. Если КК=2, то считается, что пришел код от клавиши «Паника». При этом слову состояния присваивается значение 2, соответствующее режиму «Тревога» и происходит выход из подпрограммы.

Если КК=4, то считается, что пришел код от клавиши «AHJ». При этом запускается подпрограмма задержки на 20 секунд, затем слову состояния присваивается значение 2 и происходит выход из подпрограммы к метке START.

Подпрограмма IS начинается с проверки слова состояния. Если СС=3, то это значит, что система находилась в режиме «Ожидание» и производится выдача сигнала на закрытие центральному замку (ЦЗ), подача двух коротких сигналов сиреной, отключение сигнала закрытия ЦЗ, присвоение СС=1 и выход из подпрограммы. Задержки во время выдачи звуковых сигналов достаточно для надежного запирания ЦЗ.

Если СС=2, то это значит, что система находилась в режиме «Тревога» и выдав короткий звуковой сигнал слову состояния присваивается 1 и происходит выход из подпрограммы.

В противном случае (СС не равно ни 3, ни 1), это значит, что система находилась в режиме «Охрана» и производится включение сигнала на открытие ЦЗ, выдача короткого звукового сигнала, запускается подпрограмма задержки на 1 с, выключается сигнал на открытие ЦЗ, слову состояния присваивается значение 3 и происходит выход из подпрограммы.

Схема алгоритма подпрограммы IS изображена на рис.5.6.

Рис.5.6. Схема алгоритма подпрограммы IS.

Схема алгоритма подпрограммы режима «Тревога» приведена на рис.5.7.


Рис.5.7. Схем алгоритма подпрограммы режима «Тревога».

Подпрограмма режима «Тревога» начинается с выдачи сигнала на блокировку зажигания. Далее включается сирена, подпрограмма мигания габаритных огней, запрещаются прерывания от датчиков, устанавливается счетчик передач SPER=5, запрещаются прерывания от детектора правильного кода, устанавливается счетчик посылок SPOS=40, включается передатчик и выдается на него сообщение через асинхронный передатчик. Потом осуществляется уменьшение счетчика посылок и проверка его на ноль. Если SPOS не равен 0, то последние три действия повторяются, если равен, то передатчик выключается, разрешается прерывание от детектора правильного кода, включается подпрограмма задержки на 10 с, уменьшается на единицу SPER и проверяется на равенство нулю. Если SPER не равен нулю, то вновь запрещается прерывания от детектора правильного кода и повторяются вышеперечисленные действия. Если SPER=0, то сирена и габаритные огни выключаются, слову состояния присваивается значение 1 и производится выход из подпрограммы. Общее время работы системы в режиме «Тревога» составляет примерно 1 мин.

Схема алгоритма подпрограммы режима «Ожидание» представлена на рис.5.8. Сначала запрещаются прерывания от всех датчиков и детектора правильного кода. Загружается счетчик попыток SPOP числом 3 и передается управление подпрограмме ввода кода с клавиатуры и его проверки INKEY. Результатом работы подпрограммы INKEY является установка флажка верности KVER. Если KVER=0, то код будет считаться неверным, если KVER=1 – то верным.

Если KVER=0, то осуществляется уменьшение счетчика попыток. Пока SPOP не равен нулю, то повторяется процедура INKEY с метки MET2. Когда SPOP=0, то загружается счетчик сигналов SSIG числом 3. Далее включается на 0,5 с сирена, уменьшается счетчик SSIG и это повторяется пока SSIG не станет равным нулю. После этого слову состояния присваивается значение 1 и происходит выход из подпрограммы.


Рис.5.8. Схема алгоритма подпрограммы режима «Ожидание»


Если KVER=1, то снимается блокировка зажигания, разрешается прерывание от детектора правильного кода и в бесконечном цикле запускается подпрограмма работы с клавиатурой RUNKEY.

Схема алгоритма процедуры INKEY приведена на рис.5.9. В ячейках памяти данных с символическими именами NK0, NK1, NK2 и NK3 будет храниться 4 разряда ключа доступа. В ячейках памяти данных с символическими именами VK0, VK1, VK2 и VK3 будет храниться 4 разряда вводимого ключа доступа. Регистр с символическим именем BUK будет буфером клавиатуры и в нем будет храниться набранное на клавиатуре число.

Процедура INKEY начинается с загрузки счетчика сбросов SSBR числом 114. Затем разрешается прерывание от таймера и запускается сам таймер с предделителем на 8. С помощью него задается время, отведенное на набор кода. Оно равно примерно 1 минуту. Далее проверяются ячейки памяти NK0, NK1, NK2 и NK3.

Если во всех их содержатся нулевые значения (сразу после инициализации), то подпрограмма переходит к начальному вводу ключа. Делается это так. Производится опрос клавиатуры и ожидается нажатие клавиши с кодом 11 «Е». Как только это произошло, выдается сигнал на включение светодиода, загружается счетчик нажатий клавиш SN числом 4. После осуществляется ввод четырех первых кодов и последовательный занос их в ячейки памяти NK0, NK1, NK2 и NK3. После четырех нажатий выдается сигнал на выключение светодиода, устанавливается флажок KVER=1 и производится выход из подпрограммы.

Если в ячейках памяти NK0, NK1, NK2 и NK3 содержится ненулевой ключ, то подпрограмма переходит к вводу ключа и его проверки. Делается это так. Производится опрос клавиатуры и ожидается нажатие клавиши с кодом 10 «Т». Как только это произошло, выдается сигнал на включение светодиода и производится последовательный ввод ключа в ячейки памяти VK0, VK1, VK2 и VK3, до нажатия клавиши с кодом 11 «Е». После нажатия этой клавиши нажатий.

Рис.5.10. Схема алгоритма подпрограммы INKEY.


выдается сигнал на выключение светодиода, запускается процедура проверки PROV и происходит выход из подпрограммы.

Структурная схема алгоритма подпрограммы PROV приведена на рис.5.11.

Рис.5.11. Структурная схема алгоритма подпрограммы PROV

В ней производится последовательное сравнение содержимого ячеек памяти VK0, VK1, VK2 и VK3 с содержимым ячеек NK0, NK1, NK2 и NK3 соответственно. При совпадении содержимых устанавливается флажок KVER=1, в противном случае KVER=0 и происходит выход из подпрограммы.

Прерывания от таймера обрабатывает подпрограмма OPTMR1. Структурная схема алгоритма приведена на рис.5.12. Она начинается с уменьшения счетчика сброса SSBR на единицу. Далее следует проверка на ноль. Если SSBR=0, то осуществляется запрет прерывания от таймера и переход на метку MET1, в противном случае происходит запуск таймера с предделителем на 8 и выход из подпрограммы.

Рис.5.12. Структурная схема обработки прерывания от таймера TMR1

Структурная схема подпрограммы работы с клавиатурой RUNKEY приведена на рис.5.13. Начинается подпрограмма с опроса клавиатуры. Затем осуществляется анализ кода нажатой клавиши.

Если он равен 10, то это значит, что нажата клавиша «Т» - «передача». При этом подается сигнал на включение светодиода, запрещается прерывания от детектора правильного кода, включается передатчик, осуществляется передача идентификационного номера автомобиля, для контроля доступа на охраняемую автостоянку, выключается передатчик, разрешаются прерывания от детектора правильного кода, включается подпрограмма задержки на 0,5 секунды, выключается светодиод и вновь осуществляется опрос клавиатуры.

Если код нажатой клавиши не равен 10, то запускается режим AHJ. При этом загружается счетчик сбросов SSBR числом 57, разрешается прерывание от таймера, запускается таймер с предделителем на 8, подается сигнал на включение светодиода, сбрасывается содержимое ячеек памяти VK0, VK1, VK2 и VK3 в ноль и передается управление подпрограмме INKEY по метке MET2.

Рис.5.13. Структурная схема алгоритма подпрограммы RUNKEY.



Информация о работе «Микропроцессорная система охранной сигнализации автомобиля»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 109723
Количество таблиц: 12
Количество изображений: 32

Похожие работы

Скачать
122653
9
15

... ставкам. 7.2. Локальная смета Таблица 5. Наименование стройки – музей Г.Р. Державина по адресу: наб. р.Фонтанки, 118. ЛОКАЛЬНАЯ СМЕТА на приобретение, монтаж и пусконаладочные работы системы охранной сигнализации Сметная стоимость - 1365,059 тыс.руб Нормативная трудоемкость - 6652,87 чел-ч Сметная заработная плата - 415,896 тыс.руб Составлена в ценах 2005 г. № ...

Скачать
98975
2
0

... информации о количестве полученной потребителем или выработанной производителем тепловой энергии, температуре, давлении, объеме (массе) теплоносителя и о времени работы в открытых и закрытых водяных системах теплоснабжения при давлениях до 1,6 МПА (16 кгсм2) и температурах до +150 °С. Область применения - теплоэнергетика, системы коммерческого учета расхода горячей воды и тепловой энергии, ...

Скачать
56862
6
17

... настройки процесса работы МП. - микроконтроллер – ядро всего устройства, содержащее необходимую информацию в виде программного кода, записанного во встроенное ПЗУ, в котором прописан алгоритм работы системы. - считыватель ключей – устройство, с помощью которого система сигнализации ставится/снимается в режим охрана. 8)  Конструкторские требования (габариты, установочные, присоединительные ...

Скачать
167649
57
1

... сигналами времени. Ядро предлагает интерфейс для программирования приложения с целью получения функций в виде отдельных программ. 1.2 Разработка автоматизированной системы управления электроснабжением КС «Ухтинская» 1.2.1 Цель создания АСУ-ЭС Целью разработки является создание интегрированной АСУ ТП, объединяющей в единое целое АСУ электрической и теплотехнической частей электростанции, ...

0 комментариев


Наверх