所有的1-Wire?器件,包括iButton?器件,在只讀存儲器(ROM)中都包含一個8字節(jié)的唯一注冊號。該注冊號用作1-Wire總線上的唯一網(wǎng)絡(luò)地址。為了確保數(shù)據(jù)通信的完整性,每個注冊號的一個字節(jié)為1-Wire CRC字節(jié)。本應(yīng)用筆記介紹了如何計算該8位1-Wire CRC。它還繼續(xù)說明用于驗證保存在設(shè)備內(nèi)存中的記錄的16位CRC。1-Wire CRC和CRC-16均在選定的1-Wire器件的硬件中生成,以驗證數(shù)據(jù)。
介紹
Maxim iButton產(chǎn)品是一系列器件,它們均按照稱為1-Wire協(xié)議的特定命令序列,通過一條線進(jìn)行通信。每個設(shè)備的關(guān)鍵特性是在制造時寫入每個部件的唯一8字節(jié)ROM代碼。這個8字節(jié)代碼的組成部分可以在圖1中看到。最低有效字節(jié)包含一個家族代碼,該家族代碼標(biāo)識iButton產(chǎn)品的類型。例如,DS1990A的家族代碼為01十六進(jìn)制,DS1922L的家族代碼為41十六進(jìn)制。由于相同或不同系列類型的多個設(shè)備可以同時駐留在同一條1-Wire總線上,因此對于主機來說,確定如何正確訪問其位于1-Wire總線上的每個設(shè)備非常重要。
Maxim 1-Wire CRC
使用最少的硬件就能最有效地定位串行數(shù)據(jù)流中的錯誤的錯誤檢測方案就是CRC。給出了Maxim產(chǎn)品中使用的CRC函數(shù)的操作和特性,而沒有涉及證明陳述和描述的數(shù)學(xué)細(xì)節(jié)。參考文獻(xiàn)中詳細(xì)描述了CRC屬性背后的數(shù)學(xué)概念。通過考慮功能,可以很容易地理解CRC,因為它實際上是內(nèi)置在硬件中的,通常表示為帶反饋的移位寄存器結(jié)構(gòu),如下圖所示。
iButton設(shè)備中RAM記錄的CRC-16計算
如簡介中所述,某些iButton設(shè)備除了在所有iButton設(shè)備中都具有唯一的8字節(jié)ROM代碼外,還具有RAM。由于與8字節(jié)ROM代碼相比,RAM中存儲的數(shù)據(jù)量可能很大,因此Maxim建議使用16位CRC值來確保數(shù)據(jù)的完整性,而不是使用8位1-Wire CRC來確保數(shù)據(jù)的完整性。只讀存儲器。建議的特定CRC通常稱為CRC-16。首先,短暫的間歇性連接會導(dǎo)致少量的誤碼出現(xiàn)在數(shù)據(jù)中,這是普通CRC-16功能旨在檢測的。當(dāng)完全失去聯(lián)系時(例如,當(dāng)iButton設(shè)備從閱讀器中移出太快時),就會發(fā)生第二種類型的錯誤。
編輯:hfy
-
存儲器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167423 -
數(shù)據(jù)通信
+關(guān)注
關(guān)注
2文章
470瀏覽量
34473
發(fā)布評論請先 登錄
1-Wire時序的理解及配置
如何訪問1-Wire API
怎么使用增強型CRC計算1線CRC?
應(yīng)用筆記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總線主控

為嵌入式應(yīng)用選擇合適的1-Wire主機

DS2431 1024位1-Wire EEPROM技術(shù)手冊

評論