Архив
Главная » Архив » 2010 » №2 » Устройство электронной печати на базе микроконтроллера MSP430

Устройство электронной печати на базе микроконтроллера MSP430

Рубрика: Texas Instruments
Валерий Жижин (ЗАО «ИПК «СТРАЖ»)
В статье идет речь о новом устройстве ограничения доступа в помещения – электронной печати. Рассматриваются алгоритм его функционирования и реализация на микроконтроллере MSP430F1232 компании Texas Instruments. Приводятся принципиальная схема устройства, алгоритм работы и фрагмент листинга программы на языке Си, а также результаты двухлетнего тестирования опытного образца.

В наше время на мировом рынке систем ограничения доступа в офисные и производственные помещения идет активное вытеснение механических замков электронными и электронно-механическими. Уже получили распространение «замки-невидимки» с дистанционным управлением, замки с блокировкой/разблокировкой от встроенной в ключ и замок RFID-системы. Тем не менее, в большинстве российских, особенно государственных, учреждений, по-прежнему используются механические замки различной степени сложности и архаичный метод аутентификации - опечатывание с помощью пластилина. Недостатки, присущие этому методу, очевидны: легкость изготовления поддельной печати; невозможность фиксации момента времени открытия/опечатывания; невозможность быстрой замены печати в случае ее утраты и т. д.

Чтобы повысить индивидуальный уровень защиты помещения, не прибегая к установке дорогих запорных систем с кодовой аутентификацией, было разработано недорогое устройство электронной печати - замена «пластилиновому» методу. Использование данного устройства не требует замены или какой-либо доработки существующего механического замка в данном помещении.

Принцип действия и алгоритм работы электронной печати заключается в следующем: в процессе опечатывания корпус устройства накладывается на замочную скважину, блокируя ее входное отверстие. Установка устройства производится на две металлические втулки, размещенные сверху и снизу относительно замочной скважины, в верхние части которых вмонтированы постоянные магниты Nd-Fe-B. Это единственный способ доработки наружной поверхности корпуса замка.

Магниты выполняют двойную функцию: осуществляют фиксацию и удержание корпуса электронной печати на скважине замка; являются элементами датчика присутствия устройства, реализованном на цифровом омниполярном датчике Холла А3212 компании Allegro Microsystems Inc. При установке устройства на металлические втулки происходит его активация. При этом в течение 7 секунд индицируется сгенерированный псевдослучайный цифровой код печати и начинается отсчет времени. При нажатии на контрольную кнопку происходит индикация кода печати и интервала времени с момента опечатывания. Для перезапуска устройства достаточно его снять и снова поставить.

Алгоритм работы электронной печати состоит в следующем:

1. Печать снята с корпуса замка - выход датчика Холла «0 р 1», микроконтроллер - в SLEEP-peжиме. Каждую секунду происходит прерывание от интервального таймера.

В подпрограмме обработки прерывания _interrupt void watchdog_timer (void) реализуются следующие функции:

  • генерация последовательности пяти псевдослучайных чисел (функция rand);
  • запись значений минут и часов в соответствующие ячейки;
  • выход из подпрограммы прерывания в SLEEP-peжим.

2. Устройство активизировано - выход датчика Холла «1 р 0», генерация прерывания. В подпрограмме обработки прерывания _interrupt void port1_ISR (void) происходит:

  • останов таймера;
  • запись последних пяти сгенерированных псевдослучайных чисел в буфер sens;
  • отображение на LED индикаторе числа «печати» из буфера sens;
  • обнуление и запуск таймера;
  • выход из подпрограммы прерывания в SLEEP peжим.

3. При нажатии на кнопку контроля - генерация нового прерывания _interrupt void port2_ISR (void):

  • останов таймера;
  • отображение в течение 3 секунд на LED индикаторе числа «печати» из буфера sens;
  • отображение в течение 3 секунд интервала времени с момента установки печати; формат отображения времени «00 минут: 00 часов» (0...59 минут, 0...99 часов).
  • перезапуск таймера (с точки останова);
  • выход из подпрограммы прерывания в SLEEP-peжим.

