久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5363|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

開發(fā)日志-DS18B20相關(guān)總結(jié)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104287 發(fā)表于 2016-1-30 04:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    ROM只讀存儲器,用于存放 DS18B20ID 編碼,其前 8 位是單線系列編碼(DS18B20 的編碼是 19H) ,后面48 位是芯片唯一的序列號,最后 8位是以上 56的位的 CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20 共 64 位 ROM。
   
    RAM 數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20 共9 個字節(jié) RAM,每個字節(jié)為 8 位。第1、2 個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第 3、4 個字節(jié)是用戶 EEPROM(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第 5 個字節(jié)則是用戶第 3 個 EEPROM的鏡像。第 6、7、8 個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第 9 個字節(jié)為前 8個字節(jié)的 CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù)。

    DS18B20共3位EEPROM,并在 RAM 都存在鏡像,以方便用戶操作。



控制器對 18B20 操作流程:

1,  復(fù)位:首先我們必須對 DS18B20 芯片進行復(fù)位,復(fù)位就是由控制器(單片機)給 DS18B20單總線至少 480uS 的低電平信號。當(dāng) 18B20 接到此復(fù)位信號后則會在 15~60uS 后回發(fā)一個芯片的存在脈沖。

2,  存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在 15~60uS 后接收存在脈沖,存在脈沖為一個 60~240uS 的低電平信號。至此,通信雙方已經(jīng)達成了基本的協(xié)議,接下來將會是控制器與 18B20 間的數(shù)據(jù)通信。如果復(fù)位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設(shè)計時要注意意外情況的處理。

3,  控制器發(fā)送 ROM 指令:雙方打完了招呼之后最要將進行交流了,ROM 指令共有 5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀 ROM 數(shù)據(jù)、指定匹配芯片、跳躍 ROM、芯片搜索、報警芯片搜索。ROM 指令為 8 位長度,功能是對片內(nèi)的 64位光刻 ROM進行操作。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的 ID號來區(qū)別,一般只掛接單個 18B20芯片時可以跳過 ROM 指令(注意:此處指的跳過 ROM指令并非不發(fā)送 ROM 指令,而是用特有的一條“跳過指令” )

4,  控制器發(fā)送存儲器操作指令:在 ROM 指令發(fā)送給 18B20 之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。操作指令同樣為 8 位,共 6 條,存儲器操作指令分別是寫 RAM 數(shù)據(jù)、讀RAM 數(shù)據(jù)、將 RAM 數(shù)據(jù)復(fù)制到 EEPROM、溫度轉(zhuǎn)換、將 EEPROM中的報警值復(fù)制到 RAM、工作方式切換。存儲器操作指令的功能是命令 18B20 作什么樣的工作,是芯片控制的關(guān)鍵。

5,  執(zhí)行或數(shù)據(jù)讀寫:一個存儲器操作指令結(jié)束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機)必須等待 18B20 執(zhí)行其指令,一般轉(zhuǎn)換時間為 500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴格遵循 18B20 的讀寫時序來操作。數(shù)據(jù)的讀寫方法將有下文有詳細介紹。

    若要讀出當(dāng)前的溫度數(shù)據(jù)我們需要執(zhí)行兩次工作周期,第一個周期為復(fù)位、跳過 ROM 指令、執(zhí)行溫度轉(zhuǎn)換存儲器操作指令、等待 500uS 溫度轉(zhuǎn)換時間。緊接著執(zhí)行第二個周期為復(fù)位、跳過 ROM指令、執(zhí)行讀 RAM 的存儲器操作指令、讀數(shù)據(jù)(最多為 9 個字節(jié),中途可停止,只讀簡單溫度值則讀前 2 個字節(jié)即可)。其它的操作流程也大同小異,在此不多介紹。


DS28B20 芯片 ROM 指令表:

Read  ROM(讀 ROM)[33H]   (方括號中的為16進制的命令字) 這個命令允許總線控制器讀到 DS18B20 的 64位 ROM。只有當(dāng)總線上只存在一個 DS18B20 的時候才可以使用此指令,如果掛接不只一個,當(dāng)通信時將會發(fā)生數(shù)據(jù)沖突。

Match  ROM(指定匹配芯片)[55H]
這個指令后面緊跟著由控制器發(fā)出了 64 位序列號,當(dāng)總線上有多只 DS18B20 時,只有與控制發(fā)出的序列號相同的芯片才可以做出反應(yīng),其它芯片將等待下一次復(fù)位。這條指令適應(yīng)單芯片和多芯片掛接。

