Как сделать простой радиобрелок с плавающим кодом, паролем и бегущими огнями

pict_prg.gif (5779 bytes) Исходный текст программы 
компилируется MPASM v02.20


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

 Радио часть пульта такая же, как и у подавляющего числа недорогих сигнализаций. Рабочая частота пульта-  433 МГц. Все элементы в корпусах SMD и как можно ближе друг к другу. Схема не очень критична к топологии антены, желательно выдержать ее длину и ширину.   
Пульт посылает 64-х битные зашифрованные команды соответствующие нажатым клавишам 1 или 2 (для короткого и продолжительного нажатий команды отличаются). Посылка команд сопровождается разными комбинациями бегущих огней выполненых на светодиодах. Для посылки команды на отключение сигнализации (кнопкой 1 )на пульте необходимо набрать пароль кнопками SW_A и SW_B. Максимальная длина пароля - 16 нажатий. Длина пароля и сам пароль могут быть изменены пользователем. Команды перед посылкой скремблируются  и превращаются в 32-х битный код изменяющийся по псевдослучайному закону. Количество возможных комбинаций   2^32 = 4 294 967 296. Изменяющаяся зашифрованная часть складывается с постояноой и выдается на выход. Постоянная часть необходима для гарантированной и быстрой синхронизации приемника в случае если код пульта уплыл на большое количество нажатий, а каже для обучения приемника пультам. Более подробная информация о технике применения плавающих кодов содержится на сайте фирмы MICROCHIP в документах:

AN661 KeeLoq Code Hopping Decoder Using a PIC16C56.
AN662 KeeLoq Code Hopping Decoder Using Secure Learn.
AN663 KeeLoq Simple Code Hopping Decoder.
AN665 Using KeeLoq to generate Hopping Passwords.
AN645 PIC16C57 Based Code Hopping Security System Application Note.
AN675 KeeLoq HCS410 Transponder Decoder Using a PIC16C56.
TB001 Secure Learning RKE Systems Using Encoders.
TB003 An Introduction to KeeLoq Code Hopping Technical Brief.

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

 При использовании стандартной приемной части сигнализации данный брелок уверенно работал на растоянии 30 м.

Автор проекта: Александр Елисеев (E-mail: ea@eunet.lt)