Четверг, 21.11.2024, 14:07
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Август 2011  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Копирование ключей iButton DS1990A. Часть пятая.

Копирование ключей iButton DS1990A. Часть пятая.

Наш канал в YouTube


На страницах сайта уже рассмотривались несколько «некоммерческих» версий копировщиков ключей. Представленный сегодня вариант копировщика от предыдущих отличается тем, что позволяет поддерживать запись нескольких типов заготовок и, кроме того, позволяет осуществлять ручной ввод кода ключа. Это устройство разработано участником форума _http://kazus.ru RECTO. С разрешения автора, за что выражаю ему свою признательность и благодарность, и публикуется данный материал. 

Предлагаемый дубликатор ключей собран из недорогих, зачастую уже имеющихся почти у каждого радиолюбителя деталей, прост для повторения и не требует наладки. Дубликатор работает автономно, т.е. без подключения к PC.

Возможности дубликатора: 
- чтение кода ключа с выводом его на индикатор; 
- запись прочитанного кода на заготовку (поддерживаются заготовки TM-2004, RW-1990.1 и RW-1990.2); 
- запись на заготовку произвольного кода.

Схема копировщика приведена на рис. 1

Рис. 1. Принципиальная схема 

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

 

Контакты считывателя для «таблетки» расположены прямо на плате контроллера. На печатке показано их примерное расположение и конфигурация, а из чего уже их сделать – решит ваша фантазия. Например, для центрального контакта можно использовать обычную канцелярскую кнопку, запаяв ее с кислотой. Боковой (общий) контакт делаем так: берем кусок проволоки (желательно, тоже стальной) и сгибаем его П-образно. После чего запаиваем концы получившейся скобы в плату так, чтобы ее верхушка выступала над платой примерно на 3 мм. Вот и всё, считыватель готов.

В отличие от ТМ-2004, заготовки RW-1990.1(2) в режиме записи боятся помех. Поэтому, если будете делать свою печать, или переделывать предложенную, учитывайте эту особенность! Подтягивающий резистор, через который идёт питание на ключ, желательно припаивать одним концом прямо на (+) электролита, который стоит на входе по питанию, а другим концом – прямо к центральному контакту считывателя. Общий контакт тоже желательно соединить отдельным проводом прямо с (-) электролита, и ничего другого на эту «землю» не сажать. Подтягивающий резистор и общий провод на считыватель необходимо располагать как можно дальше от деталей тактового генератора.

Микроконтроллер (PIC16F84 или PIC16F628) желательно установить в панель – чтобы была возможность записывать произвольные ключи, не имея их оригинала (об этом ниже). Если будете использовать полноразмерный кварц для генератора (например HC-49U), его желательно расположить на плате в «лежачем» положении. Усеченный кварц (типа HC-49S) лучше расположить стоймя, как и нарисовано. Кнопка – типа ПКН-125 (какая первая попалась под руку). Но можно установить и любую другую, немного изменив печать. В качестве переключателя используется любой сдвоенный DIP-переключатель, или просто «комповые» джамперы.

Теперь подробнее про индикатор. Плата индикатора – двухсторонняя. Переходы между слоями выполнены т.н. «псевдометаллизацией». То есть в отверстие, через которое должен быть переход, пропускается кусок проволоки и запаивается с обеих сторон. Либо переход идет через вывод элемента, если он там есть – при этом сам вывод так же запаивается с обеих сторон платы. Обратите внимание – на верхней стороне платы, где печатные дорожки идут между ногами микросхемы, контактные площадки под эти ноги не делаются! Это на тот случай, если будете переводить рисунок вручную. Саму же микросхему в плату вставляем не до конца! – чтобы упоры ножек случайно не замкнули печатные дорожки, идущие под ними.

Желательно соблюдать определенный порядок запайки элементов на плату индикатора, чтобы уже установленные элементы не мешали запаивать следующие. Вначале делаем «пустые» переходы между слоями там, где не установлены элементы. Далее паяем токоограничительные резисторы катодов индикатора (они устанавливаются на плату с нижней стороны!). Затем запаиваем микросхему регистра, базовые резисторы транзисторов, сами транзисторы. Припаиваем соединительный жгут. Индикаторы запаиваем в самую последнюю очередь.

В индикаторе используется микросхема сдвигового регистра К555ИР8, или ее импортный аналог 74164. Токоограничительные резисторы катодов индикатора желательно взять как можно меньшего размера, иначе они с трудом поместятся! Эти резисторы могут иметь сопротивление от 75 до 100 Ом. Транзисторы – любые маломощные p-n-p с соответствующей цоколевкой, на максимальный ток 150 мА (я использовал КТ-361). В качестве индикатора можно использовать любой динамический семисегментный индикатор с общим анодом.

