Эта заметка посвящена переделке ширпотребского обучаемого брелка с фиксированным кодом на код Keeloq Classic. Исходно был вот такой брелок, представленный на рис. 1. Он имеет несколько достоинств: компактный, кнопки закрываются крышкой, у него полный набор кнопок - 4 шт. Правда C и D мелковаты, ну да ладно.

Внешний вид
Рис. 1. Внешний вид брелка

Он содержит в себе приемник и передатчик на 433.92МГц, а также м/с управления. В моем варианте (а внутренности у таких брелков бывают разные) все питается от 12-вольтовой батарейки.

Часть исходной схемы приведена на рис. 2. Управление основано на микросхеме без каких-либо опознавательных знаков в корпусе SO-8. Было предположение, что это нелицензированный pic, но попытка прочитать/записать эту микросхему как pic успеха не дала.

Исходная часть схемы
Рис. 2. Часть исходной схемы

Далее под руку попались внутренности старой электронной открытки, в которых был найден pic12f629 - как раз в корпусе SO-8. Погуглив я нашел AN249 "KEELOQ® Transmitter Shell Using PIC12F6XX". Ну и если ко всему этому есть ещё и интересная идея с небольшим извращением (ведь это делает дело ещё интересней!), то почему бы и не попробовать?

Исходная схема была модифицирована. Были удалены компоненты приемника, неизвестная м/с была заменена на pic из открытки. Были добавлены ещё несколько компонентов, немного изменена разводка, и получилось то, что приведено на рис. 3. При нажатии кнопок bootstrap-питание осуществляется через встроенные диоды защиты микроконтроллера. На входе GP3/#MCLR/VPP такого встроенного диода на шину питания нет, поэтому был добавлен внешний КД103 - он отлично уместился между 1 и 4 ногами м/к. После запуска микроконтроллер обеспечивает себя питанием через транзисторы Q1 и Q2 даже при разомкнутых кнопках.

Часть модифицированной схемы
Рис. 3. Часть модифицированной схемы

Прошивка была взята из вышеупомянутого AN и модифицирована с учетом схемы рис. 3. и форм сигналов, приведенных в datasheet на HCS-301 для Te=400мкс. Исходники прошивки и скомпилированный .HEX можно скачать здесь. Config word выставить в соответствии с readme_fuses.txt Также хочу заметить, что вместо полного шифрования Keeloq Classic в этой прошивке используется какой-то облегченный вариант, совместимый с Keeloq Classic. Не забывайте, что на эти исходники распространяется лицензия Microchip - см. условия в AN249. Т.к. я взял их с сайта Microchip из открытого доступа, то думаю то, что я выкладываю их здесь, не навредит интересам Microchip. В результате брелок был успешно привязан к контроллеру ворот id310 v2.5 и эксплуатируется с ним.