Рис. 4. генератор crc – Инструкция по эксплуатации Rainbow Electronics DS1963S
Страница 6
DS1963S
6 из 40
64-БИТНОЕ ПЗУ, ЗАПИСАННОЕ ЛАЗЕРОМ
Каждый экземпляр DS1963S содержит в ПЗУ уникальный код длиной 64 бита. Первые 8 бит
являются кодом семейства. Следующие 48 бит являются уникальным серийным номером.
Последние 8 бит являются контрольной сумой (CRC) первых 56 бит (см. рис. 3). Контрольная
сумма получена с помощью генератора, выполненного на основе сдвигового регистра и элементов
«исключающее ИЛИ», как показано на рис. 4, и использующего полином X
8
+ X
5
+ X
4
+ 1.
Дополнительную информацию о контрольной сумме, используемой фирмой Dallas Semiconductor,
можно найти в книге «Book of DS19xx iButton Standards». Биты сдвигового регистра
инициализируется нулем. Затем, начиная с младшего бита кода семейства, по одному биту в
сдвиговый регистр вводятся данные. После ввода 8-го бита кода семейства вводятся биты
серийного номера. После ввода 48-го бита серийного номера сдвиговый регистр содержит
значение CRC. Если ввести еще 8 бит CRC, то содержимое регистра вновь станет равным нулю.
Рис. 3. 64-БИТНОЕ ПЗУ, ЗАПИСАННОЕ ЛАЗЕРОМ
СТАРШИЙ
БИТ
МЛАДШИЙ
БИТ
8-
CRC
БИТНАЯ
48-БИТНЫЙ СЕРИЙНЫЙ НОМЕР
8-
h)
БИТНЫЙ КОД СЕМЕЙСТВА (18
Рис. 4. ГЕНЕРАТОР CRC
Полином = X + X + X + 1
8
5
4
1-й
каскад
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
Входные данные
=1
=1
=1
КАРТА ПАМЯТИ
Как показано на блок-схеме, DS1963S имеет четыре области памяти: память данных, память
секретных кодов, счетчики и блокнот. Каждая из этих областей памяти организована в виде
страниц по 32 байта, как показано на рис. 5. Блокнот используется как буфер при записи памяти
данных или памяти секретных кодов. Страницы 0..15 имеют неограниченный доступ для
записи/чтения. Они насчитывают 4096 бит энергонезависимого ОЗУ. Страницы 16 и 17 содержат
восемь 64-битных секретных кодов, которые пользователь может только записывать. Для чтения
секретные коды доступны только блоку SHA, который использует их для вычисления кода
аутентификации сообщения. Шестнадцать 32-битных счетчиков подсчитывают количество циклов
записи в страницы 8..15, а также в область каждого из восьми секретных кодов. Эти счетчики
расположены в страницах 19 и 20 и могут быть считаны без каких-либо ограничений. Страница 21
содержит счетчик, который инкрементируется при каждом запуске блока SHA. Значение этого
счетчика используется для генерации псевдослучайных чисел и поэтому он называется
PRNG-счетчиком. Поскольку блок SHA потребляет примерно в 20 раз больше энергии, чем
копирование всего блокнота в память, PRNG-счетчик может быть использован как индикатор
оставшихся в устройстве запасов энергии. Блокнот физически расположен в странице 18.