Skip  ROM(跳躍 ROM 指令)[CCH]
這條指令使芯片不對 ROM 編碼做出反應(yīng),在單總線的情況之下,為了節(jié)省時間則可以選用此指令。如果在多芯片掛接時使用此指令將會出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯誤出現(xiàn)。

Search  ROM(搜索芯片)[F0H]
在芯片初始化后,搜索指令允許總線上掛接多芯片時用排除法識別所有器件的 64位 ROM。

Alarm  Search(報警芯片搜索)[ECH]
在多芯片掛接的情況下,報警芯片搜索指令只對附合溫度高于 TH 或小于 TL報警條件的芯片做出反應(yīng)。只要芯片不掉電,報警狀態(tài)將被保持,直到再一次測得溫度什達不到報警條件為止。


DS28B20 芯片存儲器操作指令表:

Write Scratchpad  (向 RAM中寫數(shù)據(jù))[4EH]
這是向 RAM 中寫入數(shù)據(jù)的指令,隨后寫入的兩個字節(jié)的數(shù)據(jù)將會被存到地址 2 (報警RAM 之 TH)和地址 3(報警 RAM 之 TL)。寫入過程中可以用復(fù)位信號中止寫入。

Read  Scratchpad  (從RAM 中讀數(shù)據(jù))[BEH]
此指令將從 RAM 中讀數(shù)據(jù),讀地址從地址 0 開始,一直可以讀到地址 9,完成整個 RAM 數(shù)據(jù)的讀出。芯片允許在讀過程中用復(fù)位信號中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時間。  

Copy  Scratchpad  (將 RAM 數(shù)據(jù)復(fù)制到 EEPROM中)[48H]
此指令將 RAM 中的數(shù)據(jù)存入 EEPROM中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于 EEPROM儲存處理,當(dāng)控制器發(fā)一個讀時間隙時,總線上輸出“0”,當(dāng)儲存工作完成時,總線將輸出“1”。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持 10MS,來維持芯片工作。

Convert  T(溫度轉(zhuǎn)換)[44H]
收到此指令后芯片將進行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入 RAM 的第 1、2 地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個讀時間隙時,總線上輸出“0”,當(dāng)儲存工作完成時,總線將輸出“1”。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持 500MS,來維持芯片工作。

Recall  EEPROM(將 EEPROM中的報警值復(fù)制到 RAM)[B8H]
此指令將 EEPROM中的報警值復(fù)制到 RAM 中的第 3、4 個字節(jié)里。由于芯片忙于復(fù)制處理,當(dāng)控制器發(fā)一個讀時間隙時,總線上輸出“0”,當(dāng)儲存工作完成時,總線將輸出“1”。另外,此指令將在芯片上電復(fù)位時將被自動執(zhí)行。這樣 RAM 中的兩個報警字節(jié)位將始終為 EEPROM中數(shù)據(jù)的鏡像。

Read  Power  Supply(工作方式切換)[B4H]
此指令發(fā)出后發(fā)出讀時間隙,芯片會返回它的電源狀態(tài)字,“0”為寄生電源狀態(tài),“1”為外部電源狀態(tài)。




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: a级毛片免费高清视频 | 中文字幕1区| 色香蕉在线| 久久国产精品一区二区三区 | 九九久视频 | av网址在线播放 | 欧美爱爱视频网站 | 九九热在线视频免费观看 | www.亚洲 | av一区二区三区四区 | 日美女逼逼 | 欧美一级片在线观看 | 日本成人三级电影 | 男女羞羞视频免费 | 久久久免费毛片 | 一区二区视频 | 精品久久久网站 | 日韩成人在线网址 | 韩日三级 | 精品国产一区二区三区久久久久久 | 国产高清精品一区二区三区 | 免费观看a级毛片在线播放 黄网站免费入口 | 美女131mm久久爽爽免费 | 一区二区三区免费 | 91色视频在线观看 | 超碰精品在线 | 久久精品亚洲国产奇米99 | 免费视频一区二区 | 能看的av| 免费欧美 | 国产精品久久久久永久免费观看 | 色综合99 | 久久三区 | av片毛片 | 精品成人av| 亚洲成年影院 | 国产成人精品综合 | 久久国产精品无码网站 | 国产成人在线视频免费观看 | 日韩一区二区三区视频在线观看 | 国产1区 |