ds18b20溫度傳感器數(shù)據(jù)手冊(cè),ds18b20溫度傳感器測(cè)溫范圍
chanong
來(lái)源:百文網(wǎng)_Embedded Linux wiki_jz2440 新視頻Wiki教程(視頻文字版) 作者:Wei Dongshanmoto 字?jǐn)?shù):1322,閱讀時(shí)間:2分鐘
比DHT11溫濕度傳感器準(zhǔn)確得多
DS18B20只通過(guò)一根數(shù)據(jù)線傳輸數(shù)據(jù),控制器必須向芯片傳輸數(shù)據(jù),芯片也必須向控制器傳輸數(shù)據(jù),所以這是一種雙向數(shù)據(jù)傳輸。
如何實(shí)現(xiàn)引腳上數(shù)據(jù)的雙向傳輸: 請(qǐng)參閱本視頻第19 分鐘開(kāi)始的內(nèi)容: 第19 課_第001 節(jié)_I2C 協(xié)議和EEPROM
需要主控芯片來(lái)檢測(cè)溫度
如果你有多個(gè)溫度傳感器,就需要一個(gè)主控制器來(lái)管理它們,發(fā)送命令和發(fā)送數(shù)據(jù),并且每個(gè)設(shè)備在芯片內(nèi)部都有一個(gè)64位的ID ROM來(lái)區(qū)分不同的設(shè)備,它是固化的。
如果主控制器想要訪問(wèn)該設(shè)備,則必須發(fā)送帶有ID返回值的命令。
如何訪問(wèn)指定的DS18B20
0 發(fā)送低脈沖提醒準(zhǔn)備工作: 初始化1 發(fā)出ID 命令:ROM 命令2 發(fā)出功能命令: 功能命令a 轉(zhuǎn)換溫度b 讀取溫度并讀取數(shù)據(jù)每個(gè)操作都需要重復(fù)以上過(guò)程
內(nèi)部框圖
溫度傳感器溫度ADC
SCRATCHPAD實(shí)際上是9個(gè)字節(jié)的內(nèi)存,這9個(gè)字節(jié)的說(shuō)明如下所示。
溫度值存儲(chǔ)在內(nèi)存的9 個(gè)字節(jié)中:BYTE0 和BYTE1。即發(fā)送溫度值命令后,需要發(fā)送內(nèi)存讀命令來(lái)讀取溫度值。
最后一位是CRC校驗(yàn)碼,通過(guò)將數(shù)據(jù)的前8位與校驗(yàn)碼的最后一位進(jìn)行比較,64位數(shù)據(jù)中的8位就成為校驗(yàn)碼。
如何采樣溫度?
1 初始化2 ROM 命令3 FunctionCommand 設(shè)置某些值,如轉(zhuǎn)換溫度4 等待完成5 init6 Rom cmd7 Function Command 讀取RAM 中的值EEPROM 寄存器的前兩個(gè)字節(jié)是供您自己使用的,可以用來(lái)設(shè)置。要配置Th Tl 寄存器,請(qǐng)使用Th Tl 寄存器設(shè)置警報(bào)、溫度上限或下限。當(dāng)溫度超過(guò)一定值時(shí)就會(huì)觸發(fā)警報(bào)。所謂報(bào)警只是在DS18B20上設(shè)置一個(gè)狀態(tài),而不能主動(dòng)通知主芯片的主人。芯片可以發(fā)出特定的命令來(lái)確定哪個(gè)芯片發(fā)出了警報(bào)。配置寄存器用于設(shè)置精度。準(zhǔn)確度越高,持續(xù)時(shí)間越長(zhǎng)。轉(zhuǎn)換時(shí)間。
如何使用EEPROM
1. 上電時(shí),EEPROM自動(dòng)寫(xiě)入RAM以控制精度。
2 寫(xiě)入EEPROM a. 先發(fā)送寫(xiě)入RAM 的命令。
RAM 至EEPROM
3 讀取EEPROM 值。 a 將EEPROM 值保存到RAM。
b 發(fā)出讀取RAM 的命令。
關(guān)于ROM 命令和功能命令匯總表
信號(hào)傳輸
1 初始化(initialization)方法
2 如何發(fā)送數(shù)據(jù),如何發(fā)送1位,如何發(fā)送位0
如何發(fā)送bit1
3 如何讀取數(shù)據(jù)==如何讀取1位,如何讀取0
如何判斷是否已讀1
初始化時(shí)序
第一個(gè)是高水平。如果要開(kāi)始發(fā)送信號(hào),至少需要480us的低電平來(lái)釋放總線。 15~60us后,DS18B20將該線拉低60~240us。
2 如何發(fā)送數(shù)據(jù),如何發(fā)送1位
Bit0傳輸方式、Bit1傳輸方式、數(shù)據(jù)寫(xiě)入時(shí)序
不管你寫(xiě)的是0還是1,計(jì)時(shí)都會(huì)長(zhǎng)于60us。寫(xiě)入0 強(qiáng)制總線保持低電平超過(guò)60us。當(dāng)你寫(xiě)一個(gè)1時(shí),信號(hào)線會(huì)變低1us,提醒你寫(xiě)數(shù)據(jù),然后又變高,寫(xiě)1位的時(shí)間間隔是1us。
數(shù)據(jù)讀取時(shí)序也由主機(jī)發(fā)起。如果提醒脈沖大于1us,主機(jī)立即釋放總線。 15us內(nèi)讀取信號(hào)。讀取周期至少為60us,以及每一位之間的間隔。 1s。
提供了DS18B20 的編程圖。
電源
《新品發(fā)布會(huì)》STM32MP157開(kāi)發(fā)板現(xiàn)已接受預(yù)訂!初期產(chǎn)量?jī)H為300套。








