《電子技術應用》
您所在的位置:首頁 > 测试测量 > 设计应用 > 1-Wire温度传感器的快速编程
1-Wire温度传感器的快速编程
摘要: 一般来说,总线数越少,连接就越简单,因而串行总线嵌入式元件在许多应用场合颇受欢迎。但正因为只有1根线,该类元件的编程要紧扣硬件和时钟,难度大于I2C总线和SPI总线。本文以数字温度传感器DSl8B20为例,介绍一种实用和简单的编程方案。
Abstract:
Key words :

  引 言

  一般來說,總線數越少,連接就越簡單,因而串行總線嵌入式元件在許多應用場合頗受歡迎。但正因為只有1根線,該類元件的編程要緊扣硬件和時鐘,難度大于I2C總線和SPI總線。本文以數字溫度傳感器DSl8B20為例,介紹一種實用和簡單的編程方案。

  1 DS18B20的精簡編程考慮

  測溫分辨率:通過設置配置寄存器,DS18B20有0.5℃、0.25℃、0.125℃和0.062 5℃幾種溫度可供選擇。如果不作選擇,缺省值為12位,即最高分辨率0.062 5℃,這樣可省去相關寫EEPROM的命令。圖1為溫度格式。

  溫度報警高限TH和低限TL:如果設置了TH和TL,DS18B20將在溫度高于TH或低于TL時做出響應。這要用到寫入EEPROM的命令,將可改寫RAM(Scratchpad RAM)拷入EEPROM。其實,在很多應用場合,這樣的報警設置完全可以在MASTER(如單片機)中完成,從而節省DS18B20的編程。這只要不使用報警搜索命令(Alarm search command)即可。

  光刻ROM(lasered ROM)命令:一共有6個。對于只要單個DS18B20的場合,如果不考慮讀ROM中的序列號代碼,不允許報警等功能,只要進行測溫的話,用一個跳過ROM(Skip ROM)命令就足夠了。

  RAM有關的命令:一共有6個。如果在DS18B20的電源端專配電源,不設置高低溫報警,只需使用“ConvertT”和“Read Scratch”命令即可。前者開始進行溫度轉換(時間約需750 ms),后者將溫度值及循環冗余校驗碼CRC等9字節讀入MASTER(如單片機)。

  關鍵時序:盡管測量時可以作上述簡化,但DS18B20的時序必須嚴格遵循。最苛刻的時間要求應是讀時槽(read time slots):MASTER在數據線上發出一個下降沿表示讀時槽開始,時間至少保持1μs,然后停止驅動數據總線。DS18B20在數據線上輸出約15 μs的數據。在這一時間段內,MASTER必須及時采樣數據線。這樣的定時要求與之相連的單片機必須工作在較高的頻率,如主頻為32 kHz就無法滿足15μs內完成采樣的要求。

  2 一個簡單實用的程序設計方案

  采用上述精簡方案后,基于單片機PIC16F628A(主頻為4 MHz)實現的測溫程序如下:

  到此開始讀9個字節scratchpad,并檢查CRC。如無誤,再次調用rp子程序復位DS18B20,結束本次測量;如出錯,轉出錯處理子程序。為使系統具有一定的容錯能力,出錯時也可將上述程序再試一遍,如連續3次都出現CRC檢查錯則轉出錯處理子程序。

  以上方案已長期(數月)用于氣象溫度測量,正常可靠。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: caoporn国产精品免费公开| 好吊色欧美一区二区三区视频| 国产区精品视频| 国产欧美日韩亚洲精品| 久久99热只有频精品91密拍| 777精品久无码人妻蜜桃| 激情综合在线观看| 久久天天躁夜夜躁狠狠躁2022| 日韩啊v在线| 在线视频不卡国产V| 国产免费一区二区视频| 久久99久久99精品中文字幕| 久久精品视频亚洲| 国产精品视频永久免费播放| 国产一区二区精品在线| 俺去了亚洲欧美日韩| 精品国产一区二区三区久久久狼| 久久香蕉国产线看观看av| 色婷婷综合久久久久中文字幕| 国产精品日韩专区| 亚洲一区二区三区av无码| 高清国语自产拍免费一区二区三区| 伊人久久大香线蕉成人综合网| 内射国产内射夫妻免费频道| www.av中文字幕| 欧美国产亚洲一区| 蜜桃视频一区二区在线观看| www黄色av| 国产精品国产亚洲精品看不卡| 九九热精品在线| 日本一区二区在线播放| 久久中文字幕在线视频V| 麻豆成人av| 日韩中文字幕网| 亚洲国产精品毛片| 国产精品亚洲美女av网站| 欧美在线日韩精品| 在线不卡视频一区二区| 国产精品美女在线| 欧美激情一级精品国产| 欧美精品久久久久久久免费观看|