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

    文章

    7150

    浏览量

    161998
  • 数据通信
    +关注

    关注

    2

    文章

    395

    浏览量

    33521
收藏 人收藏

    评论

    相关推荐

    基于DS2432的USB口1-Wire总线适配器的设计

    公司设计的1-Wire总线是众多现场总线中极具竞争力的一种。具备能与计算机进行数字通信、总线负载量大、布线简练、精度高、性能稳定、价格便宜等诸多优点,特别是非常适合中短距离通信,是工业系统设计的高级境界
    发表于 07-11 07:24

    基于C++模板技术的1-wire总线编程

    操作。得益于 C++ 的模板编程,这个 1-wire 库是非常灵活而高效的:它可以选择枚举、数据链路、以及实现数据链路的物理方法。例如示例中的定义:ds18b20_t ds18b20[8];表示了以
    发表于 11-22 23:40

    1-Wire时序的理解及配置

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

    1-Wire 总线读写器

    Maxim Dallas 1-Wire 专用读写器DS9097/DS9490 淘宝网{:23:}
    发表于 07-10 14:30

    1-Wire接口

    1-Wire接口要适应12V供电的芯片有什么?
    发表于 11-12 11:20

    请问1-wire支持热插拔吗?

    1-wire支持热插拔吗?怎样实现?
    发表于 10-19 10:58

    微控制器和1-Wire温度传感器的软件接口

    。DSl8B20、DS18C20或DSl822是业内更高精度( 0.5℃)的1-Wire多点数字温度传感器,其特点是:*具有1-Wire数字接口*唯一的64序列号*宽广的温度测量范围
    发表于 12-17 11:29

    如何访问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

    如何使用FlexIO块访问1-wire设备?

    我的 MCU 是 RT1052,现在我需要访问一个温度传感器 DS18B20,这是一个具有单线协议的设备。使用延迟功能访问 1-wire 协议的方法不适用于 RTOS。 从参考手册来看,1-wire
    发表于 04-23 06:43

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

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

    A Simple 1-Wire DAC

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

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

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

    1-Wire总线主机

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

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

    节为1-Wire CRC字节。本应用笔记解释了如何计算这种8位1-Wire CRC。它还继续解释用于验证保存在设备内存中的记录的 16 位
    的头像 发表于 05-16 11:23 668次阅读
    了解和使用Maxim <b class='flag-5'>1-Wire</b>和iButton产品的循环冗余校验