本文介紹DHT11溫濕度傳感器的封裝信息、DHT11引腳說明、DHT11應用電路等。
1、封裝信息
2、DHT11通訊總介
微處理器與DHT 11之間的通訊和同步, 采用單總線數據格式,一次通訊時間4ms左右,數據分小數部分和整數部分。一次完整的數據傳輸為40bit, 高位先出。
數據格式:8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據+8bit校驗和
數據傳送正確時, 校驗和數據等于“8bit濕度整數數據+8bit濕度小數數據+8bi溫度整數數據+8bit溫度小數數據”所得結果的末8位。
3、DHT11喚醒工作和睡眠
DHT 11在沒有主機喚醒的時候處于低功耗模式。
當需要使用的時候, MCU發送一次開始信號, DHT 11從低功耗模式轉換到高速模式, 等待主機開始信號結束后, DHT 11發送響應信號, 送出40bit的數據, 并觸發一次信號采集。
如果沒有接收到主機發送開始信號, DHT 11不會主動進行溫濕度采集.采集數據后轉換到低速模式。
4、DHT11通訊過程
總線在空閑的時候為高電平
主機把總線拉低等待DHT 11的響應。拉低的時間必須大于18毫秒, 保證DHT 11能檢測到起始信號。
DHT 11接收到主機的開始信號后, 等待主機開始信號結束,然后發送80us低電平響應信號。
主機發送開始信號結束后, 延時等待20-40us后, 讀取DHT 11的響應信號。(主機發送開始信號后,可以切換到輸入模式,或者輸出高電平均可)
當最后一bit數據傳送完畢后, DHT 11拉低總線50us, 隨后總線由上拉電阻拉高進入空閑狀態。
5、DHT11通訊時序圖
6、FPGA實現
module DTH11(
input clk,
input rst,
inout dht11,
input dht11_req, //數據采集請求
output dht11_down, //數據采集完成
output[7:0] tempH, //溫度數據整數
output[7:0] tempL, //溫度數據小數
output[7:0] humidityH, //溫度數據整數
output[7:0] humidityL //溫度數據小數
);
回復DHT11-FPGA 獲取模板工程
更多信息可以來這里獲取==>>電子技術應用-AET<<
原文鏈接:https://mp.weixin.qq.com/s/qSdUli3L-SgC4-9eSLRpMw
電子技術應用專欄作家:FPGA之旅