2012年12月3日 星期一

DIY - PIC:18F4550 DS18B20 ROM 的序列號介紹 (一百五十)

DIY - PIC18F4550 DS18B20 ROM 的序列號介紹 (一百五十)

在每一個 DS18B20 內部的 ROM 都在出廠前被光刻了一個唯一的序列號 (Silicon Serial Number),光刻 ROM 的作用是使每一個 DS18B20 序列號都各不相同,便可連接多個 DS18B20 (Multiple DS18B20) 在總線上。
 
DS18B20
在祇有一個 DS18B20 在總線上時,讀取單 DS18B20 內的溫度數據,程式是不用讀取序列號 (Silicon Serial Number) ,可以用 Skip ROM (CCh) 指令去讀取 DS18B20 內的溫度數據便可,不用理會序列號。
單個 DS18B20 在總線上
但多個 DS18B20 (Multiple DS18B20) 同時存在於同一條總線上,而每一個 DS18B20 放在不同地方作溫度測量時,程式可以選擇不同的序列號 (Silicon Serial Number),用作讀取不同的 DS18B20 感應器內的溫度數據,這時候序列號便發揮作用了。
多個 DS18B20 (Multiple DS18B20) 在總線上
DS18B20 的序列號 (Silicon Serial Number) 是儲存於內部的 ROM,序列號是一個由 64bit 的號碼組成,開始是 8bit 的單線 (One Wire)  產品系列編號,DS18B20 的編號是 28 (10h, 00101000) ,接著是 48bit 的序列號,最後 8bit 是開始的 56bit (8+48bit) CRC (循環冗餘校驗,Cyclic redundancy Check) 驗證碼,總線可以根據 64bit 56bit 數據計算出 CRC 值作驗證。
DS18B20 的序列號 (Silicon Serial Number)
DS18B20 64bit 序列號的最後 8 bit CRC 驗證碼,總線可以根據 64bit 56bit 數據計算出 CRC 值作驗證,DS18B20 的多項式函数 (Polynomials) 如下:
DS18B20 多項式函数 (Polynomials)
DS18B20 也是利用上述的多項式函数 (Polynomials) 產生一個 8bit 驗證碼,並把驗證碼提供給總線作數據傳送驗證之用,總線 CRC 可使用以下圖示,由移位寄存器加異或 (XOR) 邏輯門組成多項式函数產生器來產生,首先移位寄存器的所有 bit 初始化為 0,然後從 8bit 產品編號最低有效位 (LSB) 開始,每次移入一位,接著是 48bit 的序列號,完成後移位寄存器便包含了 8bit CRC 驗證碼,並把計算得得的驗證碼數值儲存在 64bit 的最後 8bit,或者儲存在暫存器 (Scratchpad) 的第 8byte
DS18B20 的多項式函数 (Polynomials) 產生器
DS18B20 Memory Map
相關網址:
※ DIY - PIC:18F4550 DS18B20 ROM 的序列號介紹 (一百五十)
※ DIY - PIC:18F4550 單個 DS18B20 ROM 的序列號讀取程式 (一百五十一)
※ DIY - PIC:18F4550 + DS18B20 溫度感測器線 + 4mm 插頭 (一百五十二)
※ DIY - PIC:18F4550 多個 DS18B20 ROM 的序列號讀取方式 (一百五十三)
※ DIY - PIC:18F4550 多個 DS18B20 ROM 的序列號讀取程式 (一百五十四)
※ DIY - PIC:18F4550 多個 DS18B20 Data Logger 資料記錄儀 + PS/2 鍵盤 (一百五十五)
※ DIY - PIC:18F4550 多個 DS18B20 Data Logger 資料記錄儀 + RS232 (一百五十六)
※ DIY - PIC:18F4550 多個 DS18B20 Data Logger 資料記錄儀 (一百五十七)

相關網址:
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 機殼設計 (一百三十八)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 機殼加工 (一百三十九)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 面背板組裝 (一百四十)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 系統底板 (一百四十一)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 底板組裝 (一百四十二)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 系統組裝 (一百四十三)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 附件加工 (一百四十四)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 充電池 (一百四十五)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 鋰離子電池 (一百四十六)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 充電板 (一百四十七)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 充電板組裝 (一百四十八)
※ DIY - PIC:18F4550 Data Logger 資料記錄儀 – 藍屏 LCD 1602 (一百四十九)

2012年 12月 3日 天氣報告
氣溫:17.2@ 22.40
相對濕度:百分之 81%
天氣:微雨

沒有留言:

張貼留言