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