




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DS18B20 可編程分辨率的單總線 . 數(shù)字溫度計(jì) 特征獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊 每個(gè)器件有唯一的 64 位的序列號(hào)存儲(chǔ)在內(nèi)部存儲(chǔ)器中 簡(jiǎn)單的多點(diǎn)分布式測(cè)溫應(yīng)用 無(wú)需外部器件可通過(guò)數(shù)據(jù)線供電。供電范圍為 3.0V 到5.5V 測(cè)溫范圍為 -55125( 67257) 在 10 85范圍內(nèi)精確度為 5 溫度計(jì)分辨率可以被使用者選擇為 9 12位 最多在 750ms 內(nèi)將溫度轉(zhuǎn)換為 12 位數(shù)字 用戶可定義的非易失性溫度報(bào)警設(shè)置 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件 與DS1822 兼容的軟件 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)或任何熱感測(cè)系統(tǒng)引腳排
2、列說(shuō)明DS18B20 數(shù)字溫度計(jì)提供 9至12位的攝氏溫度測(cè)量,并具有易失性的用戶可編程觸發(fā) 點(diǎn)的上限和下限報(bào)警功能。 DS18B20 單總線通信按定義只需要一條數(shù)據(jù)線(和地線) 與中央微處理器進(jìn)行通信。它具有工作溫度范圍 55C + 125 C和準(zhǔn)確 0.5 C范圍- 10C + 85 C.此外, DS18B20 可以導(dǎo)出功率直接從數(shù)據(jù)線( “寄生蟲”),消除了外部 電源需要。每個(gè) DS18B20 都有一個(gè)唯一的 64位串行碼,它允許多個(gè) DS18B20 在同一根總線功能。 因此,它是用一個(gè)簡(jiǎn)單的微處理器控制, 大面積分布的許多 DS18B20s 。應(yīng)用程序可以 受益于這個(gè)功能包括空調(diào)環(huán)境控
3、制,建筑物內(nèi)的溫度監(jiān)控系統(tǒng),設(shè)備,或機(jī)械,和過(guò) 程監(jiān)控控制系統(tǒng)。詳細(xì)的引腳說(shuō)明 表18 引腳 SOIC 封 裝*TO-9 封裝符號(hào)說(shuō)明51GND接地。42DQ數(shù)據(jù)輸入 /輸出引 腳。 對(duì)于單線操 作: 漏極開路。當(dāng)工作 在寄生電源模式 時(shí) 用來(lái)提供電源(建 “寄生電源” 節(jié))。33VDD可選的 VDD 引 腳。工作與寄生電 源模 式時(shí)VDD必須接 地。概覽圖 1 是表示DS18B20 的方框圖,表 1 已經(jīng)給出了引腳說(shuō)明。 64 位只讀存儲(chǔ)器儲(chǔ)存 器件的唯一片序列號(hào)。高速暫存器含有兩個(gè)字節(jié)的溫度寄存器,這兩個(gè)寄存器用來(lái)存 儲(chǔ)溫度傳感器輸出的數(shù)據(jù)。除此之外,高速暫存器提供一個(gè)直接的溫度報(bào)警值寄存
4、器 (TH和TL),和一個(gè)字節(jié)的的配置寄存器。配置寄存器允許用戶將溫度的精度設(shè)定為 9,10,11 或 12 位。TH,TL 和配置寄存器是非易失性的可擦除程序寄存器 (EEPROM ), 所以存儲(chǔ)的數(shù)據(jù)在器件掉電時(shí)不會(huì)消失。DS18B20 通過(guò)達(dá)拉斯公司獨(dú)有的單總線協(xié)議依靠一個(gè)單線端口通訊。當(dāng)全部器件經(jīng)由 一個(gè)3態(tài)端口或者漏極開路端口( DQ引腳在DS18B20 上的情況下 )與總線連接的時(shí)候, 控制線需要連接一個(gè)弱上拉電阻。在這個(gè)總線系統(tǒng)中,微控制器(主器件)依靠每個(gè) 器件獨(dú)有的 64 位片序列號(hào)辨認(rèn)總線上的器件和記錄總線上的器件地址。由于每個(gè)裝置 有一個(gè)獨(dú)特的片序列碼 ,總線可以連接的器
5、件數(shù)目事實(shí)上是無(wú)限的。單總線協(xié)議,包括 指令的詳細(xì)解釋和“時(shí)序”見 單總線系統(tǒng) 節(jié)。DS18B20 的另一個(gè)功能是可以在沒(méi)有外部電源供電的情況下工作。當(dāng)總線處于高電平 狀態(tài),DQ與上拉電阻連接通過(guò)單總線對(duì)器件供電。同時(shí)處于高電平狀態(tài)的總線信號(hào)對(duì) 內(nèi)部電容( Cpp )充電,在總線處于低電平狀態(tài)時(shí),該電容提供能量給器件。這種提 供能量的形式被稱為“寄生電源”。作為替代選擇, DS18B20 同樣可以通過(guò) VDD 引腳 連接外部電源供電。DS18B20 方框圖 圖1測(cè)溫操作DS18B20 的核心功能是它的直接讀數(shù)字的溫度傳感器。溫度傳感器的精度為用戶可編 程的9,10,11或12位,分別以 0.5
6、,0.25,0.125 和0.0625 增量 遞增。在上電狀態(tài)下默認(rèn)的精度為 12 位。DS18B20 啟動(dòng)后保持低功耗等待狀態(tài); 當(dāng)需要執(zhí)行溫度測(cè)量和 AD轉(zhuǎn)換時(shí),總線控制器必須發(fā)出 44h 命令。在那之后, 產(chǎn)生的溫度數(shù)據(jù)以兩個(gè)字節(jié)的形式被存儲(chǔ)到高速暫存器的溫度寄存器中, DS18B20 繼 續(xù)保持等待狀態(tài)。當(dāng) DS18B20 由外部電源供電時(shí),總線控制器在溫度轉(zhuǎn)換指令之后發(fā) 起“讀時(shí)序”( 見單總線系統(tǒng)節(jié) ), DS18B20 正在溫度轉(zhuǎn)換中返回 0,轉(zhuǎn)換結(jié)束返回 1。 如果 DS18B20 由寄生電源供電,除非在進(jìn)入溫度轉(zhuǎn)換時(shí)總線被一個(gè)強(qiáng)上拉拉高,否則 將不會(huì)由返回值。寄生電源的總線要
7、求在 DS18B20 供電 節(jié)詳細(xì)解釋。報(bào)警操作信號(hào)DS18B20 完成一次溫度轉(zhuǎn)換后,就拿溫度值與和存儲(chǔ)在 TH和TL中一個(gè)字節(jié)的用 戶自定義的報(bào)警預(yù)置值進(jìn)行比較。 標(biāo)志位(S)指出溫度值的正負(fù): 正數(shù)S=0, 負(fù)數(shù)S=1 。 TH和TL寄存器是非易失性的, 所以它們?cè)诘綦姇r(shí)仍然保存數(shù)據(jù)。 在存儲(chǔ)器節(jié)將解釋 TH 和TL是怎么存入高速暫存器的第 2和第 3個(gè)字節(jié)的。TH 和TL 寄存器格式 圖3 當(dāng)TH 和TL為 8位寄存器時(shí), 4位溫度寄存器中的 11個(gè)位用來(lái)和 TH、 TL進(jìn)行比 較。如果測(cè)得的溫度高于 TH 或低于TL ,報(bào)警條件成立, DS18B20 內(nèi)部就會(huì)置位一個(gè) 報(bào)警標(biāo)識(shí)。每進(jìn)
8、行一次測(cè)溫就對(duì)這個(gè)標(biāo)識(shí)進(jìn)行一次更新;因此,如果報(bào)警條件不成立 了,在下一次溫度轉(zhuǎn)換后報(bào)警標(biāo)識(shí)將被移去。總線控制器通過(guò)發(fā)出報(bào)警搜索命令 ECh 檢測(cè)總線上所有的 DS18B20 報(bào)警標(biāo)識(shí)。任何 置位報(bào)警標(biāo)識(shí)的 DS18B20 將響應(yīng)這條命令,所以總線控制器能精確定位每一個(gè)滿足報(bào) 警條件的 DS18B20 。如果報(bào)警條件成立, 而TH 或TL 的設(shè)置已經(jīng)改變, 另一個(gè)溫度轉(zhuǎn)換 將重新確認(rèn)報(bào)警條件。DS18B20 供電DS18B20可以通過(guò)從 VDD引腳接入一個(gè)外部電源供電,或者可以工作于寄生電源模式, 該模式允許 DS18B20 工作于無(wú)外部電源需求狀態(tài)。寄生電源在進(jìn)行遠(yuǎn)距離測(cè)溫時(shí)是非 常有用的。
9、寄生電源的控制回路見圖 1,當(dāng)總線為高電平時(shí), 寄生電源由單總線通過(guò) VDD 引腳。這個(gè)電路會(huì)在總線處于高電平時(shí)偷能量,部分汲取的能量存儲(chǔ)在寄生電源儲(chǔ)能 電容( Cpp )內(nèi),在總線處于低電平時(shí)釋放能量以提供給器件能量。當(dāng) DS18B20 處于 寄生電源模式時(shí), VDD 引腳必須接地。寄生電源模式下,單總線和 Cpp 在大部分操作中能提供充分的滿足規(guī)定時(shí)序和電 壓的電流(見 直流電特性 和交流電特性 節(jié))給DS18B20 。然而,當(dāng)DS18B20 正在執(zhí)行 溫度轉(zhuǎn)換或從高速暫存器向 EPPROM 傳送數(shù)據(jù)時(shí),工作電流可能高達(dá) 1.5mA 。這個(gè)電 流可能會(huì)引起連接單總線的弱上拉電阻的不可接受的
10、壓降,這需要更大的電流,而此 時(shí)Cpp 無(wú)法提供。為了保證 DS18B20 由充足的供電,當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝數(shù)據(jù)到 EEPROM操作時(shí),必須給單總線提供一個(gè)強(qiáng)上拉。 用漏極開路把 I/O直接拉到電源上就 可以實(shí)現(xiàn),見圖 4。在發(fā)出溫度轉(zhuǎn)換指令 44h或拷貝暫存器指令 48h 之后,必須在至 多10us之內(nèi)把單總線轉(zhuǎn)換到強(qiáng)上拉,并且在溫度轉(zhuǎn)換時(shí)序 (tconv) 或拷貝數(shù)據(jù)時(shí)序 (ter=10 ms) 必須一直保持為強(qiáng)上拉狀態(tài)。 當(dāng)強(qiáng)上拉狀態(tài)保持時(shí), 不允許有其它的動(dòng)作。 對(duì)DS18B20 供電的另一種傳統(tǒng)辦法是從 VDD 引腳接入一個(gè)外部電源,見圖 5。這 樣做的好處是單總線上不需要強(qiáng)上拉。
11、而且總線不用在溫度轉(zhuǎn)換期間總保持高電 平。溫度高于 100時(shí),不推薦使用寄生電源,因?yàn)?DS18B20 在這種溫度下表現(xiàn)出的 漏電流比較大,通訊可能無(wú)法進(jìn)行。在類似這種溫度的情況下,強(qiáng)烈推薦使用 DS18B20 的VDD 引腳。對(duì)于總線控制器不直到總線上的 DS18B20 是用寄生電源還是用外部電源的情況, DS18B20 預(yù)備了一種信號(hào)指示電源的使用意圖??偩€控制器發(fā)出一個(gè) Skip ROM 指令 CCh ,然后發(fā)出讀電源指令 B4h ,這條指令發(fā)出后,控制器發(fā)出讀時(shí)序,寄生電源 會(huì)將總線拉低,而外部電源會(huì)將總線保持為高。如果總線被拉低,總線控制器就會(huì)知 道需要在溫度轉(zhuǎn)換期間對(duì)單總線提供強(qiáng)上
12、拉。DS18B20 溫度轉(zhuǎn)換期間的強(qiáng)上拉供電 圖4 外部電源給 DS18B20 供電 圖564 位(激)光刻只讀存儲(chǔ)器 每只DS18B20 都有一個(gè)唯一存儲(chǔ)在 ROM 中的 64 位編碼。最前面 8 位是單線系列編 碼:28h。接著的 48 位是一個(gè)唯一的序列號(hào)。最后 8 位是以上 56 位的 CRC 編碼。 CRC的詳細(xì)解釋見 CRC 發(fā)生器節(jié)。64位ROM和ROM操作控制區(qū)允許 DS18B20 作為 單總線器件并按照詳述于 單總線系統(tǒng) 節(jié)的單總線協(xié)議工作。64 位(激)光刻只讀存儲(chǔ)器 圖6存儲(chǔ)器DS18B20 的存儲(chǔ)器結(jié)構(gòu)示于圖 7。存儲(chǔ)器有一個(gè)暫存 SRAM和一個(gè)存儲(chǔ)高低報(bào)警觸發(fā)值 TH
13、 和TL 的非易失性電可擦除 EEPROM 組成。注意當(dāng)報(bào)警功能不使用時(shí), TH 和TL 寄存器可以被當(dāng)作普通寄存器使用。 所有的存儲(chǔ)器指令被詳述于 DS18B20 功能指令 節(jié)。 位0和位1為測(cè)得溫度信息的 LSB 和MSB 。這兩個(gè)字節(jié)是只讀的。第 2和第 3字 節(jié)是 TH 和TL 的拷貝。位 4 包含配置寄存器數(shù)據(jù),其被詳述于 配置寄存器 節(jié)。位 5, 6 和7被器件保留,禁止寫入;這些數(shù)據(jù)在讀回時(shí)全部表現(xiàn)為邏輯 1。 高速暫存器的位 8是只讀的,包含以上八個(gè)字節(jié)的 CRC 碼, CRC的執(zhí)行方式如 CRC 發(fā) 生器節(jié) 所述。數(shù)據(jù)通過(guò)寫暫存器指令 4Eh 寫入高速暫存器的 2,3和4位;
14、數(shù)據(jù)必須以位 2為 最低有效位開始傳送。為了完整的驗(yàn)證數(shù)據(jù),高速暫存器能夠在數(shù)據(jù)寫入后被讀 取(使用讀暫存器指令 BEh )。在讀暫存器時(shí),數(shù)據(jù)以位 0為最低有效位從單總 線移出。總線控制器傳遞從暫存器到 EEPROMTH,TL 和配置數(shù)據(jù)必須發(fā)出拷貝暫存器 指令48h 。EEPROM 寄存器中的數(shù)據(jù)在器件掉電時(shí)仍然保存;上電時(shí),數(shù)據(jù)被載入暫存器。 數(shù)據(jù)也可以通過(guò)召回 EEPROM 命令從暫存器載入 EEPROM 。總線控制器在發(fā)出這條 命令后發(fā)出讀時(shí)序, DS18B20 返回 0表示正在召回中,返回 1表示操作結(jié)束。DS18B20 存儲(chǔ)器圖 圖7*上電狀態(tài)依賴于 EEPROM 中的值配置寄存
15、器存儲(chǔ)器的第 4位為配置寄存器,其組織見圖 8。用戶可以通過(guò)按表 3所示設(shè)置 R0 和R1位來(lái)設(shè)定 DS18B20 的精度。上電默認(rèn)設(shè)置: R0=1,R1=1 ( 12位精度)。注意: 精度和轉(zhuǎn)換時(shí)間之間有直接的關(guān)系。暫存器的位 7和位 0-4 被器件保留,禁止寫 入;在讀回?cái)?shù)據(jù)時(shí),它們?nèi)勘憩F(xiàn)為邏輯 1。配置寄存器 圖8 溫度計(jì)精確度配置 表3CRC 發(fā)生器CRC字節(jié)作為 DS18B2064 位ROM的一部分存儲(chǔ)在存儲(chǔ)器中。 CRC 碼由ROM 的前56 位計(jì)算得到,被包含在 ROM的重要字節(jié)當(dāng)中。 CRC由存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)計(jì)算得到, 因此當(dāng)存儲(chǔ)器中的數(shù)據(jù)發(fā)生改變時(shí), CRC 的值也隨之
16、改變。CRC 能夠在總線控制器讀取 DS18B20 時(shí)進(jìn)行數(shù)據(jù)校驗(yàn)。為校驗(yàn)數(shù)據(jù)是否被正確讀取, 總線控制器必須用接受到的數(shù)據(jù)計(jì)算出一個(gè) CRC 值,和存儲(chǔ)在 DS18B20 的64 位 ROM 中的值(讀 ROM 時(shí))或 DS18B20 內(nèi)部計(jì)算出的 8 位CRC 值(讀存儲(chǔ)器時(shí)) 進(jìn)行比較。如果計(jì)算得到的 CRC 值和讀取出來(lái)的 CRC 值相吻合,數(shù)據(jù)被無(wú)錯(cuò)傳輸。 CRC 值的比較以及是否進(jìn)行下一步操作完全由總線控制器決定。當(dāng)在 DS18B20 中存儲(chǔ)的或 由其計(jì)算到 CRC值和總線控制器計(jì)算的值不相符時(shí), DS18B20 內(nèi)部并沒(méi)有一個(gè)能阻止 命令序列進(jìn)行的電路。CRC的計(jì)算等式如下:CR
17、C = X8 + X5 + X4 + 1 單總線CRC可以由一個(gè)由移位寄存器和 XOR 門構(gòu)成的多項(xiàng)式發(fā)生器來(lái)產(chǎn)生,見圖 9。 這個(gè)回路包括一個(gè)移位寄存器和幾個(gè) XOR 門,移位寄存器的各位都被初始化為 0。從 ROM 中的最低有效位或暫存器中的位 0開始,一次一位移入寄存器。在傳輸了 56位 ROM中的數(shù)據(jù)或移入了暫存器的位 7后,移位寄存器中就存儲(chǔ)了 CRC 值。下一步,CRC 的值必須被循環(huán)移入。此時(shí),如果計(jì)算得到的 CRC 是正確的,移位寄存器將復(fù) 0。 CRC 發(fā)生器 圖9單總線系統(tǒng) 單總線系統(tǒng)包括一個(gè)總線控制器和一個(gè)或多個(gè)從機(jī)。 DS18B20 總是充當(dāng)從機(jī)。當(dāng)只有 一只從機(jī)掛在總
18、線上時(shí),系統(tǒng)被稱為“單點(diǎn)”系統(tǒng);如果由多只從機(jī)掛在總線上,系 統(tǒng)被稱為“多點(diǎn)”。所有的數(shù)據(jù)和指令的傳遞都是從最低有效位開始通過(guò)單總線。 關(guān)于單總線系統(tǒng)分三個(gè)題目討論:硬件結(jié)構(gòu)、執(zhí)行序列和單總線信號(hào)(信號(hào)類型 和時(shí)序)。硬件結(jié)構(gòu) 單總線系統(tǒng)只有一條定義的信號(hào)線。每一個(gè)總線上的器件必須是漏極開路或三態(tài) 輸出。這樣的系統(tǒng)允許每一個(gè)掛在總線上的區(qū)間都能在適當(dāng)?shù)臅r(shí)間驅(qū)動(dòng)它。DS18B20 的單總線端口( DQ引腳)是漏極開路式的,內(nèi)部等效電路見圖 10 單總線需要一個(gè)約 5K 的外部上拉電阻;單總線的空閑狀態(tài)是高電平。無(wú)論任 何理由需要暫停某一執(zhí)行過(guò)程時(shí),如果還想恢復(fù)執(zhí)行的畫,總線 必須 停留在空閑 狀
19、態(tài)。在恢復(fù)期間,如果單總線處于非活動(dòng)(高電平)狀態(tài),位與位間的恢復(fù)時(shí) 間可以無(wú)限長(zhǎng)。如果總線停留在低電平超過(guò) 480us ,總線上的所有器件都將被復(fù) 位。硬件結(jié)構(gòu) 圖10 執(zhí)行序列 通過(guò)單線總線端口訪問(wèn) DS18B20 的協(xié)議如下: 步驟 1. 初始化 步驟2. ROM 操作指令 步驟3. DS18B20 功能指令 每一次DS18B20 的操作都必須滿足以上步驟,若是缺少步驟或是順序混亂,器件將不 會(huì)返回值。例如這樣的順序:發(fā)起 ROM搜索指令 F0h和報(bào)警搜索指令 ECh之后,總 線控制器必須返回步驟 1。初始化 通過(guò)單總線的所有執(zhí)行操作處理都從一個(gè)初始化序列開始。初始化序列包括一個(gè) 由總線
20、控制器發(fā)出的復(fù)位脈沖和其后由從機(jī)發(fā)出的存在脈沖。存在脈沖讓總線控 制器知道DS18B20在總線上且已準(zhǔn)備好操作,詳見 單總線信號(hào) 節(jié)。ROM 指令 一旦總線控制器探測(cè)到一個(gè)存在脈沖,它就發(fā)出一條 ROM 指令。如果總線上掛有多只 DS18B20 ,這些指令將基于器件獨(dú)有的 64 位ROM 片序列碼使得總線控制器選出特定 要進(jìn)行操作的器件。這些指令同樣也可以使總線控制器識(shí)別有多少只,什么型號(hào)的器 件掛在總線上, 同樣,它們也可以識(shí)別哪些器件已經(jīng)符合報(bào)警條件。 ROM指令有5條, 都是8 位長(zhǎng)度。總線控制器在發(fā)起一條 DS18B20 功能指令之前必須先發(fā)出一條 ROM 指 令。ROM 指令操作流程
21、圖見圖 11。Search ROM F0h ( 搜索 ROM 指令 ) 當(dāng)系統(tǒng)上電初始化的時(shí)候,總線控制器必須通過(guò)識(shí)別總線上所有 ROM 片序列碼去得到 從機(jī)的數(shù)目和型號(hào)。 總線控制器通過(guò)搜索 ROM 指令多次循環(huán)搜索 ROM 編碼,以確認(rèn)所 有從機(jī)器件。如果總線上只有一只從機(jī),那么可以用較為簡(jiǎn)單的讀取 ROM 指令(見 下文)代替搜索 ROM 指令,關(guān)于 iButton Book of Standards 見 。在每次搜索 ROM 指令之后,總線控制器必須返回步驟 1。READ ROM 33h (讀取 ROM 指令) 只有在總線上存在單只 DS18B20 的時(shí)候才能使用這條命令。該命令允許總
22、線控制器在 不使用搜索 ROM 指令的情況下讀取從機(jī)的 64 位片序列碼。如果總線上有不止一只從 機(jī),當(dāng)所有從機(jī)試圖同時(shí)傳送信號(hào)時(shí)就會(huì)發(fā)生數(shù)據(jù)沖突。MATH ROM 55h (匹配 ROM 指令) 匹配 ROM 指令,后跟 64 位ROM 編碼序列,讓總線控制器在多點(diǎn)總線上定位一只特 定的DS18B20 。只有和 64 位ROM 片序列碼完全匹配的 DS18B20 才能響應(yīng)隨后的存 儲(chǔ)器操作指令;所有和 64位ROM 片序列碼不匹配的從機(jī)都將等待復(fù)位脈沖。SKIP ROM CCh ( 忽略 ROM 指令 ) 這條指令允許總線控制器不用提供 64 位 ROM 編碼就使用功能指令。例如,總線控制
23、器可以先發(fā)出一條忽略 ROM 指令,然后發(fā)出溫度轉(zhuǎn)換指令 44h ,從而完成溫度轉(zhuǎn)換 操作。注意:當(dāng)只有一只從機(jī)在總線上時(shí),無(wú)論如何,忽略 ROM 指令之后只能跟著發(fā) 出一條讀取暫存器指令 BEh 。在單點(diǎn)總線情況下使用該命令,器件無(wú)需發(fā)回 64 位 ROM 編碼,從而節(jié)省了時(shí)間。如果總線上有不止一只從機(jī),若發(fā)出忽略 ROM 指令, 由于多只從機(jī)同時(shí)傳送信號(hào),總線上就會(huì)發(fā)生數(shù)據(jù)沖突。ALARM SEARCH ECH (報(bào)警搜索指令) 這條命令的流程和搜索 ROM 指令相同,然而,只有滿足報(bào)警條件的從機(jī)才對(duì)該命令作 出響應(yīng)。只有在最近一次測(cè)溫后遇到符合報(bào)警條件的情況, DS18B20 才會(huì)響應(yīng)這
24、條命 令。在每次報(bào)警搜索指令周期之后,總線控制器必須返回步驟 1。關(guān)于報(bào)警操作流程見 報(bào)警信號(hào)操作 節(jié)。DS18B20 功能指令 在總線控制器發(fā)給欲連接的 DS18B20 一條ROM 命令后,跟著可以發(fā)送一條 DS18B20 功能指令。這些命令允許總線控制器讀寫 DS18B20 的暫存器,發(fā)起溫度轉(zhuǎn)換和識(shí)別電 源模式。 DS18B20 的功能指令詳見下文,同時(shí)被概括于表 4,并用流程圖示于圖 12 CONVERT T 44h ( 溫度轉(zhuǎn)換指令 ) 這條命令用以啟動(dòng)一次溫度轉(zhuǎn)換。溫度轉(zhuǎn)換指令被執(zhí)行,產(chǎn)生的溫度轉(zhuǎn)換結(jié)果數(shù) 據(jù)以2個(gè)字節(jié)的形式被存儲(chǔ)在高速暫存器中,而后 DS18B20 保持等待狀態(tài)。
25、如果 寄生電源模式下發(fā)出該命令后,在溫度轉(zhuǎn)換期間( tconv ),必須在 10us(最多 ), 內(nèi)給單總線一個(gè)強(qiáng)上拉,見 DS18B20 供電節(jié)。如果DS18B20 以外部電源供電,總線 控制器在發(fā)出該命令后跟著發(fā)出讀時(shí)序, DS18B20 如處于轉(zhuǎn)換中, 將在總線上返回 0, 若溫度轉(zhuǎn)換完成,則返回 1。寄生電源模式下,總線被強(qiáng)上拉拉高前這樣的通訊技術(shù)不 會(huì)被使用。WRITE SCRATCHPAD 4Eh (寫暫存器指令) 這條命令向 DS18B20 的暫存器寫入數(shù)據(jù),開始位置在 TH 寄存器(暫存器的第 2個(gè)字 節(jié)),接下來(lái)寫入 TL 寄存器(暫存器的第 3 個(gè)字節(jié)),最后寫入配置寄存器
26、(暫存器 的第4 個(gè)字節(jié))。數(shù)據(jù)以最低有效位開始傳送。上述三個(gè)字節(jié)的寫入 必須 發(fā)生在總線 控制器發(fā)出復(fù)位命令前,否則會(huì)中止寫入。READ SCRATCHPAD BEh (讀暫存器指令) 這條命令讀取暫存器的內(nèi)容。讀取將從字節(jié) 0 開始,一只進(jìn)行下去,知道第 9字 節(jié)(字節(jié) 8,CRC )讀完,如果不想讀完所有字節(jié),控制器可以在任何時(shí)間發(fā)出 復(fù)位命令來(lái)中止讀取。COPY SCRATCHPAD 48h (拷貝暫存器指令) 這條命令把 TH,TL 和配置寄存器(第 2、3、4 字節(jié))的內(nèi)容拷貝到 EEPROM 中。 如果使用寄生電源總線控制器必須在發(fā)出這條命令的 10us 內(nèi)啟動(dòng)強(qiáng)上拉并最少保持
27、10ms ,見DS18B20 供電節(jié)所述。RECALL E2 B8H (召回 EEPROM 指令) 這條命令把報(bào)警觸發(fā)器的值( TH和TL)以及配置數(shù)據(jù)從 EEPROM 拷回暫存器??偩€ 控制器在發(fā)出該命令后讀時(shí)序, DS18B20 會(huì)輸出拷回標(biāo)識(shí): 0標(biāo)識(shí)正在拷回, 1標(biāo)識(shí)拷 回結(jié)束。這種拷回操作在 DS18B20 上電時(shí)自動(dòng)執(zhí)行,這樣器件一上電暫存器里馬上就 存在有效的數(shù)據(jù)了。READ POWER SUPPLY B4h ( 讀電源模式指令 ) 總線控制器在這條命令發(fā)給 DS18B20 后發(fā)出讀時(shí)序, 若是寄生電源模式, DS18B20 將 拉低總線,若是外部電源模式, DS18B20 將會(huì)
28、把總線拉高。關(guān)于這條指令的用法信息 詳述于 DS18B20 供電節(jié)。DS18B20 功能指令表 表 4 備注:1. 對(duì)于寄生電源模式下的 DS18B20 ,在溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到 EEPROM 期間,必須 給單總線一個(gè)強(qiáng)上拉。總線上在這段時(shí)間內(nèi)不能有其它活動(dòng)。2. 總線控制器在任何時(shí)刻都可以通過(guò)發(fā)出復(fù)位信號(hào)中止數(shù)據(jù)傳輸。3. TH,TL 和配置寄存器這 3個(gè)字節(jié)的寫入必須在復(fù)位信號(hào)發(fā)起之前。 ROM 指令流程圖 圖11DS18B20 功能指令流程圖 圖12單總線信號(hào)DS18B20 需要嚴(yán)格的單總線協(xié)議以確保數(shù)據(jù)的完整性。 協(xié)議包括集中單總線信號(hào)類型: 復(fù)位脈沖、存在脈沖、寫 0、寫1、讀 0
29、和讀1。所有這些信號(hào),除存在 脈沖外,都是由總線控制器發(fā)出的。復(fù)位序列:復(fù)位和存在脈沖和 DS18B20 間的任何通訊都需要以初始化序列開始,初始化序列見圖 13 。一個(gè)復(fù)位 脈沖跟著一個(gè)存在脈沖表明 DS18B20 已經(jīng)準(zhǔn)備好發(fā)送和接收數(shù)據(jù)。在初始化序列期間,總線控制器拉低總線并保持 480us 以發(fā)出( TX)一個(gè)復(fù)位脈 沖,然后釋放總線,進(jìn)入接收狀態(tài)(RX)。單總線由 5K上拉電阻拉到高電平。 當(dāng)DS18B20 探測(cè)到I/O引腳上的上升沿后,等待 15-60us, 然后發(fā)出一個(gè)由 60-240us 低電平信號(hào)構(gòu)成 的存在脈沖。初始化時(shí)序 圖13 讀/寫時(shí)序DS18B20 的數(shù)據(jù)讀寫是通過(guò)
30、時(shí)序處理位來(lái)確認(rèn)信息交換的。 寫時(shí)序由兩種寫時(shí)序:寫 1 時(shí)序和寫 0 時(shí)序??偩€控制器通過(guò)寫 1 時(shí)序?qū)戇壿?1 到 DS18B20 ,寫0 時(shí)序?qū)戇壿?0 到DS18B20 。所有寫時(shí)序必須最少持續(xù) 60us ,包括兩 個(gè)寫周期之間至少 1us的恢復(fù)時(shí)間。 當(dāng)總線控制器把數(shù)據(jù)線從邏輯高電平拉到低電平的 時(shí)候,寫時(shí)序開始(見圖 14)??偩€控制器要生產(chǎn)一個(gè)寫時(shí)序,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時(shí)序開 始后的 15us 釋放總線。當(dāng)總線被釋放的時(shí)候, 5K的上拉電阻將拉高總線??偪?制器要生成一個(gè)寫 0時(shí)序,必須把數(shù)據(jù)線拉到低電平并持續(xù)保持(至少 60us )。 總線控制器初始化寫時(shí)序后
31、, DS18B20在一個(gè)15us到60us的窗口內(nèi)對(duì) I/O線采 樣。如果線上是高電平,就是寫 1 。如果線上是低電平,就是寫 0。讀/寫時(shí)序圖 圖14讀時(shí)序總線控制器發(fā)起讀時(shí)序時(shí), DS18B20 僅被用來(lái)傳輸數(shù)據(jù)給控制器。因此,總線控制器 在發(fā)出讀暫存器指令 BEh 或讀電源模式指令 B4H后必須立刻開始讀時(shí)序, DS18B20 可以提供請(qǐng)求信息。除此之外,總線控制器在發(fā)出發(fā)送溫度轉(zhuǎn)換指令 44h 或召回 EEPROM指令B8h之后讀時(shí)序,詳見 DS18B20 功能指令 節(jié)。所有讀時(shí)序必須最少 60us, 包括兩個(gè)讀周期間至少 1us的恢復(fù)時(shí)間。當(dāng)總線控制 器把數(shù)據(jù)線從高電平拉到低電平時(shí),
32、讀時(shí)序開始,數(shù)據(jù)線必須至少保持1us, 然后總線被釋放(見圖 14 )。在總線控制器發(fā)出讀時(shí)序后, DS18B20 通過(guò)拉高或拉低 總線上來(lái)傳輸 1或0。當(dāng)傳輸邏輯 0結(jié)束后,總線將被釋放,通過(guò)上拉電阻回 到上升沿狀態(tài)。從 DS18B20 輸出的數(shù)據(jù)在讀時(shí)序的下降沿出現(xiàn)后 15us 內(nèi)有效。 因此,總線控制器在讀時(shí)序開始后必須停止把 I/O腳驅(qū)動(dòng)為低電平 15us, 以讀取 I/O腳狀態(tài)。圖 15 標(biāo)識(shí)TINIT,TRC 和TSAMPLE 之和必須小于 15us 。圖 16 指出,系統(tǒng)時(shí)間可以 用下面辦法達(dá)到最大: TINIT 和TRC 保持時(shí)間盡可能校;把控制器采樣時(shí)間放到 15us 周期的
33、最后。控制器讀 1 的詳細(xì)時(shí)序 圖15DS18B20 Programmable Resolution 1-Wire Digital ThermometerFEATURESUnique 1-Wire ? Interface Requires Only OnePort Pin for CommunicationEach Device has a Unique 64-Bit Serial CodeStored in an On-Board ROMMultidrop Capability Simplifies DistributedTemperature-Sensing ApplicationsReq
34、uires No External ComponentsCan Be Powered from Data Line; Power SupplyRange is 3.0V to 5.5VMeasures Temperatures from - 55C to +125 C(- 67F to +257 F)0.5C Accuracy from - 10C to +85 CThermometer Resolution is User Selectablefrom 9 to 12 BitsConverts Temperature to 12-Bit Digital Word in750ms (Max)U
35、ser-Definable Nonvolatile (NV) AlarmSettingsAlarm Search Command Identifies andAddresses Devices Whose Temperature is Outside Programmed Limits (Temperature Alarm Condition)Software Compatible with the DS1822Applications Include Thermostatic Controls, Industrial Systems, Consumer Products, Thermomet
36、ers, or Any Thermally Sensitive SystemPIN CONFIGURATIONSFigure 1DESCRIPTIONThe DS18B20d igital thermometer provides 9-bit to 12-bit Celsius temperature measurements and has an alarm function with nonvolatile user-programmable upper and lower trigger points. The DS18B20 communicates over a 1-Wire bus
37、 that by definition requires only one data line (and ground) for communication with a central microprocessor. It has an operating temperature range of -55C to+125C and is accurate to0.5C over the range of -10C to +85 C. Inaddition, the DS18B20c an derive power directly from the data line ( “parasite
38、 power”), eliminating the need for an external power supply.Each DS18B20h as a unique 64-bit serial code, which allows multiple DS18B20s to function on the same 1-Wire bus. Thus, it is simple to use one microprocessor to control many DS18B20s distributed over a large area. Applications that can bene
39、fit from this feature include HVAC environmental controls, temperature monitoring systems inside buildings, equipment, or machinery, and process monitoring and control systems.PIN DESCRIPTIONTable 1OVERVIEWFigure 2 shows a block diagram of the DS18B20, and pin descriptions are given in the Pin Descr
40、iption table. The 64- bit ROMs tores the device s unique serial code. The scratchpad memory contains the 2-bytetemperature register thatstores the digital output from the temperature sensor. In addition, the scratchpad provides access to the 1-byte upper and lower alarm trigger registers (TH and TL)
41、 and the 1-byteconfiguration register. The configuration register allows the user to set the resolution of the temperatureto-digital conversion to 9, 10, 11, or 12 bits. The TH, T L, and configurationregisters are nonvolatile (EEPROM), so they willretain data when the device is powered down.The DS18
42、B20u ses Maxims exclusive 1-Wire bus protocol that implements bus communication using one control signal. The control line requires a weak pullup resistor since all devices are linked to the bus via a 3-state or open-drain port (the DQ pin in the case of the DS18B20). In this bus system, the micropr
43、ocessor (the master device) identifies and addresses devices on the bus using each device s unique64-bit code. Because each device has a unique code, the number of devices that can be addressed on one bus is virtually unlimited. The 1-Wire bus protocol, including detailed explanations of the command
44、sa nd “time slots, ” is covered in the 1-Wire Bus System section.Another feature of the DS18B20i s the ability to operate without an external power supply. Power is instead supplied through the 1-Wire pullup resistor via the DQ pin when the bus is high. The high bus signal also charges an internal c
45、apacitor (C PP), which then supplies power to the device when the bus is low. This method of deriving power from the 1- Wire bus is referred to as “parasite power. ” As an alternative, the DS18B20m aya lso be powered by an external supply on VDD.Figure 2. DS18B20 Block DiagramOPERATIONMEASURING TEMP
46、ERATUREThe core functionality of the DS18B20i s its direct-to-digital temperature sensor. The resolution of the temperature sensor is user-configurable to 9, 10, 11, or 12 bits, corresponding to increments of 0.5C, 0.25 C, 0.125 C, and 0.0625 C, respectively. The default resolution at power-up is 12
47、-bit. The DS18B20 powers up in a low-power idle state. To initiate a temperature measurement and A-to-D conversion, the master must issue a Convert T 44h command.F ollowing the conversion, the resulting thermal data is stored in the 2-byte temperature register in the scratchpad memory and the DS18B2
48、0 returns to its idle state.If the DS18B20i s powered by an external supply, the mastercan issue “read time slots ” (see the 1-Wire Bus System section) after the Convert T command and the DS18B20 will respond by transmitting 0 while the temperature conversion is in progress and 1 when the conversion
49、 is done. If the DS18B20 is powered with parasite power, this notification technique cannot be used since the bus must be pulled high by a strong pullup during the entire temperature conversion. The bus requirements for parasite power are explained in detail in thePowering the DS18B20 section.Figure
50、 3. Temperature Register Format Table 2. Temperature/Data Relationship *The power-on reset value of the temperature register is +85 C. OPERATIONALARM SIGNALINGAfter the DS18B20p erforms a temperature conversion, the temperature value is compared to the userdefinedtwos complement alarm trigger values
51、 storedin the 1-byte T H and TL registers (see Figure 3). The sign bit (S) indicates if the value is positive or negative: for positive numbers S = 0 and for negative numbers S = 1. The T H and TL registers are nonvolatile (EEPROM) so they will retain data when the device is powered down. TH and TL
52、can be accessed throughbytes 2 and 3 of the scratchpad as explained in theMemory section.Figure 4. TH and TL Register FormatOnly bits 11 through 4 of the temperature register are used in the TH andTL comparison since T H and TL are 8-bit registers. If the measured temperature is lower than or equal
53、to TL or higher than or equal to TH, an alarm conditionexists and an alarm flagis set inside the DS18B20. This flag is updated afterevery temperature measurement; therefore, if the alarm condition goes away, the flag will be turned off after thenext temperature conversion.The master device can check
54、 the alarm flag status of all DS18B20s on the bus by issuing an Alarm Search ECh command. Any DS18B20s with a set alarm flag will respond to the command, so the master can determine exactly which DS18B20s have experienced an alarm condition. If an alarm condition exists and the TH or TL settings hav
55、e changed, another temperature conversion should be done to validate the alarm condition. 64-BIT LASERED ROM CODEEach DS18B20 contains a unique 64 bit code (see Figure 6) stored in ROM. The least significant 8 bits of the ROMc ode contain the DS18B20s 1-Wire family code: 28h. The next 48 bits contai
56、n a unique serial number. The most significant 8 bits contain a cyclic redundancy check (CRC) byte that is calculated from the first 56 bits of the ROM code. A detailed explanation of the CRC bits is provided in the CRCG eneration section. The 64-bit ROMc ode and associated ROM function control logi
57、c allow the DS18B20 to operate as a 1-Wire device using the protocol detailed in the1-Wire Bus System section.Figure 5. 64-Bit Lasered ROM Code MEMORYThe DS18B20s memoryi s organized as shown in Figure 6. The memoryc onsists of an SRAMs cratchpad with nonvolatile EEPROMst orage for the high and low
58、alarm trigger registers (TH and TL) and configuration register. Note that if theDS18B20 alarm function is not used, the TH and TL r egisters can serve asgeneral-purpose memory. All memory commands are described in detail in the DS18B20Function Commands section.Byte 0 and byte 1 of the scratchpad contain the LSB and the MSB
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖區(qū)土地合同范例
- 買期貨合同范例
- 住戶家電維修合同范例
- 二手車位買賣合同范例
- 倉(cāng)儲(chǔ)協(xié)議合同范例簡(jiǎn)短
- 入股聯(lián)營(yíng)合同范例
- 冷鮮肉供貨協(xié)議合同范例
- 產(chǎn)業(yè)教育合同范例
- 買地押金合同范例
- 公路承包合同范例
- 日常采購(gòu)維修合同范本
- 2024-2025年第二學(xué)期一年級(jí)語(yǔ)文教學(xué)進(jìn)度表
- 企業(yè)員工職務(wù)犯罪預(yù)防
- 2025年貴州省高職單招醫(yī)學(xué)類職業(yè)技能測(cè)試題庫(kù)及答案(備考刷題)
- (2025春新教材)部編版七年級(jí)語(yǔ)文下冊(cè)全冊(cè)教案
- 2024年司法考試完整真題及答案
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
- 非ST段抬高型急性冠脈綜合征診斷和治療指南(2024)解讀
- 教師教學(xué)常規(guī)工作檢查記錄表
- 中考數(shù)學(xué)經(jīng)典母題30題
- 第三章財(cái)政支出總論P(yáng)PT課件
評(píng)論
0/150
提交評(píng)論