所有的1-Wire?器件,包括iButton?器件,在只讀存儲器(ROM)中都包含一個8字節(jié)的唯一注冊號。該注冊號用作1-Wire總線上的唯一網絡地址。為了確保數據通信的完整性,每個注冊號的一個字節(jié)為1-Wire CRC字節(jié)。本應用筆記介紹了如何計算該8位1-Wire CRC。它還繼續(xù)說明用于驗證保存在設備內存中的記錄的16位CRC。1-Wire CRC和CRC-16均在選定的1-Wire器件的硬件中生成,以驗證數據。
介紹
Maxim iButton產品是一系列器件,它們均按照稱為1-Wire協(xié)議的特定命令序列,通過一條線進行通信。每個設備的關鍵特性是在制造時寫入每個部件的唯一8字節(jié)ROM代碼。這個8字節(jié)代碼的組成部分可以在圖1中看到。最低有效字節(jié)包含一個家族代碼,該家族代碼標識iButton產品的類型。例如,DS1990A的家族代碼為01十六進制,DS1922L的家族代碼為41十六進制。由于相同或不同系列類型的多個設備可以同時駐留在同一條1-Wire總線上,因此對于主機來說,確定如何正確訪問其位于1-Wire總線上的每個設備非常重要。

Maxim 1-Wire CRC
使用最少的硬件就能最有效地定位串行數據流中的錯誤的錯誤檢測方案就是CRC。給出了Maxim產品中使用的CRC函數的操作和特性,而沒有涉及證明陳述和描述的數學細節(jié)。參考文獻中詳細描述了CRC屬性背后的數學概念。通過考慮功能,可以很容易地理解CRC,因為它實際上是內置在硬件中的,通常表示為帶反饋的移位寄存器結構,如下圖所示。

iButton設備中RAM記錄的CRC-16計算
如簡介中所述,某些iButton設備除了在所有iButton設備中都具有唯一的8字節(jié)ROM代碼外,還具有RAM。由于與8字節(jié)ROM代碼相比,RAM中存儲的數據量可能很大,因此Maxim建議使用16位CRC值來確保數據的完整性,而不是使用8位1-Wire CRC來確保數據的完整性。只讀存儲器。建議的特定CRC通常稱為CRC-16。首先,短暫的間歇性連接會導致少量的誤碼出現(xiàn)在數據中,這是普通CRC-16功能旨在檢測的。當完全失去聯(lián)系時(例如,當iButton設備從閱讀器中移出太快時),就會發(fā)生第二種類型的錯誤。
編輯:hfy
-
存儲器
+關注
關注
39文章
7738瀏覽量
171653 -
數據通信
+關注
關注
2文章
526瀏覽量
35090
發(fā)布評論請先 登錄
1-Wire時序的理解及配置
如何訪問1-Wire API
怎么使用增強型CRC計算1線CRC?
應用筆記187 1-Wire搜索算法
1-Wire搜索算法
1-Wire器件與8051系列單片機的軟件接口
Reading and Writing 1-Wire Dev
A Simple 1-Wire DAC
簡單軟件實現(xiàn)1-Wire溫度器件的硬件CRC校驗和串行碼流的
DS28E04-100 4096位,1-Wire EEPROM芯片
1-Wire總線主機
使用UART實現(xiàn)1-Wire總線主控
DS2431 1024位1-Wire EEPROM技術手冊
如何計算該8位1-Wire CRC
評論