您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>傳感器>

溫度傳感器MAX6662的應(yīng)用研究

2009年12月01日 10:32 ttokpm.com 作者:佚名 用戶評(píng)論(0
關(guān)鍵字:溫度傳感器(153401)

溫度傳感器MAX6662的應(yīng)用研究
?
1 溫度傳感器MAX6662

MAX6662是一款12位+符號(hào)位溫度傳感器.在單片封裝中還集成了可編程過(guò)溫報(bào)警和三線(SPI兼容)串行接口。它使用內(nèi)部A/D轉(zhuǎn)換器將其管芯溫度轉(zhuǎn)換為數(shù)字量。溫度數(shù)據(jù)以13位字的形式存儲(chǔ)在溫度寄存器中,分辨率為O.062 5℃,溫度數(shù)據(jù)可在任意時(shí)刻通過(guò)串口讀取。工作電壓范圍為+3~+5.5 V,溫度范圍為一55~+150℃。

1.1 MA×6662的引腳定義

如圖l所示,MAX6662采用8引腳SO封裝。其接口信號(hào)描述如下:SCLK為串行時(shí)鐘輸入;CS為片選信號(hào),低電平時(shí)使能串行數(shù)據(jù)的輸入、輸出;SIO為串行數(shù)據(jù)輸入輸出,雙向口;ALERT為過(guò)溫報(bào)警,溫度過(guò)高或過(guò)低時(shí)默認(rèn)輸出低電平,可編程設(shè)置為高;OT為高溫報(bào)警,溫度過(guò)高時(shí)默認(rèn)輸出低電平,可編程設(shè)置為高。其中,ALERT和OT均為漏極開(kāi)路,使用時(shí)需要加上拉電阻。

1.2 MAX6662工作寄存器

MAX6662有6個(gè)工作寄存器:溫度寄存器、配置寄存器、THYST寄存器、TMAX寄存器、TL0W寄存器和THIGH寄存器。

(1)溫度寄存器

溫度寄存器為只讀寄存器,MSB位為符號(hào)位(bitl5);接下來(lái)的12位是溫度數(shù)據(jù)位,最新轉(zhuǎn)換的溫度數(shù)據(jù)以℃為單位存儲(chǔ)于溫度寄存器,其中高8位表示溫度整數(shù)位,低4位為小數(shù)位;3位最低有效位為溫度標(biāo)志位,顯示報(bào)警信息,分別為Tover標(biāo)志、Thigh標(biāo)志、Tlow標(biāo)志。

(2)配置寄存器

配置寄存器只使用了第8~12位,用于配置MAX6662的工作模式,如表1所列。

(3)溫度界限寄存器

TLOW寄存器、THIGH寄存器和THYST寄存器用于設(shè)置溫度界限來(lái)觸發(fā)ALERT;TMAX寄存器、THYST寄存器用于設(shè)置0T的溫度極限。這些溫度界限寄存器使用9位高位(符號(hào)位和8位數(shù)據(jù)位),雙精度格式,1位最小單位,剩余7位保留。

1.3 MAX6662命令字

命令字第l位為高電平,代表傳輸開(kāi)始;第2位是讀/寫(xiě)位,高電平時(shí)讀??偣灿?1個(gè)有效命令,溫度轉(zhuǎn)換持續(xù)進(jìn)行并且可通過(guò)串行口異步讀取。一旦讀取溫度寄存器,正在進(jìn)行的轉(zhuǎn)換失敗并且把之前的轉(zhuǎn)換結(jié)果輸出。命令字定義如表2所列。

1.4 MAX6662的工作模式

(1)比較模式

此模式下,對(duì)于ALERT,當(dāng)溫度超過(guò)TMAX寄存器的值或低于TLOW寄存器的值時(shí),ALERT輸出低電平;溫度低于THIGH—THYST,或高于TLOW+THYST時(shí),ALERT輸出高電平。

對(duì)于OT,當(dāng)溫度超過(guò)TMAX的值時(shí)建立OT(即變低);溫度低于TMAX--THYST時(shí),OT輸出高電平。讀操作均不能復(fù)位OT、ALERT,默認(rèn)條件下,OT、ALERT均為低有效的輸出信號(hào),但可以在配置寄存器中配置為高。

(2)關(guān)斷模式

MAX6662的一個(gè)特色是可編程的關(guān)斷模式。將配置寄存器的關(guān)斷位置1,即可進(jìn)入關(guān)斷模式。關(guān)斷模式下,除了POR電源復(fù)位和串口外,其他工作均被禁止;所有寄存器的值都被保留,溫度寄存器保留最后的溫度轉(zhuǎn)換值。

1.5 MAX6662的通信協(xié)議與數(shù)據(jù)格式

串行接口包括3條信號(hào)線:片選CS(低有效)、雙向數(shù)據(jù)線SIO和串行時(shí)鐘SCLK。其中,CS和SCLK只受主機(jī)控制,主機(jī)和MAX6662共同控制SIO。當(dāng)主機(jī)發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)在上升沿被送入MAX6662。讀數(shù)據(jù)時(shí),數(shù)據(jù)在下降沿被讀出。命令字節(jié)和數(shù)據(jù)字的MSB位首先寫(xiě)入或讀出。前8個(gè)時(shí)鐘周期用于傳送命令字,命令字由SIO輸入MAX6662。該命令字決定接下來(lái)16個(gè)周期的數(shù)據(jù)由主機(jī)還是MAX6662來(lái)控制。如果由MAX6662來(lái)控制SIO,則開(kāi)始于第8個(gè)時(shí)鐘周期的下降沿。通信時(shí)序如圖2所示。