Для обеспечения режима минимального энергопотребления устройства LED-индикатор используется в режиме динамической индикации.

Предлагаемый алгоритм работы электронной печати позволяет не только определить факт несанкционированного доступа в помещение (при съеме/установке устройства генерируется новая пятиразрядная последовательность псевдослучайных чисел), но и интервал времени от момента несанкционированного вскрытия до момента контроля.

Программный код для микроконтроллера MSP430F1232 написан на языке Си. Здесь нужно отметить некоторые особенности программы:

1. Регистр статуса микроконтроллера переводится в режим LPM3 [1];

_BIS_SR(GIE+LPM3_bits);

2. Сторожевой таймер переводится в режим интервального таймера с управлением от внешнего кварцевого генератора 32,768 кГц;

WDTCTL=WDTPW+WDTCNTCL+WDTSSEL+WDTTMSEL;

//Ft=32768/32768=1Hz

IE1=WDTIE;

//Разрешение прерывания от интервального таймера.

3. Для отсчета временных интервалов используется Таймер А.

4. Функция rand() основана на генерации рекуррентной последовательности и возвращает равномерно распределенное псевдослучайное число в интервале значений 0...32767. Эта функция описана в файле <stdlib.h>.

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

//Ежесекундное прерывание от интервального таймера;

//Запись значений минут и часов в соответствующие ячейки;

//Генерация новых случайных чисел;

#pragma vector=WDT_VECTOR

_interrupt void watchdog_timer(void)

{

unsigned int g=0;

unsigned char n=0;

//Отсчет времени

sec1++;

if(sec1>9)

{sec10++; sec1=0;}

if(sec10>=6)

{min1++; sec10=0; sec1=0;}

if(min1>9)

{min10++; min1=0;}

if(min10>=6)

{ch1++; min10=0; min1=0;}

if(ch1>9)

{ch10++; ch1=0;}

if(ch10>9)

{ch10=0; ch1=0;}

 

//****генерация новых случайных чисел*****

for(n=0; n<=4; n++)

{

g=rand()&0x000F; //Функция возвращает значение от 0 до F

if(g==0x000A)g=1;

if(g==0x000B)g=2;

if(g==0x000C)g=3;

if(g==0x000D)g=0;

if(g==0x000E)g=5;

if(g==0x000F)g=9;

sens1[n]=g;

}

}

5. Порты подключения: P1.0 р датчик Холла, P2.5 р кнопка контроля.

Для генерации псевдослучайных чисел можно также воспользоваться материалами статьи [2].

Принципиальная схема электронной печати приведена на рисунке 1.

 

Принципиальная схема электронной печати

 

Рис. 1. Принципиальная схема электронной печати

Как уже отмечалось выше, светодиодный пятиразрядный семисегментный индикатор КИПС 27А-5/8 с общим катодом используется в режиме динамической индикации. Микроконтроллер вырабатывает бегущий «0» на катодах, в результате чего в каждый момент времени активным оказывается только один разряд индикатора.

Конструкция электронной печати представляет собой корпус из ABS пластика, в дно которого вмонтированы две металлические пластины, положение которых соответствует опорным втулкам с магнитами. Рядом с одной из пластин расположен интегральный датчик Холла А3212 компании Allegro Microsystems Inc., воспринимающий магнитный поток от «своего» магнита. Плата с электронной схемой, пятиразрядным светодиодным индикатором и батарейным отсеком (два элемента ААА по 1,5 В), расположена внутри корпуса поверх металлических пластин. На внешней поверхности корпуса расположен экран индикатора и кнопка мониторинга.

Опытная эксплуатация устройства в течение двух лет показала его устойчивость к внешним электромагнитным помехам (работа станков в соседнем помещении), экономичность (частота смены батареек один раз в 5-6 месяцев) и удобство в эксплуатации.

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

 

Литература

1. Семейство микроконтроллеров MSP430х1хх. Руководство пользователя//М., Библиотека КОМПЭЛ, 2004 г.

2. А. Купченко Реализация генератора случайных чисел на микроконтроллере MSP430.//Компоненты и технологии №3, 2009 г.

Получение технической информации, заказ образцов, поставка - e-mail: [email protected]