7 из 38 рис. 6. адресные регистры – Инструкция по эксплуатации Rainbow Electronics DS1961S

Страница 7

Advertising
background image

DS1961S

7 из 38

Рис. 6. АДРЕСНЫЕ РЕГИСТРЫ

Номер бита

7 6 5 4 3 2 1 0

Адрес назначения (TA1)

T7

T6

T5

T4

T3

T2

(0)

T1

(0)

T0

(0)

Адрес назначения (TA2)

T15

T14

T13

T12

T11

T10

T9

T8

Конечный адрес со

статусом данных (E/S)

(только для чтения)

AA

1

PF

1

1

E2
(1)

E1
(1)

E0
(1)


АДРЕСНЫЕ РЕГИСТРЫ И СОСТОЯНИЕ ПЕРЕСЫЛКИ
DS1961S использует три адресных регистра: TA1, TA2 и E/S (рис. 6). Такие регистры имеются и
во многих других 1-проводных устройствах, но в DS1961S они работают несколько по-другому.
Регистры TA1 и TA2 загружаются адресом назначения, который указывает, куда должны быть
записаны или откуда считаны данные. Регистр E/S является регистром состояния пересылки и
доступен только для чтения. Он используется для проверки целостности данных при выполнении
команд записи. Так как блокнот DS1961S способен принимать данные только в виде блоков по 8
байт, три младших бита регистра TA1 всегда равны 0, а три младших бита регистра E/S (конечное
смещение) всегда считываются как 1. Это означает, что все данные из блокнота используются для
последующего копирования в основную память или память секретного кода. Бит 5 регистра E/S,
называемый PF или флагом неполного байта (partial byte flag), устанавливается в 1, если
количество бит данных, переданных мастером, не кратно восьми, или если данные в блокноте не
являются действительными в результате пропадания питания. Успешная запись в блокнот
очищает бит PF. Биты 3, 4 и 6 не несут никаких функций; они всегда считываются как 1. Флаг
неполного байта поддерживает осуществляемую мастером проверку целостности данных после
команды записи. Старший бит регистра E/S называется AA или флагом принятия авторизации
(authorization accepted flag). Он указывает на то, что данные, сохраненные в блокноте, уже были
скопированы в память по адресу назначения. Запись данных в блокнот очищает этот флаг.

ЗАПИСЬ С ПРОВЕРКОЙ
Для промежуточного хранения данных, записываемых в DS1961S, используется блокнот. Вначале
мастер посылает команду записи блокнота. Заметьте, что запись в память должна производиться в
рамках 8-байтного фрагмента с тремя младшими битами T2..T0 адреса назначения, равными нулю.
Если биты T2..T0 будут переданы ненулевыми, устройство все равно их сбросит и будет
использовать этот модифицированный адрес в качестве адреса назначения. Мастер всегда должен
передавать восемь полных байт данных. Когда восемь байт данных переданы, мастер может
выбрать чтение инвертированной CRC16, рассчитанной для кода команды записи блокнота, адреса
и данных, переданных мастером. Мастер может сравнить эту CRC со значением, вычисленным им
самим, для подтверждения правильности пересылки данных. После того, как блокнот записан,
мастер должен всегда выполнять его чтение, чтобы убедиться в правильности записанных данных.
Во время чтения блокнота DS1961S передает адрес назначения TA1 и TA2, а также содержимое
регистра E/S. Флаг неполного байта (бит 5 регистра E/S) устанавливается в 1 в том случае, если
последний байт данных, принятый DS1961S в процессе записи или обновления блокнота, был
неполным, или если имело место пропадание питания во время последней процедуры записи
блокнота. Флаг принятия авторизации (AA, бит 7 регистра E/S) обычно очищается при записи или
обновлении блокнота; однако если обнаруживается, что он установлен в 1, значит, не была
распознана команда записи или обновления блокнота. В этом случае мастер должен снова

Advertising