Ds1961s – Инструкция по эксплуатации Rainbow Electronics DS1961S
Страница 35
DS1961S
35 из 38
При чтении блокнота генерация CRC также начинается очисткой сдвигового регистра генератора
CRC. Затем по одному биту в сдвиговый регистр вводится код команды, адрес назначения TA1 и
TA2, байт E/S, а также данные блокнота, которые были модифицированы DS1961S (см. описание
команды записи блокнота). DS1961S передает эту CRC только в том случае, если мастер
продолжает чтение после окончания чтения блокнота.
При чтении аутентифицированной страницы 16-битная CRC является результатом сдвига в
предварительно очищенный генератор CRC байта команды, за которым следуют два байта адреса,
байты данных и байт, равный FFh. CRC, которая следует за передачей MAC-кода, получается
очисткой генератора CRC, затем сдвигом туда 160-битного MAC-кода с тем же порядком
следования бит, что и при считывании MAC-кода мастером.
Более подробное описание процесса вычисления CRC, включая пример аппаратной и
программной реализации, приведено в книге «Book of DS19xx iButton Standards».
Рис. 12. АППАРАТНАЯ РЕАЛИЗАЦИЯ И ПОЛИНОМ ВЫЧИСЛЕНИЯ CRC-16
Полином = X + X + X + 1
16
15
2
1-й
каскад
9-й
каскад
10-й
каскад
11-й
каскад
12-й
каскад
13-й
каскад
14-й
каскад
15-й
каскад
16-й
каскад
2-й
каскад
3-й
каскад
4-й
каскад
5-й
каскад
6-й
каскад
7-й
каскад
8-й
каскад
X
0
X
1
X
2
X
3
X
4
X
5
X
6
X
7
X
8
X
9
X
10
X
11
X
12
X
13
X
15
X
16
X
14
Входные данные
=1
=1
=1
1
Выход CRC