2012年6月10日 星期日

DIY - PIC:PIC18F4550 數字溫度計 – DS18B20 初始化程序 (一百三十)

DIY - PICPIC18F4550 數字溫度計 – DS18B20 初始化程序 (一百三十)


所有與 DS18B20 的通信初始化或復位開始時,DS18B20 會發出應答脈衝及復位脈衝組成一個初始化序列。當 DS18B20 回答復位所發送的訊號脈衝,表示 Master 是在線上和準備工作。

初始化時 Master 在總線發送(TX)訊號脈衝拉低 1-Wire 總線最少為 480μs 作為復位脈衝,然後總線釋放並進入接收模式(RX)。當總線被釋放後,5kΩ上拉電阻拉 1-Wire 總線的至高位,當 DS18B20 檢測此上升沿時,它會等待15μs60μs,然後發送訊號脈衝及拉低 1-Wire 總線 60μs240μs


/寫時序:
總線在寫入時段將數據寫入 DS18B20,在讀取時段會從 DS18B20 讀取數據。而每時段傳送一個數據位。

寫入時段 (Write Time Slots)
寫入時段有兩種類型:“寫1 時段和“寫0 時段,總線在寫1時段會寫入邏輯 1 DS18B20,而寫0 時段會寫入邏輯01 DS18B20,所有寫入時段必須至少為 60μs 包括至少 1μs 的恢復時間,兩種類型寫入時段都要由 Master 拉低的 1-Wire 總線。

拉低的 1-Wire 總線後便會產生寫入時段,總線主機必須釋放在 15μs 1-Wire 總線,當總線被釋放後,5kΩ的上拉電阻的總線變高。拉低 1-Wire 總線後便會產生寫0 時段,總線必須繼續保持低位持續寫0 時段(至少為60μs)。    

Master 初始寫入時段後,DS18B20 15μs 60μs 的時間內採樣,在採樣窗口如果總線是高,1會寫入 DS18B20,如果總線是低,0會寫入 DS18B20

 
讀取時段 (Read Time Slots)
DS18B20 只能在 Master 發出讀取時段時才可傳輸數據,所以當 Master 發出讀暫存器[BEH]或讀電源[B4H]命令後,Master 必須立刻產生讀入時段,這樣 DS18B20 便可以提供所要求的數據。另外,當 Master 發出轉換T[44H]或召回素E2[B8H] 指令後來找出運行狀態,Master 應要產生讀取時段。

所有讀取時段必須最低持續時間為 60μs 包括至少 1μs 的恢復時間,Master 拉低 1-Wire 總線最小 1μs 然後釋放便會產生讀取時段,當 Master 初始讀取時段後,DS18B20 的傳送數據,拉高總線便會傳送數據 1,拉低總線便會傳送數據 0,當傳送數據 0DS18B20 便會釋放總線結束時段,然後總線將被拉回到閒置狀態,DS18B20 的輸出數據為在降沿後 15μs 才有效,所以 Master 必須釋放總線,然後採樣在開始時段在 15μs 內。

  

2012 6 10 天氣報告
氣溫:29.4 @ 22:20
相對濕度:百分之86%
天氣:大致多雲

沒有留言:

張貼留言