РАБОТА С КЛЮЧОМ ТМ-2004 ( К1446ВГ5 )
Ключ ТМ-2004 представляет собой ключ с памятью в 1 Кбит (4 страницы по 32 байта) с возможностью
программирования индивидуального номера ключа ( 64 бита ).
ВСЕ КОМАНДЫ КЛЮЧА ТМ-2004 ДЕЛЯТСЯ НА:
1. Команды работы с ключом
33h - чтение номера ключа (далее идёт чтение номера с шины 1-WIRE 64 бита)
F0h - поиск всех устройств на шине 1-WIRE (все устройства отвечают своим номером)
CCh - пропуск чтения номера устройства (далее идёт команда для работы с памятью)
55h – обращение к конкретному устройству (следом подаётся номер устройства 64 бита)
2. Команды работы с памятью 1 Кбит
F0h – чтение памяти
0Fh – запись памяти
AАh – чтение регистра статуса
55h – запись в регистр статуса
C3h – чтение данных и генерация контрольной суммы (CRC8)
Память разделена на 4 страницы по 32 байта (256 бит). Информация сначала записывается в блокнотную
память размером 1 байт (8 бит). Для записи подаётся команда 0Fh,следом передаётся адрес 2 байта
(младший и старший), затем передаётся байт данных. Ключ в ответ передаёт контрольную сумму CRC8
(1 байт). Контрольная сумма подсчитывается по команде, адресу и данным. Если контрольная сумма верна,
то выдаётся на ключ программирующий импульс и информация записывается в память ключа. Если сумма
не верна, то формируется импульс сброса.
После этого ключ выдаёт обратно байт данных из памяти. Контроллер считывает его и сравнивает с
исходным. Если сравнение прошло, то контроллер выдаёт на шину 1-WIRE следующий байт данных,
получает в ответ контрольную сумму CRC8 и т. д. Адрес при этом в ключе увеличивается автоматически.
Если сравнение не прошло, то формируется импульс сброса.
Запись заканчивается формированием импульса сброса.
Для чтения подаётся команда F0h и 2 байта адреса. В ответ получаем байт контрольной суммы CRC8,
который подсчитывается по команде и адресу. Если контрольная сумма верна, то считываем байт данных
и т. д. Адрес в ключе увеличивается автоматически. Если контрольная сумма не верна, то формируем
импульс сброса.
Чтение заканчивается формированием импульса сброса.
Аналогично работают с регистром статуса.
3. Команды записи индивидуального номера ключа ( 64 бита )
3Сh – команда записи индивидуального номера ( после неё на шину выдаётся адрес записи,
номер ключа побайтно, начиная с младшего байта номера и импульс программирования)
35h – команда блокировки перезаписи номера ключа (финализация). После неё на ключ должно
подаваться напряжение не менее 9 Вольт ( 10 mA ) в течение не менее 100ms
ПРОТОКОЛ ЗАПИСИ КЛЮЧА ТМ-2004
1. Запись номера ключа в ТМ2004:
RESET + получаем в ответ сигнал присутсвия от ключа + выдаём команду записи 3Ch + АДРЕС НАЧАЛА ЗАПИСИ
( 2 байта младший и старший) + КОД КЛЮЧА ( младший байт кода ) + получаем в ответ контрольную сумму CRC8
( команды, адреса и байта данных ) + проверяем контрольную сумму и при совпадении выдаём программирующий
импульс ( задержка 600 микросек. + нулевой импульс 5 микросек. + задержка 50 миллисек. ) + получаем в ответ
байт записанного кода из ключа и сравниваем его с исходным + если данные совпали, то посылаем в ключ
следующий байт данных, получаем из ключа контрольную сумму CRC8 ( адреса + байта данных ), посылаем
программирующий импульс, получаем в ответ байт записанного кода от ключа, проверяем его и т. д. до
последнего байта номера ключа. Если принятый байт кода не совпадёт с исходным, то надо передать на ключ
импульс сброса (RESET).
2. Проверка записи ключа ТМ2004:
RESET + 33h + ЧТЕНИЕ НОМЕРА КЛЮЧА 8 байт ( начиная с младшего байта ) и сравнение с исходным номером
3. Финализация ключа ТМ-2004:
RESET + 35h + сразу после последнего бита команды подать импульс 9 Вольт ( 10 mA ) в течение не менее 100 ms.
ВНИМАНИЕ !
После финализации ключ ТМ-2004 больше нельзя перезаписать !!!
Привожу список команд и ответов на них ключа ТМ-2004
1. Пустой ключ (номер содержит комбинацию FFh во всех байтах): на команду 35h отвечает
байтом С8h на команду F0h отвечает длинной строкой байт 6Dh, DBh, B6h и далее эти три байта
повторяются.
2. Без финализации:
Ключ отвечает своим номером ( 8 байт ) на следующие команды:
03h, 07h, 0Bh, 0Fh, 13h, 17h, 1Bh, 1Fh, 23h, 27h, 2Bh, 2Fh, 33h, 37h, 3Bh, 43h, 47h, 4Bh, 4Fh, 53h, 57h,
5Bh, 5Fh, 63h, 67h, 6Bh, 6Fh, 73h, 77h, 7Bh, 7Fh, 83h, 87h, 8Bh, 8Fh, 93h, 97h, 9Bh, 9Fh, A3h, A7h, ABh,
AFh, B3h, B7h, BBh, BFh, C3h, C7h, CBh, D3h, D7h, DBh, E3h, E7h, EBh
Ключ отвечает ответом F5h на следующие команды:
F0h, F1h, F2h, F3h, F4h, F5h, F6h, F7h, F8h, F9h, FAh, FBh
На команду 35h ключ отвечает 90h (этот ответ зависит от номера ключа) - признак того, что
финализации нет.
3. После финализации:
На команду 35h ключ не отвечает т. е. считываем с шины код FFh.
Остальные ответы аналогичны пункту 2.
При перепечатке или цитировании данной статьи ссылка на мой сайт обязательна !!!
|