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

Страница 19

Advertising
background image

DS1982

подано на 480 мкс, затем мастер шины возвращает линию данных в свободное состояние с
высоким уровнем, обеспечиваемым подтягивающим резистором. Заметьте, что из-за требований
высоковольтного программирования для 1-проводных устройств с EPROM, невозможно во время
программирования вместе с DS1982 подключать на шину 1-проводные устройства без EPROM.
Внутренние диоды 1-проводных устройств без EPROM ограничат напряжение на линии данных на
уровне примерно 8В, к тому же потенциально возможно повреждение этих устройств.

ВЫЧИСЛЕНИЕ CRC
DS1982 содержит 8-битную CRC, которая сохранена в старшем байте 64-битного ПЗУ. Мастер
шины может вычислить значение CRC для первых 56 бит 64-битного ПЗУ и сравнить его со
значением, сохраненным в DS1982 для проверки правильности считывания данных ПЗУ.
Эквивалентный полином для этой CRC имеет следующий вид: X

8

+ X

5

+ X

4

+ 1.

В некоторых условиях DS1982 генерирует 8-битную CRC, используя полином, приведенный
выше, и передает ее значение мастеру шины для проверки правильности приема команды, адреса
и данных от мастера. Блок-схема функций памяти на рис. 6 показывает, что DS1982 вычисляет 8-
битную CRC для команды, адреса и данных, принятых для записи в память или в байты состояния,
затем передает ее значение мастеру шины для подтверждения правильности пересылок.
Подобным образом DS1982 вычисляет 8-битную CRC для команды и адреса, принятых от мастера
шины для чтения памяти, чтения состояния и чтения данных/генерации 8-битной CRC для
проверки того, что эти байты были приняты без ошибок. Генератор CRC в DS1982 также
используется для проверки правильности пересылки, когда мастеру шины передается каждая
страница 1024-битной EPROM по команде чтения данных/генерации 8-битной CRC, а также для 8
байт информации памяти состояния.
Во всех случаях, когда используется CRC для проверки правильности пересылки, мастер шины
должен вычислять значение CRC, используя полином, приведенный выше, а затем сравнивать
вычисленное значение с 8-битной CRC, сохраненной в 64-битном ПЗУ DS1982 (при чтении ПЗУ)
или с 8-битным значением CRC, вычисленном DS1982. Сравнение значений CRC и принятие
решения продолжения операции выполняется исключительно мастером. В DS1982 отсутствуют
схемы, которые способны прерывать выполнение команды в случае отличия сохраненной или
вычисленной CRC от значения, генерируемого мастером. Результатом правильного использования
CRC, которое показано на блок-схеме (рис. 6), будет высокая надежность передачи данных в
канале. Более подробное описание процесса вычисления CRC, включая пример аппаратной и
программной реализации, приведено в книге «Book of DS19xx iButton Standards».

19 из 23

Advertising