溫度寄存器存儲(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均為漏極開(kāi)路端,使用時(shí)需要接上拉電阻,因此均經(jīng)過(guò)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來(lái)控制SIO,數(shù)據(jù)的傳輸開(kāi)始于第8個(gè)時(shí)鐘周期的下降沿。

數(shù)據(jù)讀取程序如下:

程序運(yùn)行結(jié)束后,傳感器送到單片機(jī)中的值就會(huì)存入變量dat中,以便后面的數(shù)據(jù)處理使用。

2.3 傳感器數(shù)據(jù)的寫(xiě)入

向MAX6662傳感器中寫(xiě)數(shù)據(jù)的功能主要是用于配置傳感器或是規(guī)定報(bào)警溫度值,每次寫(xiě)入也必須是24個(gè)時(shí)鐘周期。數(shù)據(jù)的寫(xiě)入也分為2步:

①前8個(gè)周期完成的操作與數(shù)據(jù)的讀取相同,命令字各位在時(shí)鐘的上升沿送入傳感器。

②后16個(gè)周期,主機(jī)控制SIO數(shù)據(jù)線將要寫(xiě)入的數(shù)據(jù)一位一位地送入數(shù)據(jù)線SIO。與讀取數(shù)據(jù)不同的是,數(shù)據(jù)的寫(xiě)入開(kāi)始于第9個(gè)時(shí)鐘周期的上升沿,因?yàn)橹鳈C(jī)發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)在上升沿時(shí)送入傳感器。

寫(xiě)命令的函數(shù)與數(shù)據(jù)讀取相同,數(shù)據(jù)寫(xiě)入程序如下:


初始化時(shí),應(yīng)首先把數(shù)據(jù)賦值給wdata,再調(diào)用此函數(shù)。


結(jié) 語(yǔ)

本文提出了用單片機(jī)3根I/O口線模擬溫度傳感器MAX6662的SPI總線的方法。經(jīng)實(shí)驗(yàn)驗(yàn)證,完全可行,并且由于MAX6662用于溫度測(cè)量時(shí)具有高精度和附加報(bào)警功能,因而在需要精確溫度控制和溫度測(cè)量等方面也會(huì)有廣泛的應(yīng)用。
?
?

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?