溫度傳感器MAX6662的應用研究
溫度寄存器存儲12位的轉換數據和1位溫度符號位,能確定的溫度范圍為一55~+155℃,數據傳送格式如表3所列。
2 應用電路設計
2.1 硬件電路設計
MAX6662傳感器與MCS一51系列單片機AT89S52的硬件接口電路如圖3所示。
MAX6662的S10、SCLK、CS腳分別與AT89S52的P1.0、P1.1、P1.2腳連接,用于模擬三線SPI總線,以實現傳感器串行數據的傳輸。報警端口OT和ALERT均為漏極開路端,使用時需要接上拉電阻,因此均經過10 kΩ的電阻接地;同時分別連接AT89S52的P3.3和P3.2腳,用于觸發外部中斷,實現報警操作。MAX6662的VCC腳經0.1μF的電容接地,用于濾除干擾。
2.2 傳感器數據的讀取
每次有效的數據傳輸只能使用24個時鐘周期,數據的讀取分為2步(讀取前應首先置CS為低):
①前8個周期,單片機向傳感器發送讀取寄存器命令,可以讀取傳感器所有寄存器的值。此時為單片機向傳感器串行發送數據,數據在時鐘的上升沿送入傳感器。
②后16個周期,傳感器將寄存器的值串行送入數據線SIO,由單片機接收。此時為單片機接收傳感器的串行數據,數據在時鐘的下降沿送入單片機。即由MAX6662來控制SIO,數據的傳輸開始于第8個時鐘周期的下降沿。
數據讀取程序如下:
程序運行結束后,傳感器送到單片機中的值就會存入變量dat中,以便后面的數據處理使用。
2.3 傳感器數據的寫入
向MAX6662傳感器中寫數據的功能主要是用于配置傳感器或是規定報警溫度值,每次寫入也必須是24個時鐘周期。數據的寫入也分為2步:
①前8個周期完成的操作與數據的讀取相同,命令字各位在時鐘的上升沿送入傳感器。
②后16個周期,主機控制SIO數據線將要寫入的數據一位一位地送入數據線SIO。與讀取數據不同的是,數據的寫入開始于第9個時鐘周期的上升沿,因為主機發送數據時,數據在上升沿時送入傳感器。
寫命令的函數與數據讀取相同,數據寫入程序如下:
初始化時,應首先把數據賦值給wdata,再調用此函數。
結 語
本文提出了用單片機3根I/O口線模擬溫度傳感器MAX6662的SPI總線的方法。經實驗驗證,完全可行,并且由于MAX6662用于溫度測量時具有高精度和附加報警功能,因而在需要精確溫度控制和溫度測量等方面也會有廣泛的應用。
評論