简单软件实现1-Wire®温度器件的硬件CRC校验和串行码流的误码检测

上传:klausqhy 浏览: 11 推荐: 0 文件:pdf 大小:114.87 KB 上传时间:2022-09-27 19:51:57 版权申诉

摘要:所有1-Wire温度器件均包含一个唯一的识别码,保存在只读存储器(ROM)内,该识别码在1-Wire总线中用作唯一的网络地址。另外,部分温度器件的暂存器还有一个CRC(循环冗余校验)字节用于1-Wire通信验证。本应用笔记以及附带的程序提供了一种简单途径,验证1-Wire器件之间通信的正确性,并检测串行数据流的误码。这种方法能够在每个器件中通过软件计算DOW(Dallas单线)CRC,并与器件的硬件CRC值进行对比。本文将以DS1822经济型1-Wire数字温度计为例进行说明。简单软件实现1-Wire温度器件的硬件CRC校验和串行码流的误码检测HrishikeshShindeDec18,2009摘要:所有1-Wire温度器件均包含一个唯一的识别码,保存在只读存储器(ROM)内,该识别码在1-Wire总线中用作唯一的网络地址。另外,部分温度器件的暂存器还有一个CRC(循环冗余校验)字节用于1-Wire通信验证。本应用笔记以及附带的程序提供了一种简单途径,验证1-Wire器件之间通信的正确性,并检测串行数据流的误码。这种方法能够在每个器件中通过软件计算DOW(Dallas单线)CRC,并与器件的硬件CRC值进行对比。本文将以DS1822经济型1-Wire数字温度计为例进行说明。CRC算法CRC(循环冗余校验)是串行数据流中检测误码最有效的方法,CRC校验能够使用户确保温度检测器件之间的数据传输正确,该方法对硬件需求最小。DOW(Dallas单线)CRC用于Maxim的1-Wire温度检测产品,例如:DS1821、DS1822和DS18B20。DOWCRC可以利用下列多项式表示:多项式=X8+X5+X4+1详细的CRC算法,请参考应用笔记27:“理解和运用MaximiButton产品中的循环冗余校验(CRC)”。从以下硬件电路的功能可以很容易理解CRC,通常表示为带反馈的移位寄存器,图1给出了DS1822的硬件电路框图。图1.CRC硬件模型ROM码CRC每个DS1822都在其ROM中保存了一个唯一的8字节识别码,该ROM码的最低有效字节为DS1822的1-Wire家族码:22h。随后6个字节是唯一的序列号,最高有效字节为CRC字节,由ROM码的前面7个字节计算得到。暂存器CRCDS

上传资源
用户评论