技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 基于C8051F的SMBus實(shí)現(xiàn)智能測(cè)溫系統(tǒng)

基于C8051F的SMBus實(shí)現(xiàn)智能測(cè)溫系統(tǒng)

時(shí)間:2006-04-21 19:52:00來(lái)源:0

導(dǎo)語(yǔ):?本文介紹了基于C8051F的SMBus串行接口實(shí)現(xiàn)的智能測(cè)溫系統(tǒng),利用硬件SMBus資源和具有SMBus接口
摘 要:本文介紹了基于C8051F的SMBus串行接口實(shí)現(xiàn)的智能測(cè)溫系統(tǒng),利用硬件SMBus資源和具有SMBus接口的雙通道智能溫度傳感器MAX6654進(jìn)行數(shù)據(jù)通信,并應(yīng)用于智能測(cè)溫系統(tǒng)中。文中介紹了該系統(tǒng)的工作原理,并給出了軟硬件的設(shè)計(jì)思想和方法。該系統(tǒng)具有檢測(cè)精度高且不易受環(huán)境干擾的優(yōu)點(diǎn)。 關(guān)鍵詞:測(cè)溫系統(tǒng);智能溫度傳感器;C8051F單片機(jī);SMBus 1 引言 C8051F005是美國(guó)Cygnal公司推出的一種高性能混合信號(hào)系統(tǒng)級(jí)單片機(jī),即SOC(System on chip)。C8051F系列器件使用CYGNAL的專(zhuān)利:CIP-51微控制器內(nèi)核。C8051F系列單片機(jī)內(nèi)部有一個(gè)全雙工的UART、SPI總線以及I2C/SMBus[1]。每種串行總線都完全用硬件實(shí)現(xiàn),都能向CIP-51產(chǎn)生中斷,因此很少需要CPU的干預(yù)。這些串行總線不共享定時(shí)器中斷或I/O端口,可以按需要使用一個(gè)或全部。本文介紹的是基于這種具有硬件實(shí)現(xiàn)I2C/ SMBus的單片機(jī)和具有SMBus接口的雙通道智能溫度傳感器MAX6654進(jìn)行數(shù)據(jù)通信而構(gòu)成的智能測(cè)溫系統(tǒng)。利用該系統(tǒng)可對(duì)PC機(jī)、筆記本電腦和服務(wù)器中CPU的溫度進(jìn)行監(jiān)控等[2]。 2 C8051F005的SMBus配置和信號(hào)時(shí)序 C8051F系列單片機(jī)的SMBus串行接口完全符合系統(tǒng)管理總線標(biāo)準(zhǔn)1.1版。SMBus接口的工作電壓可以在(3.0~5.0) V之間。總線上不同器件的工作電壓可以不同。因?yàn)镾CL串行時(shí)鐘線和SDA串行數(shù)據(jù)線是雙向的,因此兩條線上都需要上拉電阻或類(lèi)似電路將它們連到電源電壓,在沒(méi)有數(shù)據(jù)傳輸時(shí),兩條線都處于高電平。典型的SMBus配置如圖1所示。SMBus采用多種線路條件作為器件的握手信號(hào)。在一次數(shù)據(jù)傳輸過(guò)程中,SDA只能在SCL為低電平時(shí)改變。在SCL為高電平時(shí),SDA發(fā)生改變則代表如下的開(kāi)始和停止信號(hào):⑴開(kāi)始。該條件啟動(dòng)一次傳輸過(guò)程,當(dāng)SCL為高電平時(shí),SDA上出現(xiàn)一個(gè)下降沿。⑵結(jié)束。該條件結(jié)束一次傳輸過(guò)程,當(dāng)SCL為高電平時(shí),SDA上出現(xiàn)一個(gè)上升沿。⑶應(yīng)答,也稱(chēng)為ACK。接受器件發(fā)送信號(hào)表示確認(rèn)。例如:在器件X收到一個(gè)字節(jié)后,它發(fā)送一個(gè)ACK,確認(rèn)傳輸成功。ACK條件是在SCL為高電平時(shí),采樣到SDA為低電平。 ⑷非應(yīng)答,也稱(chēng)為NACK。這是在SCL為高電平時(shí),采樣到SDA為高電平。當(dāng)接受器件不能產(chǎn)生ACK時(shí),發(fā)送器件看到的是NACK。在典型的數(shù)據(jù)傳輸中,收到NACK信號(hào),表示所尋址的從器件沒(méi)有準(zhǔn)備好,或不在總線上。處于發(fā)送狀態(tài)的主器件發(fā)送NACK表示傳輸?shù)淖詈笠粋€(gè)字節(jié)。SMBus的握手信號(hào)時(shí)序如圖2所示。 SMBus可以工作在主方式或從方式。總線為串行傳輸提供了時(shí)序和移位控制,字節(jié)控制是用戶(hù)定義的。SMBus的工作由下列寄存器中的內(nèi)容決定:SMBOSTA(狀態(tài)寄存器)、SMBOCN(控制寄存器)、SMBOADR(地址寄存器)和SMBODAT(數(shù)據(jù)寄存器)。用戶(hù)軟件是基于狀態(tài)來(lái)控制SMBus的。每當(dāng)發(fā)生狀態(tài)改變時(shí),SI(SMBus串行終端標(biāo)志)位被硬件置1,并在中斷使能的情況下產(chǎn)生一個(gè)中斷,接著停止SMBus,直到用戶(hù)軟件完成狀態(tài)變化服務(wù)并清除SI位。SMBus操作用狀態(tài)表來(lái)定義[3]。 3 MAX6654 該芯片是美國(guó)MAXIM公司生產(chǎn)的雙通道智能溫度傳感器,它采用SMBus總線接口,能同時(shí)測(cè)量遠(yuǎn)程溫度和本地溫度(即該芯片本身的環(huán)境溫度)。它具有多種工作模式可供選擇,并具有可編程的欠溫/超溫報(bào)警輸出功能[4]。 3.1 性能特點(diǎn) MAX6654是一種大規(guī)模集成電路。它的主要性能特點(diǎn)有:⑴本地溫度和遠(yuǎn)程溫度的測(cè)量范圍為-55~+125℃,在0~+100℃范圍內(nèi)的測(cè)溫精度為±2℃,通過(guò)外部擴(kuò)展溫度寄存器可將分辨力提高到0.125℃。⑵選擇“寄生阻抗抵消”模式,能抵消遠(yuǎn)程傳感器引線阻抗所引起的測(cè)溫誤差,即使引線阻抗達(dá)到100,也不會(huì)影響測(cè)量精度。傳感器引線可采用普通雙絞線或者帶屏蔽層的雙絞線[5]。⑶具有多種工作模式可供選擇,主要包括單次轉(zhuǎn)換模式、連續(xù)轉(zhuǎn)換模式、待機(jī)模式和低溫極限擴(kuò)展模式,這些模式的操作都非常簡(jiǎn)便。通過(guò)轉(zhuǎn)換速率寄存器可以設(shè)定連續(xù)轉(zhuǎn)換模式下的A/D轉(zhuǎn)換速率,設(shè)定范圍為0.0625~8次/s。⑷帶有SMBus串行接口,可與I2C總線兼容,串行時(shí)鐘頻率范圍為0~100kHz,在總線上最多可接9片MAX6654。⑸電源電壓范圍為+3.0~+5.5V,典型值可選為+3.3V或+5V。正常工作電流為550μA,待機(jī)模式下電流為3μA。 3.2工作原理 MAX6654采用的是16引腳的QSOP封裝。其中Vcc、GND分別接電源的正、負(fù)極。DXP、DXN分別接遠(yuǎn)程溫度傳感器PN結(jié)的P、N端(對(duì)NPN晶體管而言,就是發(fā)射極和基極)。ADDl、ADDO為SMBus從機(jī)地址的三態(tài)輸入端,設(shè)計(jì)時(shí)最多可在總線上掛接9片MAX6654。ALERT為報(bào)警(中斷)輸出端,為漏極開(kāi)路輸出。SMBDATA、SMBCLK分別為串行數(shù)據(jù)輸入/輸出端、串行時(shí)鐘輸入端。STBY為待機(jī)輸入端,低電平時(shí)為待機(jī)模式。該芯片內(nèi)部主要包括如下9個(gè)部分:傳感器輸入級(jí)、多路轉(zhuǎn)換器、11位A/ D轉(zhuǎn)換器、控制邏輯、地址譯碼器、SMBus串行接口、11個(gè)寄存器(包括遠(yuǎn)程溫度數(shù)據(jù)寄存器、本地溫度數(shù)據(jù)寄存器、TH寄存器1和2、TL寄存器1和2、命令寄存器、狀態(tài)寄存器、配置寄存器、轉(zhuǎn)換速率寄存器和報(bào)警響應(yīng)地址寄存器)、兩個(gè)數(shù)字比較器、輸出級(jí)(含或門(mén)、D觸發(fā)器和漏極開(kāi)路的MOS場(chǎng)效應(yīng)管)。除此之外,還有遠(yuǎn)程傳感器的故障檢測(cè)器 3.2.1 傳感器輸入級(jí)和A/D轉(zhuǎn)換器 MAX6654的傳感器輸入級(jí)包括兩個(gè)電流源和兩只硅二極管。其中VDl為偏置二極管。電流源經(jīng)外部測(cè)溫晶體管的PN結(jié)流過(guò)VD1使VD1正向?qū)?,從而給DXN端提供一個(gè)偏置電壓UF1,并使其電位高于地電位。VD2為內(nèi)置溫度傳感器。片內(nèi)多路開(kāi)關(guān)的作用是在A/D轉(zhuǎn)換過(guò)程中自動(dòng)切換兩個(gè)通道。MAX6654在上電時(shí)的默認(rèn)狀態(tài):首先清除中斷鎖存器中的內(nèi)容,然后對(duì)地址選擇端采樣并進(jìn)行片選;A/D轉(zhuǎn)換器工作在連續(xù)模式時(shí)的轉(zhuǎn)換速率為0.25次/s,同時(shí)將命令字節(jié)設(shè)成OOH,以便對(duì)遠(yuǎn)程接收字節(jié)進(jìn)行快速訪問(wèn);最后再給TH寄存器和TL寄存器分別置tH、tL值。 3.2.2 SMBus串行接口 從軟件的角度看,MAX6654呈現(xiàn)給用戶(hù)的是一套字節(jié)寬度寄存器的集合,其中包括溫度值、報(bào)警閾值和控制位。用戶(hù)可以通過(guò)SMBus接口來(lái)讀取溫度值、寫(xiě)控制位和寫(xiě)報(bào)警閾值。其溫度與數(shù)據(jù)的對(duì)應(yīng)關(guān)系見(jiàn)表1所列。MAX6654能滿足標(biāo)準(zhǔn)SMBus協(xié)議中對(duì)寫(xiě)字節(jié)、讀字節(jié)、發(fā)送字節(jié)和接收字節(jié)的規(guī)定。當(dāng)轉(zhuǎn)換速率≤1次/s時(shí),溫度值的前8位可從內(nèi)部溫度寄存器和外部溫度寄存器中讀取,而額外的3位則可從外部擴(kuò)展溫度寄存器和內(nèi)部擴(kuò)展溫度寄存器中讀取。使用擴(kuò)展溫度寄存器可將分辨力提高到0.125℃。 3.2.3 報(bào)警閾值寄存器和命令字寄存器 報(bào)警閾值寄存器包括TH寄存器和TL寄存器兩種,可分別用來(lái)存儲(chǔ)遠(yuǎn)程溫度和本地溫度的上、下限。當(dāng)被測(cè)溫度超出報(bào)警閾值時(shí),ALERT將產(chǎn)生中斷。而ALERT響應(yīng)中斷可為從機(jī)提供快速故障確認(rèn)功能。主機(jī)每接收到一個(gè)ALERT中斷信號(hào),就給ALERT響應(yīng)從地址(0001 100)發(fā)出一個(gè)接收字節(jié)命令,再由產(chǎn)生中斷的從機(jī)將自己的地址發(fā)送到總線上以供主機(jī)識(shí)別。利用ALERT響應(yīng)可同時(shí)激活幾個(gè)從機(jī)。命令字寄存器是主機(jī)指向從機(jī)中其他各寄存器的指針。根據(jù)命令,主機(jī)可完成讀本地溫度、讀外部溫度、讀轉(zhuǎn)換速率、讀內(nèi)部溫度上下限、讀遠(yuǎn)程溫度上下限、讀外部擴(kuò)展溫度、讀產(chǎn)品序列號(hào)等功能。 4 系統(tǒng)軟硬件設(shè)計(jì) 4.1 硬件設(shè)計(jì) 用單片機(jī)C8051F005來(lái)實(shí)現(xiàn)對(duì)MAX6654的信號(hào)采集和輸出控制,硬件設(shè)計(jì)簡(jiǎn)單可靠,系統(tǒng)溫度結(jié)點(diǎn)可擴(kuò)展性強(qiáng)。硬件設(shè)計(jì)原理如圖3所示。遠(yuǎn)程傳感器VT選用2N3904型低噪聲晶體管,并將它粘貼在被測(cè)量的CPU芯片上。C1為遠(yuǎn)程傳感器的消噪電容。由R1和C2可構(gòu)成高頻干擾濾波器。R2~R4均為上拉電阻。C8051F005單片機(jī)通過(guò)SMBus與MAX6654相連,可為后者提供串行時(shí)鐘并完成讀/寫(xiě)操作。一旦CPU的溫度越限,MAX6654的ALERT端就輸出低電平報(bào)警信號(hào)以使C8051F005產(chǎn)生中斷。C8051F005還可通過(guò)控制散熱風(fēng)扇使CPU處于正常溫度范圍。內(nèi)置溫度傳感器用來(lái)檢測(cè)MAX6654附近的環(huán)境溫度(圖中未標(biāo)出)。在本智能測(cè)溫系統(tǒng)中,C8051F005的 P0.0為SDA,P0.1為SCL,它們是硬件通過(guò)交叉開(kāi)關(guān)譯碼器分配的,不能是其它引腳。 此外,還應(yīng)注意電路中遠(yuǎn)程傳感器的選擇以及噪聲干擾的濾除等問(wèn)題。遠(yuǎn)程傳感器可選用SST3904、CMPT3904、2N3904 等型號(hào)的低噪聲小功率硅晶體管,也可選用國(guó)外生產(chǎn)的帶鋁盤(pán)散熱器和雙絞線的500-32BT02-000型晶體管來(lái)做遠(yuǎn)程傳感器。雖然MAX6654中的A/D轉(zhuǎn)換器對(duì)串模噪聲干擾的抑制能力較強(qiáng),但是,在一般情況下,工業(yè)環(huán)境中的高頻噪聲干擾仍會(huì)使測(cè)量值偏高1~100℃,所以,對(duì)串模噪聲必須加以抑制。在DXP與DXN之間連接一只2200pF的電容能有效地濾除高頻電磁干擾。遠(yuǎn)程傳感器的引線應(yīng)采用屏蔽雙絞線電纜,并將DXP和DXN分別接至雙絞線的一端,而將屏蔽層接GND(遠(yuǎn)端屏蔽層可不接地)。使用較長(zhǎng)的電纜線時(shí),其分布電容本身就具有濾除噪聲的作用,此時(shí)可適當(dāng)減小C1的容量。 4.2 軟件設(shè)計(jì) 系統(tǒng)程序流程如圖4所示。在本系統(tǒng)中,C8051F005的SMBus始終作為主器件出現(xiàn),SMBus首先發(fā)出一個(gè)起始條件,接著發(fā)出MAX6654器件地址+W(寫(xiě))。寫(xiě)操作用于設(shè)置MAX6654的當(dāng)前地址。在收到從器件的ACK后,主器件發(fā)出待讀存儲(chǔ)器地址。在收到一個(gè)ACK后,主器件發(fā)出重復(fù)起始條件和從器件地址+R(讀)。從器件在發(fā)出ACK后,將發(fā)送溫度寄存器內(nèi)的數(shù)據(jù)字節(jié)。讀完之后,主器件發(fā)出一個(gè)NACK,并隨后發(fā)出停止條件。程序中用重復(fù)起始條件使寫(xiě)存儲(chǔ)器地址和讀數(shù)據(jù)字節(jié)之間不能進(jìn)行其它傳輸。溫度讀取時(shí)所涉及的所有的狀態(tài)都由中斷處理程序通過(guò)狀態(tài)表來(lái)完成。 5 結(jié)論 目前,SMBus串行總線用的主要還是虛擬SMBus,特別是在軟件編程方面。本文的智能測(cè)溫系統(tǒng)采用硬件SMBus實(shí)現(xiàn)溫度讀取,比用虛擬SMBus實(shí)現(xiàn)的溫度讀取要穩(wěn)定和可靠得多,受通信速度的影響也小得多。此外,用MAX6654構(gòu)成的溫度采集系統(tǒng),溫度檢測(cè)準(zhǔn)確可靠且不易受環(huán)境干擾,為整個(gè)系統(tǒng)的正常運(yùn)行提供了可靠性保障。 參考文獻(xiàn): [1] 王邵華.I2C總線[J].無(wú)線電. 2003.(1):8~8 [2] 唐友懷.Cygnal在片系統(tǒng)單片機(jī)的特點(diǎn)與應(yīng)用[J].電子世界. 2003.(6):34~35 [3] 李剛,林凌.與8051兼容的高性能、高速單片機(jī)--C8051Fxxx[M].北京:北京航空航天大學(xué)出版社.2002 [4] 江海洋.精密數(shù)字溫度傳感控制器MAX6654[J].無(wú)線電. 2002.(5):47~47 [5] 馬凈,李曉光,寧偉. 幾種常用溫度傳感器的原理及發(fā)展[J].中國(guó)儀器儀表.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:中小型PLC在大型自來(lái)水廠的應(yīng)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢(xún)采購(gòu)咨詢(xún)媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)