首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 嵌入式系统 > 简单软件实现1-Wire®温度器件的硬件CRC校验和串行码流的误码检测

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

资料介绍
摘要:所有1-Wire温度器件均包含一个唯一的识别码,保存在只读存储器(ROM)内,该识别码在1-Wire总线中用作唯一的网络地址。另外,部分温度器件的暂存器还有一个CRC (循环冗余校验)字节用于1-Wire通信验证。本应用笔记以及附带的程序提供了一种简单途径,验证1-Wire器件之间通信的正确性,并检测串行数据流的误码。这种方法能够在每个器件中通过软件计算DOW (Dallas单线) CRC,并与器件的硬件CRC值进行对比。本文将以DS1822经济型1-Wire数字温度计为例进行说明。
简单软件实现1-Wire 温度器件的硬件CRC校验和串行码流的误码检

Hrishikesh Shinde
Dec 18, 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。DOW CRC 可以利
用下列多项式表示:

多项式 = 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 个字节计算得到。


暂存器CRC
DS
标签:Maxim1-wireDS18B20DS1822DS1821
简单软件实现1-Wire®温度器件的硬件CRC校验和串行码流的误码检测
本地下载

评论