所需E币: 3
时间: 2019-12-24 23:28
大小: 238.56KB
摘要:全部1-Wire®器件,包括iButton®器件,都具有唯一的8字节注册码,储存在只读存储器(ROM)中。该注册码在1-Wire总线上用作唯一的网络地址。为确保数据通信的完整性,每个注册码的一个字节是一个DOWCRC字节。本篇应用笔记说明了8位DOWCRC的计算方法以及用于验证器件存储器记录的16位CRC的计算。DOWCRC和CRC-16还会在选择1-Wire器件验证数据的硬件中产生。理解和运用MaximiButton产品中的循环冗余校验(CRC)Aug25,2004摘要:全部1-Wire器件,包括iButton器件,都具有唯一的8字节注册码,储存在只读存储器(ROM)中。该注册码在1-Wire总线上用作唯一的网络地址。为确保数据通信的完整性,每个注册码的一个字节是一个DOWCRC字节。本篇应用笔记说明了8位DOWCRC的计算方法以及用于验证器件存储器记录的16位CRC的计算。DOWCRC和CRC-16还会在选择1-Wire器件验证数据的硬件中产生。引言Maxim的iButton系列产品是通过单线按照1-Wire协议传送特定命令序列,进行数据通信。该系列产品都有个很重要的特性,就是在出厂前每个器件都被写入了唯一的8字节ROM码。其ROM码组成如图1所示,最低有效字节为家族代码,代表iButton器件的类型,如:DS1990A的家族码为01,DS1991的家族码为02。由于在同一条1-Wire总线上可同时挂接多个相同系列或不同系列的1-Wire器件,因此主机必须能够决定如何正确地访问位于1-Wire总线上的各个器件,这一点尤为重要。家族码提供器件的类型,随后的6个字节是器件的唯一序列号,用以区分同一个系列的不同器件。该序列号可作为1-Wire总线上器件的“地址”,这样1-Wire总线上的所有器件连同主机就构成了一个微型局域网(MicroLAN),它们之间通过一条公共线来进行通信。1-Wire器件ROM码的最高有效字节是循环冗余校验(CRC)码,该值基于前面的7个字节数据。当系统主机开始与某个器件进行通信时,可以读取8个ROM字节,低位在前。如果主机计算出的CRC码与ROM数据本身所含的CRC码相同,则通信有效;反之,则表明有错误发生,需重新读取器件的ROM……