Решил показать пример работы с анализатором логических сигналов ( я его описал в разделе "другие устройства" ).
Написать программу для анализа логических сигналов не составляет большого труда.
То есть просто следим за уровнями сигналов на шине и измеряем их длительность. Уровень сигнала и длительность записываем в память МК или в ПК.
Получаем массив уровней сигналов ( лог. 0 или лог. 1 ) и массив их длительностей ( в мкс ). А далее просто анализируем эти массивы.....
Кстати о птичках. Программа логического анализатора сейчас входит в прошивку устройство MASTER V2.07 ( как отдельная функция ).
Теперь попробуем проанализировать "знаменитый протокол" записи заготовок ТМ-01С от IPLOGGER-а,
который уже несколько лет есть в сети ( он, в частности, задействован в копировщике RECTO ).
Для анализа был взят дубликатор заготовок ТМД-5 и мой анализатор логических сигналов.
Вот такой протокол был ( под радостные аплодисменты ) продемонстрирован публике.
Протокол записи ТМ-01C.
Запись ключей DALLAS
№ п/п
|
Режим мастера
|
Данные
|
1
|
передача
|
Reset
|
2
|
прием
|
Presence
|
3
|
передача
|
0xC1 (установка флага записи)
|
4
|
передача
|
тайм-слот записи «1»
|
5
|
пауза 5 мс
|
|
|
|
|
6
|
передача
|
Reset
|
7
|
прием
|
Presence
|
8
|
передача
|
0xC5 (инициализация записи)
|
|
|
|
9
|
передача
|
64-бита (записываемый код)
После передачи каждого бита – пауза 5 мс
|
|
|
|
|
|
|
|
Проверка записи
|
|
10
|
передача
|
Reset
|
11
|
прием
|
Presence
|
12
|
передача
|
0x33
|
13
|
прием
|
64-бита (записанный код)
|
Запись ключей CYFRAL
№ п/п
|
Режим мастера
|
Данные
|
1
|
передача
|
Reset
|
2
|
прием
|
Presence
|
3
|
передача
|
0xC1 (установка флага записи)
|
4
|
передача
|
тайм-слот записи «1»
|
5
|
пауза 5 мс
|
|
|
|
|
6
|
передача
|
Reset
|
7
|
прием
|
Presence
|
8
|
передача
|
0xC5 (инициализация записи)
|
|
|
|
9
|
передача
|
64-бита (записываемый код)
После передачи каждого бита – пауза 5 мс
|
|
|
|
|
Проверка записи
|
|
10
|
передача
|
Reset
|
11
|
прием
|
Presence
|
12
|
передача
|
0x33
|
13
|
прием
|
64-бита (записанный код)
|
|
|
|
|
Перевод в режим
|
CYFRAL
|
14
|
передача
|
Reset
|
15
|
прием
|
Presence
|
16
|
передача
|
0xCA (финализация цифрал)
|
17
|
передача
|
тайм-слот записи «1»
|
18
|
пауза не менее 30 мс
|
|
Записываемый код цифрал преобразуется в даллас следующим образом:
Байт
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
Знач.
|
0
|
0
|
0
|
0
|
С8
|
С7
|
С6
|
С5
|
С4
|
С3
|
С2
|
С1
|
7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С1…С8 – ниблы кода цифрал согласно таблице перекодировки
Пример. Сформировать код для записи: 0x B7 B7 DE E7.
Последовательность кода: C1 – B, C2 – 7 … C8 – 7.
Справа налево в строке ниже: 7, B->2, 7->1 … 7->1, 0, 00, 00, 00.
Сформированный код: 0x 00 00 00 01 88 41 21 27.
Запись ключей METAKOM
№ п/п
|
Режим мастера
|
Данные
|
1
|
передача
|
Reset
|
2
|
прием
|
Presence
|
3
|
передача
|
0xC1 (установка флага записи)
|
4
|
передача
|
тайм-слот записи «1»
|
5
|
пауза 5 мс
|
|
|
|
|
6
|
передача
|
Reset
|
7
|
прием
|
Presence
|
8
|
передача
|
0xC5 (инициализация записи)
|
|
|
|
9
|
передача
|
64-бита (записываемый код)
После передачи каждого бита – пауза 5 мс
|
|
Проверка записи
|
|
10
|
передача
|
Reset
|
11
|
прием
|
Presence
|
12
|
передача
|
0x33
|
13
|
прием
|
64-бита (записанный код)
|
|
|
|
|
Перевод в режим
|
МЕТАКОМ
|
14
|
передача
|
Reset
|
15
|
прием
|
Presence
|
16
|
передача
|
0xCB (финализация метаком)
|
17
|
передача
|
Тайм-слот записи «1»
|
18
|
пауза не менее 30 мс
|
|
Записываемый код метаком преобразуется в даллас следующим образом:
Байт
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
Знач.
|
CRC8
|
0
|
0
|
0xF
|
M8
|
M7
|
M6
|
M5
|
M4
|
M3
|
M2
|
M1
|
0xB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M1…M8 – ниблы кода метаком согласно таблице перекодировки
CRC8 – контрольная сумма кода: 00 00 M1M2 M3M4 M5M6 M7M8 01.
Пример. Сформировать код для записи: 0x CA 42 CC 55.
Последовательность кода: M1 – C, M2 – A … M8 – 5.
Справа налево в строке ниже: B, C->С, A->А … 5->5, F, 00, 00, 25.
Сформированный код: 0x 25 00 00 F5 5C CB DA CB.
CRC8 ( 00 00 CA 42 CC 55 01 ) = 25.
Таблица перекодировки цифрал-метаком в даллас
Цифрал-метаком
|
0x0
|
0x1
|
0x2
|
0x3
|
0x4
|
0x5
|
0x6
|
0x7
|
0x8
|
0x9
|
0xA
|
0xB
|
0xC
|
0xD
|
0xE
|
0xF
|
Даллас
|
0xF
|
0x7
|
0xB
|
0x3
|
0xD
|
0x5
|
0x9
|
0x1
|
0xE
|
0x6
|
0xA
|
0x2
|
0xC
|
0x4
|
0x8
|
|
Теперь посмотрим на сигналы полученные анализатором. Сигналы довольно легко различать.
Например, сигнал сброса (RESET) - 738 - 740 мкс. низкий уровень
Сигнал присутствия заготовки (PRESENCE) - 130-150 мкс. низкий уровень
Сигнал "1" при записи от ТМД-5 4-5 мкс низкий уровень и 78-81 мкс высокий.
Сигнал "0" при записи от ТМД-5 68-70 мкс низкий уровень и 7-10 мкс высокий.
Сигнал "1" при ответе заготовки 4-6 мкс низкий уровень и 68-71 высокий.
Сигнал "0" при ответе заготовки 24-28 мкс низкий уровень и 48-50 мкс высокий.
Если идёт запись кода в заготовку ТМ-01С, то каждый бит кода записывается с паузой 5 мс
высокого уровня.
Применяем это для анализа и получаем следующую последовательность:
1. Чтение заготовки. Это самый простой случай.
Подаётся команда 33H и получаем в ответ 64 бита кода от заготовки, начиная с младшего.
2. Запись кода DALLAS в ТМ-01С.
Считывается текущий код, записанный в ТМ-01 ( два раза ). Если счианный код не совпадает с тем, что надо записать, то переходим к записи.
Подаётся команда "RESET" и получаем сигнал от заготовки "PRESENCE".
Далее подаём команду снятия флага записи С1h и сигнал "1" с паузой 5 мс высокого уровня.
Далее подаём команду С5h и 64 бита кода ( с паузой 5 мс после каждого бита ). Коды команд и данные записываются, начиная с младшего бита.
После записи подаём команду "RESET", получаем "PRESENCE" и подаём команду чтения кода 33h Производим чтение кода 64 бита от заготовки.
Заготовка выдаёт код, начиная с младшего бита.
Сравнивая полученные данные с первой таблицей видим, что больших расхождений нет.
3. Запись ключей CYFRAL и METAKOM.
Вот здесь начинается самое интересное. Во "вскрытом протоколе" видим целые таблицы перекодировок CYFRAL-DALLAS, METAKOM-DALLAS,
какие-то "НИБЛЫ", CRC и прочую чушь.
Тут и возникает законный вопрос - А ЗАЧЕМ И КОМУ НУЖНО БЫЛО ТАК МУДРИТЬ?
Действительно, при анализе сигналов выявилось :
а. Ключи CYFRAL и METAKOM имеют длину 36 бит, поэтому и пишется именно 36 бит, а не 64 ( как указывается в якобы "вскрытом" протоколе записи ).
б. Никаких особых перекодировок нет и не было. Всё очень просто и логично.
Коды этих ключей пишутся прямо, начиная со стартовой посылки, правда код для записи проинвертирован.
Запись ведётся аналогично записи кода DALLAS, затем производится проверка записи ( 2 раза ).
Если всё нормально, то подаётся команда для перевода ТМ-01 в соответствующий режим.
Для перевода в режим CYFRAL подаётся команда CAh и "1" с паузой 10 мс высокого уровня.
Для перевода в режим METAKOM подаётся команда CBh и "1" с паузой 10 мс высокого уровня.
Ну а стирание ТМ-01С - это просто песня. Сняли анализатором процесс стирания, все команды, но
вот не поняли почему при повторении всё это не заработало.
А потому, что не всё так просто и кроме анализатора нужно было ещё и серое вещество применить.......
Но зачем заморачиваться. Поэтому стирание сделали "как бог на душу послал".
Работают не все команды - ну и ладно ......
Вот так вот и рушится основание под монументом "супервскрывателей " протоколов.....
А программа записи заготовки в режимах CYFRAL и METAKOM упрощается до безобразия.......
Специально не привожу отличия в остальном ( стирание заготовки, финализация и т. д. ).
Тут уже "табу".....
Но никто не запрещает самим исследовать всё это ( да и другие протоколы тоже ) .
Только помните, что полученные знания не всегда потом надо выкладывать на всеобщее обозрение......
Помните, что создатели различных фильтров ( ненавистники ключного бизнеса ) не дремлют......
И не надо им в этом помогать, и одновременно "подкладывать свинью" производителям заготовок.
А, вообще, экспериментируйте и будет Вам счастье........
Пару слов о новой заготовке ТМ-01А.
В этой заготовке возможно дополнительно программирование параметров ключа ( длительность импульсов ( 7 режимов )
и ток потребления заготовки ( 3 режима ) ).
Программирование этих параметров производится, когда заготовка находится в режиме DALLAS.
Кстати, в этом режиме можно и считывать параметры, с которыми последний раз писалась эта заготовка.
Кроме этого добавлена окончательная финализации заготовки в режимах CYFRAL и METAKOM.
Она тоже устанавливается в режиме DALLAS, как и параметры.
ТМ-01A я тоже прогнал через анализатор.
Протокол записи ключей DALLAS, CYFRAL, METAKOM аналогичен ТМ-01С.
Отличия есть только в остальных режимах ( настройка параметров, стирание и окончательная
финализация в режимах CYFRAL и METAKOM ).
P. S.
Сейчас аналогично был рассмотрен протокол заготовки RW-1.
Правда тут пришлось повозиться подольше, чем с ТМ-01, но, как говорилось в известном фильме:
".... что один человек сделал, то другой завсегда разобрать сумеет...."
Так что запись этой заготовки ( в тестовом режиме ) уже добавлена в мой копировщик COPYR 128 - RF и
устройство MASTER V2.07.
Почему в тестовом ? Просто надо набрать статистику по различным партиям заготовок.
Как выяснилось, заготовки в разных партиях могут несколько отличаться по начальным установкам....
А что будет далее - посмотрим....
Скорее всего рассмотрю запись заготовки RW-15 ( чисто из спортивного интереса ) ....
Да, время движется быстро. Вот уже RW-15 успешно препарирована и пишется
во всех режимах ( с изменением длительности импульсов и включением дополнительного резистора ).
Осталось сделать аппаратные изменения в устройствах для записи этой заготовки.
Это установка преобразователя напряжения ( DC-DC ) на 12 Вольт и небольшое изменение схемы чтения/записи ключей.
А время всё идёт и идёт...... Вот уже и RW2000 успешно пишутся !!!
Правда опять пришлось немного изменить схему записи.
И снова встаёт вопрос - что далее ?
Скорее всего, попробую поэкспериментировать с записью на заготовку КС-07....
Ну вот и здесь всё стало ясным !
Протокол записи КС-07 раскрыт и даже ничего менять в схеме записи не пришлось !
С расшифровкой протоколов записи контактных заготовок теперь окончательно закончено !
Остаётся разобраться с последней задачей - бесконтактной заготовкой H7 ...........
При перепечатке данного материала ссылка на мою страницу обязательна !!!
|