Кодировка Манчестер – двухуровневое физическое кодирование (существует логическое). Суть физического кодирования: представление данных в виде электрических и оптических импульсов (изменение амплитуды напряжения, тока, света). Кодирование сигнала на физическом уровне позволяет приемнику синхронизироваться с передатчиком по смене напряжения в середине периода битов, что позволяет точно определить начало, середину и конец бита.Все это нужно что бы избежать неопределенности. Потому что ни в одной технологии передачи данных не применяется прямого бинарного кодирования 0 – 0В, 1 — +5В.Т.к. в случае передачи одной станцией допустим кода 00010000, другая станция может его интерпретировать как 1000, либо 01000.Потому что она не может отличать где 0 байт, а где отсутствие сигнала. Манчестерский код является самосинхронизирующимся (приемник реагирует не на длительность импульсов, а на их переходы) и самым плотным кодом на единицу частоты.
LOGIC ‘0’ – положительный переход.
LOGIC’1’ – отрицательный переход.
При дифференциальном манчестерском кодировании положительный переход при логической единице отсутствует, а отрицательный при нуле нужен для синхронизации:
Рассмотрим манчестерское кодирование для шифрования KeeLoqна базе кодера HCS360:
Так же как и в keeloq передаваемый пакет разделен на Basicpulseelement (Te), меняющийся от 520 до 1240 мкс.. И Состоит из:
Преамбула:
Чередование высоких и низких уровней длительностью 31 Те.
Хедер:
4 Те низкого уровня.
Стартовый бит:
Чередование высокого и низкого Те.
Данные:
Конечный бит:
Чередование высокого и низкого Те.
Защитное время (GuardTime):
9 чередований Те низкий-низкий.
Передаваемый пакет состоит из 67 бит:
32 бит – плавающий код.
35 бит – фиксированная часть:
* 28/32 бит – серийный номер
* 4/0 бит – функционального кода
* 1 бит – статуса
* 2 бита – CRC
Обсуждение на форуме: https://phreaker.ru/forum/showthread.php?p=26200
(c) meecrob
www.phreakerclub.com