Предлагаемая печатка разведена под два индикатора А-552. Можно использовать их отечественный аналог И22БК №4. Индикаторы желательно закрыть темным фильтром, у меня использована пленка для тонирования автомобильных стекол. Внешний вид собранных печатных плат устройства показан на рис. 2


Рис. 2. Внешний вид печатных плат

Работа с дубликатором. Чтение ключа. Включаем питание. При этом на индикаторах изображается заставка: знак (-) во всех разрядах и бегущая слева направо десятичная точка: устройство ожидает ключ.

Далее прикладываем ключ. Дубликатор читает код ключа и выводит его на индикаторы. Но, поскольку дамп ключа состоит из 8-ми байт, а индикатор дубликатора может отобразить только 2 из них, то код ключа выводится как бы "в окне". При этом точка, которая поочередно переходит от старшего разряда к младшему, изображает как бы "ползунок" горизонтальной прокрутки окна.

Например, если код нашего ключа 90-00000C1C63ED-01, то он изображается фазами: (9.0 0 0), (0 0.0 C), (1 C 6.3), (E d 0 1.). После 4-й фазы на индикатор выводится разделитель (- - - -), означающий "конец комбинации", а затем код выводится сначала, и так далее по кругу. В любой момент можно снова приложить ключ (другой или тот же самый), тогда дубликатор начнет выводить уже его код, начиная с первой фазы.

Запись ключа. Теперь прочитанный код можно скопировать на перезаписываемую заготовку (болванку). Дубликатор не умеет распознавать тип заготовки автоматически, поэтому выбор типа производится вручную при помощи переключателей S2 и S3 (по принципиальной схеме). На печатной плате – это сдвоенный DIP-переключатель справа внизу. Соответствие комбинаций переключателей типам заготовок см. в таблице:

 

 

Нижний (S2) Верхний (S3) Тип заготовки
On (замкнут) On (замкнут) RW-1990.1
On (замкнут) Off (открыт) RW-1990.2
Off (открыт) On (замкнут) TM-2004
Off (открыт) Off (открыт) TM-2004


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

 

 

Итак, устанавливаем переключатели в соответствие с типом нашей заготовки. Далее, нажимаем и удерживаем кнопку, которая расположена слева от считывателя (на схеме это S1). При этом на индикатор будет выведен тип заготовки (для контроля):

90 v.1 – RW-1990.1
90 v.2 – RW-1990.2
t.- 04 – TM-2004


Теперь берем нашу заготовку, поплотнее прижимаем ее к контактам считывателя и отпускаем кнопку. В момент отпускания кнопки начнется запись. При этом на индикаторе появится сообщение «burn», которое говорит о том, что в данный момент идет процесс записи. Затем, спустя примерно 1-1,5 сек, на индикаторе появится сообщение «F i n» и бегущая слева на право точка – это значит, что запись завершена успешно.

Кстати, «Fin» – это от слова «финиш», а не «финализация», как вы могли бы подумать. Финализация в данном устройстве не предусмотрена. При появлении этого сообщения уберите заготовку с контактов считывателя.

Спустя еще пару секунд на индикатор будет выведена заставка (- - - -) и устройство вернется в режим ожидания – будет циклически выводиться код находящегося в памяти ключа.

При записи заготовки, естественно, могут возникнуть различные ошибки. В этом случае дубликатор выдаст на индикатор один из вариантов сообщения:
Er. 1 – нет отклика «Presence» от заготовки на «Reset». Возможно, плохой контакт заготовки со считывателем.
Er. 2 – ошибка во время записи: неверное значение записанного байта (только для заготовки TM-2004).
Er. 3 – ошибка при финальной проверке: прочитанный серийный номер не совпадает с тем, что записывали.

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

Запись произвольного кода. Переходим к самому интересному. Иногда бывает нужно записать ключ, код которого известен, но «оригинала» этого ключа в наличии нету, то есть считать его неоткуда. Это может быть, например, ключ-«вездеход», или просто какой-нибудь ключ из базы. 

Для того, чтобы записать такой произвольный код, открываем в программаторе файл прошивки, и редактируем область данных EEPROM. Код ключа необходимо записать в область EEPROM по адресам 00-07, первым байтом записывается код семейства, последним – контрольная сумма CRC. В принципе, можно записать любой произвольный код, главное лишь, чтобы контрольная сумма была корректной. В таблице, приведённой ниже, показано, как это сделать на примере ранее рассмотренного ключа 90-00000C1C63ED-01 в программаторе PonyProg2000:

