簡化微控制器與溫度傳感器之間的接口
摘要:數(shù)字系統(tǒng)常常需要測量、控制和保持溫度,而溫度是一個模擬量。如果采用適當?shù)募夹g和元件,將模擬的溫度量轉化為數(shù)字量并不困難。本文介紹了幾種簡單的微處理器與傳感器的接口電路。
本文引用地址:http://m.butianyuan.cn/article/149330.htm原理上,微處理器對溫度值的讀取很簡單。將熱敏電阻或其它模擬溫度傳感器的輸出送入模數(shù)轉換器(ADC),微處理器只需讀取模數(shù)轉換器輸出的數(shù)字量即可。有些微處理器內(nèi)部帶ADC,在某種程度上簡化了設計。ADC需要一個基準電壓,可由外部器件產(chǎn)生。熱敏電阻傳感器的基準電壓通常與其電阻分壓網(wǎng)絡高端上的電壓相同。這類溫度測量系統(tǒng)存在的問題是:
· 傳感器輸出電壓范圍遠小于ADC的輸入范圍:用于溫度測量的ADC一般是8位精度,采用2.5V基準電壓,通常這也就是輸入電壓范圍。如果在溫度測量范圍內(nèi)傳感器對應的最大輸出僅為1.25V,則有效分辨率就下降為7位。為達到8位精度,必須利用外部運算放大器增加信號增益,或者降低ADC的基準電壓(對有些ADC而言,這樣會降低轉換精度)。
· 誤差裕量小:熱敏電阻網(wǎng)絡或其它模擬溫度傳感器誤差、ADC的轉換誤差、運算放大器失調(diào)、增益設置電阻的公差、以及電壓基準誤差的總和可能已超出系統(tǒng)的容差。
· 非線性:熱敏電阻的傳遞函數(shù)具有嚴重的非線性,許多應用場合,在測量的很小溫度范圍之內(nèi)它近似于線性。還可以通過查表法來補償非線性,但這種方法所需要的資源可能難以獲得。
· ADC的輸入端口有限:如果需要測量的溫度點比ADC的輸入端口多,就需要增加多路切換器,這會增加成本和開發(fā)時間。
· 微處理器的I/O引腳有限:對于內(nèi)置ADC的微處理器這不成為問題,但是外部串行ADC就需要2到4個I/O線與微處理器進行通訊。
如果采用數(shù)字輸出的溫度傳感器,上述設計問題就大為簡化。當ADC輸入端口和微處理器I/O引腳不夠用時,時間或頻率輸出的溫度傳感器都可以解決問題。MAX6576溫度傳感器輸出方波的周期與絕對溫度成正比。它采用6引腳SOT-23封裝,只占很小的電路板面積。與微處理器之間只通過一條I/O線進行通訊。微處理器的內(nèi)部計數(shù)器測出周期后,可直接計算出溫度值。兩個邏輯輸入端分別連接到地或電源正端,可設置4種從10μs/°k到64μs/°k周期/溫度比例系數(shù)。
芯片MAX6577輸出方波的頻率與溫度成正比,比例系數(shù)在0.06Hz/μk到4 Hz/μk之間可調(diào)。這兩種器件僅需一條I/O口線即可將溫度測量數(shù)據(jù)送至MPU,在需要將溫度傳感器與MPU進行隔離的場合,只需增加一個簡單的光耦即可,簡化了溫度測量電路,節(jié)省了電路板面積、元件數(shù)量、以及模擬/數(shù)字I/O口的資源。
對于需要測量多點溫度的應用,方案選擇比較復雜。假設ADC有足夠多的輸入通道,可將熱敏電阻或傳統(tǒng)的模擬傳感器放置在合適的位置上,并連接到ADC。另一個方案是采用MAX6575,它可將溫度測量數(shù)據(jù)直接送到MPU,一條I/O線最多可掛8片MAX6575(圖1)。MPU只需短暫拉低I/O口線電平,即可啟動測量。經(jīng)過一定延時,第一片MAX6575拉低I/O口線,此時延長度與絕對溫度成正比,比例系數(shù)通過MAX6575的兩個引腳設置。
圖1中,第一片MAX6575按與絕對溫度成正比的時延(5μs/°k)拉低I/O線電平后釋放I/O線,第二片MAX6575通過設置端設一個更長的時延常數(shù),經(jīng)過這個時延,拉低I/O線電平并按5μs/°k的比例系數(shù)保持一定時間。4片MAX6575可按這種方式聯(lián)在一條I/O線上。另外4片更長時延設置的MAX6575也可聯(lián)在同一I/O線上。
MAX6575L的時延常數(shù)在55μs/°k到505μs/°k之間 ,MAX6575H在1605μs/°k 到6405μs/°k之間。這樣,最多可有8個MAX6575放置在測量系統(tǒng)的不同位置,通過一條I/O線與MPU相連。
有些系統(tǒng),不需要測量精確的溫度值,只需判斷溫度是否高于或低于某個溫度點。這個信號可用于風扇、空調(diào)、加熱器或其它環(huán)境控制設備。在系統(tǒng)保護應用中,過熱信號可觸發(fā)有序的系統(tǒng)關斷狀態(tài)以避免系統(tǒng)電源切斷時丟失數(shù)據(jù)。這個過熱信號可用前面提到的測量方法獲得,但對于這種簡單應用來說,占用了過多硬件和軟件資源。
MAX6501/MAX6502開關型溫度傳感器可替代溫度傳感器和比較器,使系統(tǒng)簡化(圖2)。這種單芯片集成了溫度傳感器、電壓比較器和電壓基準。當溫度超過了預設的閾值時,漏極開路輸出給出一個低電平信號。同MAX6575一樣,多個MAX6501可連在同一條I/O線上,MPU可監(jiān)測一個或多個位置是否有溫度報警,如果系統(tǒng)需要監(jiān)測具體在哪個位置上有溫度告警發(fā)生,則每個開關輸出必須連到不同的MPU I/O線上。
上述芯片監(jiān)測的是它們自身的管芯溫度,因為管芯溫度非常接近管腳溫度,所以這些芯片應放置在合適的位置,使它們的管腳溫度與被監(jiān)測器件的溫度近似相同。
有些情況需要監(jiān)測的溫度點無法與傳感器芯片建立熱耦合關系----例如功率ASIC,它們內(nèi)部的管芯溫度遠遠高于外部電路板的溫度。一個內(nèi)置的溫度傳感器可以在溫度過高時關斷功率ASIC自身。但這種方式的精確度不夠,很難在出現(xiàn)過熱故障之前向系統(tǒng)發(fā)出警告。
如果在ASIC的管芯上增加一個可外部連接的P-N結,就可直接測量管芯溫度。方法是使用2個或多個正向電流來驅動這個P-N結,測量結電壓。兩次電壓的差值與管芯的絕對溫度成正比:V2-V1=KT/q(LnI2/I1)。I1和I2是兩次不同的驅動電流,V1和V2是測得的P-N結電壓,K是波爾茲曼常數(shù),T是P-N結的絕對溫度,單位是開爾文度,°k,q是電荷量。
這種測量方法需要產(chǎn)生精確的驅動電流比,測量出微小的電壓差信號,同時又要盡量抑制功率ASIC的瞬變過程帶來的噪聲信號。Maxim的遠端結溫傳感器可將這些精密的模擬電路功能及一個簡單靈活的數(shù)字接口集成在一起。
MAX1618,可以8位(1℃)的精度,測量遠端結溫,并通過SMBus總線將結果送入MPU(圖3)。該芯片用于監(jiān)測PC機的CPU溫度,還可減輕MPU的一些負擔。MAX1618通過一個窗口比較器檢測管芯結溫度,當溫度高于或低于MPU控制寄存器內(nèi)的設定溫度時,便中斷MPU的工作。
評論