ДонНТУ   Портал магистров

Порядок интеграции микросхем KeeLoq в микроконтроллерную систему

Содержание

Введение

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

Кодер программируется при помощи программатора PicKit2. Для этого в оснастке KeeLoq Plugin в MPLab IDE генерируется SQTP файл. Сгенерированный файл подключается в программу PICkit2, выбирается необходимый кодер и прошивается.

Однако программатор PicKit2 не предназначен для программирования декодеров. Программировать декодеры позволят значительно более дорогой программатор PM3, приобретать который не выгодно при производстве небольшой партии устройств, имеющий в своем составе микросхемы KeeLoq. Экономически гораздо выгоднее разработать свой программатор декодеров KeeLoq, ядром которого является микроконтроллер Pic 18F2520.

После проведения процедуры программирования микросхем KeeLoq их можно внедрять в систему и проводить обучение декодера. Процедура обучения в подробностях описана в документации к микросхемам. Возможно два режима обучения: нормальный и безопасный. Рекомендуется использовать нормальный режим обучения, это обеспечит возможность привязки новых передатчиков к уже существующей и рабочей системе.

Когда процедура обучения успешно завершена, система полностью готова к работе. Интеграция микросхем KeeLoq в систему завершенаю.

1. Программирование кодера KeeLoq

Опишем процесс программирования кодера на примере микросхемы HCS200. Программирование других микросхем кодеров KeeLoq производится аналогичным способом.

Используя оснастку KeeLoq Plugin среды разработки MPLAB IDE генерируется SQTP файл. Для этого в MPLAB IDE в меню Tools необходимо активировать инструмент KeeLoq Plugin, перейти на вкладку Encoders и выбрать необходимую микросхему. В нашем случае это HCS200 (рис.1).

KeeLoq Plugin

Рисунок 1 – KeeLoq Plugin

Далее выбираем необходимый декодер и режим обучения, все остальное оставляем по умолчанию. Будем использовать KeeLoq декодер HCS515, поэтому выбираем HCS515 Normal Learn (рис.2).

Ввод параметров

Рисунок 2 – Ввод параметров

После нажатия кнопки Generate SQTP File… необходимо ввести серийный номер устройства и заводской ключ. Этот этап отображен на рис.3.

Ввод серийного номера и заводского ключа

Рисунок 3 – Ввод серийного номера и заводского ключа

Отметим, что в поле Custodian Key 1A вводится заводской ключ, а Custodian Key 1В – заполняется нулями. После нажатия кнопки ОК остается лишь выбрать место сохранения SQTP файла. Этот файл имеет расширение *.NUM.

Генерация SQTP файла завершена. Следующий шаг – программирование EEPROM кодера KeeLoq.

Подключаем PICkit 2 к кодеру KeeLoq по схеме, изображенной на рис.4.

Схема подключения HCS200 к PICkit 2

Рисунок 4 – Схема подключения HCS200 к PICkit 2

После подключения PICkit 2 к ПЭВМ запускаем оснастку PICkit 2 v2.61. В меню Device Family выбираем KEELOQ HCS, в поле Device выбираем HCS200. Далее в меню File выбираем Import HEX и указуем путь к сгенерированному SQTP файлу. Нажатие кнопки Wright приведет к программированию EEPROM HCS200 (рис.5).

Финальный этап программирования HCS200

Рисунок 5 – Финальный этап программирования HCS200

2. Программирование декодера KeeLoq

Программирование декодеров сводится к разработке собственного программатора. Приведем принципиальную схему «самостоятельного» программатора микросхем декодера KeeLoq, который предназначен для осуществления программирования микросхем как внутрисхемно, так и отдельно (рис. 6). Он выполняет три основные функции: программирование микросхем (заводской ключ вводит пользователь), ввод в режим обучения, и стирание памяти декодера.

Принципиальная схема программатора

Рисунок 6 – Принципиальная схема программатора

Однако, далее речь пойдет оболе простом варианте программирования декодеров. Мы будем вводить заводской ключ внутри программного кода и использовать только режим программирования. Для этого соберем более простую схему программатора и подключим его к ПЭВМ с помощью PicKit2. Схема данного устройства, подключенного к декодеру показана на рис.7.

Схема подключения программатора и декодера KeeLoq

Рисунок 7 – Схема подключения программатора и декодера KeeLoq

«Пользовательский интерфейс» в данной схеме отсутствует, поэтому программирование запускается с оснастки программатора PicKit2 в MPLAB IDE, или же программирование начинается при подачи питания на микроконтроллер.

Программный код для прошивки мкроконтроллера можно посмотреть здесь. При детальном рассмотрении в коде можно найти функции стирания памяти и ввода в режим обучения. Если они понадобятся, то нужно лишь «раскомментировать» их в коде. Программа написана на С. Компилятор МС18.

Если у кого-то возникнут вопросы, обращайтесь ВКонтакте или Facebook.