Далее, вынимаем микроконтроллер из устройства (вот почему рекомендовалось оборудовать устройство панелькой), и вставляем его в программатор. Прошиваем область данных (Write Data Memory). Переставляем микроконтроллер обратно в дубликатор.

Включаем питание. Если код записанного ключа верный (CRC корректна), то вместо начальной заставки ( - - - - ) на индикаторе сразу же начнется отображение этого кода, начиная с первой фазы. Теперь можно записать этот ключ на болванку, а можно прочитать другой ключ – короче, всё как обычно. При повторном включении питания дубликатор снова начнет работу с кодом, прочитанным из EEPROM. И так будет до тех пор, пока этот код не будет удален из памяти данных.

Иными словами, устройство работает так: при старте вначале считываются и проверяются первые 8 байт из EEPROM. Если эти данные могут быть ключом, т.е. они не все равны 0 и CRC корректна, то дубликатор будет работать с этой комбинацией. Если же прочитанные данные как ключ некорректны, то они игнорируются, и устройство ожидает чтения ключа, выдавая начальную заставку ( - - - - ) с бегущей точкой.

Первая версия копировщика предусматривала использование только цифрового индикатора. Во второй версии в устройство было добавлено три светодиода. Ниже описывется порядок работы со второй версией.

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

Токоограничительные резисторы R17-R19 на предлагаемой печатной плате – SMD, тип «1206», мощностью от 75 мВт (лучше, конечно, взять на 125 мВт). Подтягивающий резистор R3 – тоже SMD, того же типа, на любую мощность.

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

Красный (HL1) – это просто индикатор включенного питания. Его необходимо установить, если устройство будет использоваться только с платой контроллера. Но если будет использоваться и основной (цифровой) индикатор, то его можно не ставить.

Желтый (HL2) – обозначен как «READ», выдает сигнал о чтении ключа. Загорается и горит постоянно, если в памяти устройства находится ключ, и оно готово к записи. Если индикатор не горит – значит, ключа в памяти нет.

Зеленый (HL3) – обозначен как «WRITE», выдает сигнал о записи заготовки. Загорается на короткое время (около 3-х сек.) по окончании процесса записи. При этом, если индикатор горит нормальным светом – запись произведена успешно, а если мерцающим – ошибка.

Теперь рассмотрим работу копировщика с дополнительным индикатором более подробно. Сразу же после включения питания производится тестирование – на короткое время загораются все индикаторы. Через пару секунд гаснут желтый и зеленый индикаторы – в памяти устройства нет ключа для записи, устройство готово читать ключ. Но если при старте ключ был удачно считан из EEPROM, желтый индикатор продолжает гореть (т.е. в памяти устройства находится ключ).

Далее прикладываем ключ. При удачном чтении ключа загорается желтый индикатор. Если чтение произошло с ошибкой (некорректная CRC), желтый индикатор не горит (гаснет). Момент чтения ключа отмечается кратковременной вспышкой зеленого индикатора (поскольку иначе, при уже горящем желтом индикаторе, смена ключа в памяти устройства не будет заметна). Иначе говоря, вспышка зеленого означает, что приложенный в данный момент ключ считан в память дубликатора.

При переводе устройства в режим записи, когда нажимается кнопка S1, загораются оба (желтый и зеленый) индикаторы. Это говорит о том, что дубликатор готов произвести запись и можно приложить заготовку.

Прикладываем заготовку и отпускаем кнопку. При этом желтый и зеленый индикаторы гаснут. Погашенные желтый и зеленый индикаторы в режиме записи означают, что идет процесс записи на заготовку. По окончании процесса записи загорается один зеленый индикатор и горит 3 секунды. Нормальное (ровное) свечение индикатора говорит о том, что запись произведена успешно. Если же индикатор мерцает, это означает ошибку записи.

Затем зеленый индикатор гаснет и загорается желтый – устройство перешло в режим чтения. То есть, можно прочитать другой ключ, или произвести еще одну запись.

В архиве документации, который можно скачать до данной ссылке, содержится принципиальная схема копировщика ключей, печатная плата, две версии прошивки микроконтроллера (16F84A и 16F628A).

 

Все статьи по электронным ключам:

 

 

 
 
 
 
 
 
 
 
 
 
 
 



Категория: | Просмотров: 30065 | Добавил: Admin | Теги: дубликатор, ТМ2004, RW1990, копирощик ключей | Рейтинг: 5.0/2 |
Всего комментариев: 0






T2M © 2024
Сайт управляется системой uCoz