兼容SPI接口的低功耗數字溫度傳感器ADT7301及其接口技術(shù) 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò ) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢(xún) 收藏 摘要:ADT7301是AD公司推出的13位數字溫度傳感器芯片。該芯片采用+2.7V~+5.5V電源供電,具有溫度轉換精度高、功耗低、串行接口靈活方便等特點(diǎn)。文中介紹了ADT7301的主要特性,并以其與8052接口為例,給出了ADT7301的串行接口電路、應用程序。關(guān)鍵詞:溫度傳感器;SPI;ADT7301 1 概述 ADT7301是一個(gè)完整的溫度監測系統,有SOT-32和MSOP兩種封裝形式。在芯片內部集成了一個(gè)用于溫度監測的帶隙溫度傳感器和一個(gè)13位AD轉換器,其最小溫度分辨率為0.03125%26;#176;C。ADT7301帶有一個(gè)非常靈活的串行接口,可非常容易地與大多數微控制器接口;而且該接口還可與SPITM、QSPI及MICROWIRETM協(xié)議及DSP接口兼容,通過(guò)串口控制可使器件處于待機模式。ADT7301的寬供電電源范圍、低供電電流及與SPI兼容的接口使得該器件非常適合于個(gè)人計算機、辦公設備及家電設備等各種領(lǐng)域。 ADT7301功能特性如下: ●供電電源+2.7V~+5.5V; ●內含13位數字溫度傳感器;●測溫精度為%26;#177;0.5℃; ●具有0.03125℃溫度分辨率; ●工作電流典型值為1μA; ●帶有SPI及DSP兼容的串行接口; ●工作溫度范圍寬達-40~+150℃; ●采用節省空間的SOT-23和MSOP封裝。 2 內部結構與管腳說(shuō)明 2.1 管腳描述 ADT7301模塊的內部結構如圖1所示。該器件具有6腳SOT-23和8腳MOSP兩種封裝形式,各引腳的功能如下: GND:模擬地和數字地; DIN:串行數據輸入口。裝入芯片控制寄存器的數據可在時(shí)鐘SCLK上升沿通過(guò)該管腳串行輸入; VDD:供電電源正輸入端。 供電電源范圍為:+2.7V~+5.5V; SCLK:與串行端口對應的串行時(shí)鐘輸入; CS:片選輸入,低電平有效; DOUT:串行數據輸出端口。溫度值在串行時(shí)鐘SCLK的下降沿通過(guò)該管腳串行輸出。 ADT7301的串行接口由CS、SCLK、DIN及DOUT四線(xiàn)構成。將CS和DIN接地可使該接口工作于兩線(xiàn)模式,在這種模式下,該接口只能通過(guò)DOUT來(lái)讀取數據寄存器中的值。推薦使用CS端口,這樣有利于ADT7301與其主控器件之間同步。DIN端口用于寫(xiě)控制寄存器,也可使芯片處于節電模式。使用時(shí),在電源和地線(xiàn)之間應加一個(gè)0.1μF的去耦電容。圖22.2 工作過(guò)程與應用時(shí)序 ADT7301內部集成有晶體振蕩器,所以工作時(shí)只需在串口接入時(shí)鐘,而不需再提供A/D轉換時(shí)鐘。該芯片具有兩種工作模式,即正常工作模式和節電工作模式。在正常工作模式,內部時(shí)鐘振蕩器將驅動(dòng)自動(dòng)轉換時(shí)序,從而使芯片每秒鐘對模擬電路上電一次,以進(jìn)行一次溫度轉換。完成一次溫度轉換一般需800μs,轉換結束后,芯片的模擬電路自動(dòng)斷電,并在1秒鐘后自動(dòng)上電。因此,在溫度值寄存器中總可以得到最新的溫度轉換值。 通過(guò)設置ADT7301控制寄存器可將其設置為節電模式。在節電模式下,片內振蕩器被關(guān)閉,ADT7301不進(jìn)行溫度轉換,直到恢復到正常工作模式??上蚩刂萍拇嫫髦袑?xiě)零使其恢復到正常工作模式。在進(jìn)入節電模式前其溫度轉換結果即使在進(jìn)入節電模式后仍可被正確讀取。 在正常轉換模式下,執行讀/寫(xiě)操作時(shí),其內部振蕩器可在讀寫(xiě)操作結束后自動(dòng)復位,以使溫度轉換器能夠重新進(jìn)行溫度轉換。若在ADT7301進(jìn)行溫度轉換過(guò)程中執行讀寫(xiě)操作則會(huì )使其自動(dòng)停止轉換,并在串行通訊結束后又重新開(kāi)始,而讀取的溫度值是前一次的轉換結果。ADT7301執行讀/寫(xiě)操作時(shí)的時(shí)序如圖2所示。 當片選端口CS為低時(shí),SCLK時(shí)鐘輸入有效,而在執行讀操作后,系統會(huì )將2位零標志位、1位符號位和13位的數據位在16個(gè)時(shí)鐘脈沖下降沿從溫度值寄存器中取出。如果CS持續為低的時(shí)間超過(guò)16個(gè)SCLK時(shí)鐘周期,ADT7301將循環(huán)輸出2位零標志位加14位數值位。而一旦CS變?yōu)楦唠娖?,DOUT輸出端將處于高阻狀態(tài)此時(shí)輸出數據將在SCLK的下降沿被鎖存在DOUT線(xiàn)上。 ADT7301的寫(xiě)操作與讀操作可同步進(jìn)行。當寫(xiě)數據流中的第三位寫(xiě)1而其余位為0時(shí), ADT7301進(jìn)入節電模式;寫(xiě)數據流全為0時(shí),為正常工作模式。在正常工作模式數據在第16個(gè)SCLK的上升沿被裝入控制寄存器并立刻起作用。若CS在第16個(gè)SCLK上升沿之前變?yōu)楦唠娖?,那么,控制寄存器中的數據將不?huì )被裝入,但此時(shí)工作模式不變。 2.3 溫度值編碼 溫度值寄存器是一個(gè)14位的只讀寄存器,用于存儲ADC的13位二進(jìn)制補碼加1位符號位的溫度轉換結果(最高位為符號位)。理論上,ADC測量的溫度范圍可達255℃,實(shí)際上,內部溫度傳感器能確保的溫度范圍為-40℃~ +150℃。溫度數據格式如表1所列。表1 溫度寄存器數據格式 溫度值(℃)數據輸出DB13DB0-4011,1011 0000 0000-3011,1100 0100 0000-2511,1100 1110 0000-1011,1110 1100 0000-0.312511,1111 1111 1111000,0000 0000 0000+0.312500,0000 0000 0001+1000,0001 0100 0000+2500,0011 0010 0000+5000,0110 0100 0000+7500,1001 0110 0000+10000,1100 1000 0000+12500,1111 1010 0000+15001,0010 1100 0000其溫度轉換公式如下: 正溫度值=ADC轉換結果代碼(d)/32; 負溫度值=(ADC轉換結果代碼(d)-16384)/32(使用符號位); 負溫度值=(ADC轉換結果代碼(d)-8192)/32(不使用符號位)。3 應用電路 3.1 ADT7301與單片機的串行接口電路 圖3為ADT7301與單片機的串行通訊接口電路,該接口方式具有轉換速度快的優(yōu)點(diǎn),但不能被設置成節電工作模式。 這里應注意的是:由于在單片機串行通訊中是先低后高,而ADT7301在向外串行輸出溫度值時(shí)是先高后低,所以要先進(jìn)行高低位互換然后再進(jìn)行處理,具體處理程序這里不再給出。下面是ADT7301與8051單片機進(jìn)行串行接口的軟件編程:;*****主程序***** main: call receive ;讀取溫度值子程序 call dispose ;讀取結果處理子程序 sjmp $ ;###串行通訊子程序### receive: setb p1.3 mov scon,#11h ;選擇串行口為方式0接收 mov r7,#2 ;字節計數 mov r0,#30h ;指向溫度值緩沖區 clr p1.3 ;選通ADT7301 clr ri ;清接收中斷標志,準備接收 loop: jnb ri,$ mov a,sbuf mov @r0,a inc r0 clr ri djnz r7,loop setb p1.3 ret 3.2 ADT7301與單片機的全雙工通訊接口 通過(guò)ADT7301與單片機的全雙工通訊接口可以使ADT7301工作在節電模式。圖4是ADT7301與8051單片機進(jìn)行全雙工通訊接口連接圖。相應的軟件編程如下。 ###全雙工通訊子程序### setb p1.3 mov r0,#30h ;讀溫度值緩沖器30h31h mov r1,#32h ;控制寄存器寫(xiě)入值(32h33h) mov r6,#08h ;循環(huán)移位計數 mov r7,#02h ;字節計數 clr p1.3 ;選通 loop0: setb p1.0 ;控制p1.0產(chǎn)生下降沿 clr p1.0 ;準備讀取數據 mov cy,p1.1 ;讀值 mov a,@r0 ;將上次結果重裝入 rlc a ;移位存儲讀取結果 mov @r0,a ;暫存mov a,@r1 ;將要寫(xiě)入值給累加器 rlc a ;移出要寫(xiě)入位 mov p1.2,cy ;循環(huán)寫(xiě)入 mov @r1,a ;暫存 djnz r7loop0 inc r0 inc r1 djnz r7,loop0 clr p1.3 ret 4 結束語(yǔ) ADT7301可用于測量物體的表面溫度或空氣溫度。由于該器件采用低功耗設計,因此,在利用熱傳導粘結劑將ADT7301粘結到被測物體表面時(shí),測得的溫度與表面實(shí)際溫度之差不超過(guò)0.1℃。另外,當被測物周?chē)鷾囟扰c被測物表面溫度存在溫度差時(shí),應注意將器件的背面和管腳與周?chē)諝飧綦x開(kāi)。由于接地引腳提供了管芯最好的熱傳導途徑,因此,管芯溫度與印制電路板的地線(xiàn)溫度最接近,所以應保證該管腳與被測表面良好接觸。 該溫度傳感器不宜長(cháng)期處于極限工作狀態(tài),當工作在+150℃時(shí),該器件的使用壽命是其工作在+55℃時(shí)的5%。當長(cháng)期工作在電壓和溫度極限時(shí),器件的結構完整性也將會(huì )遭到破壞。 linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論