0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何计算该8位1-Wire CRC

电子设计 来源:eeweb 作者:Maxim 2021-05-14 11:47 次阅读

所有的1-Wire®器件,包括iButton®器件,在只读存储器(ROM)中都包含一个8字节的唯一注册号。该注册号用作1-Wire总线上的唯一网络地址。为了确保数据通信的完整性,每个注册号的一个字节为1-Wire CRC字节。本应用笔记介绍了如何计算该8位1-Wire CRC。它还继续说明用于验证保存在设备内存中的记录的16位CRC。1-Wire CRC和CRC-16均在选定的1-Wire器件的硬件中生成,以验证数据。

介绍

Maxim iButton产品是一系列器件,它们均按照称为1-Wire协议的特定命令序列,通过一条线进行通信。每个设备的关键特性是在制造时写入每个部件的唯一8字节ROM代码。这个8字节代码的组成部分可以在图1中看到。最低有效字节包含一个家族代码,该家族代码标识iButton产品的类型。例如,DS1990A的家族代码为01十六进制,DS1922L的家族代码为41十六进制。由于相同或不同系列类型的多个设备可以同时驻留在同一条1-Wire总线上,因此对于主机来说,确定如何正确访问其位于1-Wire总线上的每个设备非常重要。

pIYBAGCd8n2AOVsbAACQoPcMMQQ570.png

Maxim 1-Wire CRC
使用最少的硬件就能最有效地定位串行数据流中的错误的错误检测方案就是CRC。给出了Maxim产品中使用的CRC函数的操作和特性,而没有涉及证明陈述和描述的数学细节。参考文献中详细描述了CRC属性背后的数学概念。通过考虑功能,可以很容易地理解CRC,因为它实际上是内置在硬件中的,通常表示为带反馈的移位寄存器结构,如下图所示。

o4YBAGCd8oiAGh2CAABcb9sDcVg056.png

iButton设备中RAM记录的CRC-16计算
如简介中所述,某些iButton设备除了在所有iButton设备中都具有唯一的8字节ROM代码外,还具有RAM。由于与8字节ROM代码相比,RAM中存储的数据量可能很大,因此Maxim建议使用16位CRC值来确保数据的完整性,而不是使用8位1-Wire CRC来确保数据的完整性。只读存储器。建议的特定CRC通常称为CRC-16。首先,短暂的间歇性连接会导致少量的误码出现在数据中,这是普通CRC-16功能旨在检测的。当完全失去联系时(例如,当iButton设备从阅读器中移出太快时),就会发生第二种类型的错误。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163775
  • 数据通信
    +关注

    关注

    2

    文章

    431

    浏览量

    33756
收藏 人收藏

    评论

    相关推荐

    1-Wire时序的理解及配置

    本帖最后由 gk320830 于 2015-3-8 23:26 编辑 摘要:DS2480B是带有UART主机接口的1-Wire?主机(驱动器)。驱动器专门为电源传输进行优化,并支持嵌入式
    发表于 11-12 00:17

    如何访问1-Wire API

    任何组件在创建者来实现这一点。有人知道如何访问1-Wire API吗?谢谢 以上来自于百度翻译 以下为原文I have been looking for a 1-wire component
    发表于 07-29 15:25

    怎么使用增强型CRC计算1线CRC

    CRC模块的配置有什么问题呢?我已经搜索过一些例子来使用PIC硬件CRC来实现1-Wire传感器,但是没有找到任何东西:
    发表于 04-08 10:07

    应用笔记187 1-Wire搜索算法

    应用笔记187 1-Wire搜索算法 Dallas Semiconductor的每片1-Wire®器件都有唯一的64 注册码,它存储在只读存储器(ROM)中。在1-Wire
    发表于 04-10 09:59 25次下载

    1-Wire搜索算法

    摘要:Maxim的1-Wire®器件都带有一个64的唯一注册码,存储在只读存储器内(ROM),能够在1-Wire网络中通过1-Wire主机对其寻址。如果
    发表于 04-30 14:09 1382次阅读
    <b class='flag-5'>1-Wire</b>搜索算法

    1-Wire器件与8051系列单片机的软件接口

    摘 要:分析了1-Wire总线的硬件结构和通信协议,结合实际应用设计了1-Wire器件与8051系列单片机的软件接口。 关键词:1-Wire总线,软件接口,CRC校验  
    发表于 05-17 12:40 2031次阅读
    <b class='flag-5'>1-Wire</b>器件与8051系列单片机的软件接口

    Reading and Writing 1-Wire Dev

    Reading and Writing 1-Wire Devices Through Serial Interfaces Abstract: This application note
    发表于 06-27 23:47 1589次阅读
    Reading and Writing <b class='flag-5'>1-Wire</b> Dev

    A Simple 1-Wire DAC

    A Simple 1-Wire DAC Abstract: Connecting the outputs of a 1-Wire addressable switch (DS2408) to a
    发表于 10-23 17:44 1071次阅读
    A Simple <b class='flag-5'>1-Wire</b> DAC

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

    简单软件实现1-Wire温度器件的硬件CRC校验和串行码流的误码检测 所有1-Wire温度器件均包含一个唯一的识别码,保存在只读存储器(ROM)内,识别码在
    发表于 12-19 10:06 1321次阅读

    DS28E04-100 4096,1-Wire EEPROM芯片

    DS28E04-100是具有7个地址输入的40961-Wire® EEPROM芯片。地址输入直接映射到1-Wire 64器件ID号上,使主机系统能够在多器件
    发表于 12-23 10:44 3090次阅读
    DS28E04-100 4096<b class='flag-5'>位</b>,<b class='flag-5'>1-Wire</b> EEPROM芯片

    1-Wire总线主机

    Abstract: Communication with 1-Wire slave devices requires a 1-Wire master. There are numerous ways
    发表于 10-19 17:02 53次下载

    可靠的长线1-Wire网络指南

    1-Wire协议最初设计用于通过短连接与附近设备进行通信。1-Wire也是在单个微处理器端口引脚上增加辅助存储器的一种方式。后来开发的方法将1-Wire协议扩展到远远超出电路板尺寸的网络应用。本文
    的头像 发表于 03-01 14:21 1856次阅读
    可靠的长线<b class='flag-5'>1-Wire</b>网络指南

    使用UART实现1-Wire总线主控

    Master软件实用程序,实用程序可生成标准和过驱速度时序,以辅助开发。UART字节时序设置具有灵活性,可以直接实现1-Wire时隙以及复位和存在检测脉冲。
    的头像 发表于 03-29 11:28 3946次阅读
    使用UART实现<b class='flag-5'>1-Wire</b>总线主控

    了解和使用Maxim 1-Wire和iButton产品的循环冗余校验

    1-Wire CRC字节。本应用笔记解释了如何计算这种81-Wire
    的头像 发表于 05-16 11:23 1274次阅读
    了解和使用Maxim <b class='flag-5'>1-Wire</b>和iButton产品的循环冗余校验

    为嵌入式应用选择合适的1-Wire主机

    本文讨论的电路为1-Wire主机控制器,它们均与1-Wire从器件通信。 但是,这些1-Wire主机控制器不能作为单独的主体,需要一个主机(计算机)告诉它们在
    的头像 发表于 06-13 09:40 1197次阅读
    为嵌入式应用选择合适的<b class='flag-5'>1-Wire</b>主机