Инструкция по эксплуатации Rainbow Electronics DS1961S

Страница 23

Advertising
background image

DS1961S

23 из 38

адрес назначения является правильным (<0080h), мастер принимает данные страницы, начиная с
адреса назначения и до конца страницы данных, затем один байт FFh, затем инвертированное
значение CRC для кода команды, адреса назначения, переданной страницы данных и байта FFh.
Если адрес назначения является ошибочным (

≥0080h), мастер принимает вместо данных страницы

байты FFh. Сразу после приема CRC мастер ожидает время t

CSHA

, в течение которого напряжение

на 1-проводной шине не должно опускаться ниже 2,8В. В это время блок SHA вычисляет код
аутентификации сообщения на основании секретного кода, всех 32 байтов выбранной страницы,
регистрационного номера устройства (без CRC) и 3-байтного запроса. После этого мастер
считывает 160-битный MAC-код, за которым следует инвертированное значение CRC, что всегда
необходимо при безопасных пересылках данных. Если мастер продолжает чтение после приема
CRC, он принимает AAh.

Таблица 4. ВХОДНЫЕ ДАННЫЕ SHA-1 ДЛЯ КОМАНДЫ ЧТЕНИЯ
АУТЕНТИФИЦИРОВАННОЙ СТРАНИЦЫ

M0[31:24] = (SS+0)

M0[23:16] = (SS+1)

M0[15:8] = (SS+2)

M0[7:0] = (SS+3)

M1[31:24] = (PP+0)

M1[23:16] = (PP+1)

M1[15:8] = (PP+2)

M1[7:0] = (PP+3)

M2[31:24] = (PP+4)

M2[23:16] = (PP+5)

M2[15:8] = (PP+6)

M2[7:0] = (PP+7)

M3[31:24] = (PP+8)

M3[23:16] = (PP+9)

M3[15:8] = (PP+10)

M3[7:0] = (PP+11)

M4[31:24] = (PP+12)

M4[23:16] = (PP+13)

M4[15:8] = (PP+14)

M4[7:0] = (PP+15)

M5[31:24] = (PP+16)

M5[23:16] = (PP+17)

M5[15:8] = (PP+18)

M5[7:0] = (PP+19)

M6[31:24] = (PP+20)

M6[23:16] = (PP+21)

M6[15:8] = (PP+22)

M6[7:0] = (PP+23)

M7[31:24] = (PP+24)

M7[23:16] = (PP+25)

M7[15:8] = (PP+26)

M7[7:0] = (PP+27)

M8[31:24] = (PP+28)

M8[23:16] = (PP+29)

M8[15:8] = (PP+30)

M8[7:0] = (PP+31)

M9[31:24] = FFh

M9[23:16] = FFh

M9[15:8] = FFh

M9[7:0] = FFh

M10[31:24] = MP

M10[23:16] = (ID+0)

M10[15:8] = (ID+1)

M10[7:0] = (ID+2)

M11[31:24] = (ID+3)

M11[23:16] = (ID+4)

M11[15:8] = (ID+5)

M11[7:0] = (ID+6)

M12[31:24] = (SS+4)

M12[23:16] = (SS+5)

M12[15:8] = (SS+6)

M12[7:0] = (SS+7)

M13[31:24] = (SP+4)

M13[23:16] = (SP+5)

M13[15:8] = (SP+6)

M13[7:0] = 80h

M14[31:24] = 00h

M14[23:16] = 00h

M14[15:8] = 00h

M14[7:0] = 00h

M15[31:24] = 00h

M15[23:16] = 00h

M15[15:8] = 01h

M15[7:0] = B8h


Условные обозначения

Mt

Входной буфер блока SHA
0 < t < 15; 32-битные слова

(SS + N)

Байт N секретного кода; секретный код начинается с адреса 0080h
(См. карту памяти)

(PP + N)

Байт N страницы памяти; страницы памяти начинаются по
адресам 0000h, 0020h, 0040h и 0060h
(См. карту памяти)

(SP + N)

Байт N блокнота

MP

MP[7:3] = 01000b,
MP[2:0] = T7:T5

(ID+N)

Байт N идентификационного регистра
Последний байт идентификационного регистра не используется


Обновление блокнота [A3h]
Команда обновления блокнота загружает данные из памяти в блокнот и устанавливает флаг
EN_LFS. Этот флаг позволяет использование команды загрузки первого секретного кода для
перезаписи данных, которые были только что прочитаны из памяти, не прибегая к вычислению
MAC-кода.
Блок-схемы команд обновления блокнота и записи блокнота очень похожи. Если адрес назначения
лежит в диапазоне 0000h – 007Fh, существуют два основных отличия. 1) Для команды обновления
блокнота байты данных, которые мастер посылает вслед за адресом назначения, отбрасываются;

Advertising