<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 元件/連接器 > 設(shè)計(jì)應(yīng)用 > AD7416在低功耗系統(tǒng)中的應(yīng)用

          AD7416在低功耗系統(tǒng)中的應(yīng)用

          ——
          作者: 時(shí)間:2010-01-25 來源:電子產(chǎn)品世界 收藏

            0 引言

          本文引用地址:http://www.ex-cimer.com/article/103924.htm

            在測(cè)量與儀器儀表中,溫度的檢測(cè)幾乎成為必不可少的一部分。傳統(tǒng)的模擬溫度傳感器或是外圍電路復(fù)雜,或是需要設(shè)計(jì)A/D轉(zhuǎn)換、操作煩瑣,在使用上都受到一定的限制,用數(shù)字溫度傳感器設(shè)計(jì)各種控制系統(tǒng),體積小、功耗低、編程簡(jiǎn)單操作方便。芯片帶有自動(dòng)比較、可編程控制輸出端OTI,在溫控系統(tǒng)設(shè)計(jì)中有很大優(yōu)勢(shì),另外,功耗低,可以編程控制工作與休眠狀態(tài)的切換,在系統(tǒng)設(shè)計(jì)中也有廣泛應(yīng)用。

            1 的結(jié)構(gòu)功能

            1.1 管腳功能

            AD7416共8個(gè)管腳,采用SOIC/MSOP封裝。1腳為數(shù)據(jù)輸入輸出口,IIC總線雙向數(shù)據(jù)端口;2腳為IIC總線時(shí)鐘端口;3腳OTI為溫度比較輸出端;4腳GND接地端;5、6、7為IIC總線地址編程位輸入端;8腳VDD為電源。

            

           

            1.2 內(nèi)部結(jié)構(gòu)功能

            AD7416的內(nèi)部結(jié)構(gòu)圖如圖2所示,片內(nèi)帶隙溫度傳感器和1O位AD轉(zhuǎn)換器組成測(cè)溫電路,測(cè)量結(jié)果存入溫度值寄存器。片內(nèi)有5個(gè)寄存器、一個(gè)溫度比較器、一個(gè)錯(cuò)誤隊(duì)列計(jì)數(shù)器,功能在下文介紹。一個(gè)串行總線接口用于IIC地址控制和數(shù)據(jù)傳輸。

            

           

            1.2.1 內(nèi)部寄存器

            AD7416有5個(gè)內(nèi)部寄存器:地址指針寄存器、溫度值寄存器(00H)、上限寄存器TOTI(03H)、下限寄存器THYST(02H)、配置寄存器(01H)。 地址指針寄存器儲(chǔ)存指向四個(gè)數(shù)據(jù)寄存器之一的地址。對(duì)AD7416每一次串行寫操作的第一個(gè)數(shù)據(jù)字節(jié)是數(shù)據(jù)寄存器的地址,這就是隨后的數(shù)據(jù)字節(jié)要寫入的地址,這個(gè)值就存儲(chǔ)在地址指針寄存器中。這個(gè)寄存器只須最低兩位被用來選擇一個(gè)數(shù)據(jù)寄存器,其值對(duì)應(yīng)于寄存器地址。溫度值寄存器是一個(gè)16位只讀寄存器,它的高1O位以2的補(bǔ)碼格式儲(chǔ)存由AD轉(zhuǎn)換器送來的10位溫度讀數(shù),低六位未用。

            配置寄存器是一個(gè)8位讀/寫寄存器,它用來設(shè)置AD7416的工作方式。D7、D6、D5用于通道選擇,均保持為0;D4、D3設(shè)置錯(cuò)誤隊(duì)列長(zhǎng)度;D2設(shè)置OTI輸出極性;D1設(shè)置OTI工作方式;DO設(shè)置芯片工作方式。THYST設(shè)點(diǎn)寄存器和TOTI設(shè)點(diǎn)寄存器都是16位讀/寫寄存器,它們的9個(gè)最高位儲(chǔ)存以2的補(bǔ)碼格式表示的低、高溫度門限設(shè)點(diǎn),對(duì)應(yīng)溫度值寄存器的高9位,低7位未用。

            AD7416上電時(shí)地址指針指向溫度值寄存器,TOT1=80℃,THYST=75℃。

            1.2.2 基本工作原理

            帶隙溫度傳感器和10位A/D轉(zhuǎn)換器可以按照預(yù)先設(shè)定的工作方式對(duì)環(huán)境溫度進(jìn)行實(shí)時(shí)測(cè)量。同時(shí)把轉(zhuǎn)換結(jié)果以10位二進(jìn)制數(shù)形式保存到溫度值寄存器。

            設(shè)點(diǎn)比較器把實(shí)際測(cè)量到的溫度值與預(yù)先設(shè)定的高低門限值進(jìn)行比較,如果超限則按配置寄存器設(shè)置在OTI端輸出高低電平。OTI在使用中需要外接一個(gè)約1O k的上拉電阻。

            AD7416中有一個(gè)故障排隊(duì)計(jì)數(shù)器用以避免干擾造成的OTI輸出端誤觸發(fā),這個(gè)計(jì)數(shù)器的排隊(duì)長(zhǎng)度由配置寄存器設(shè)定。如果排隊(duì)設(shè)置為4,那么就需要連續(xù)4次測(cè)量溫度超限才能引起OTI的有效輸出,小于4次都認(rèn)為是干擾,將復(fù)位故障排隊(duì)計(jì)數(shù)器。

            2 系統(tǒng)設(shè)計(jì)

            2.1 硬件設(shè)計(jì)

            系統(tǒng)中AD7416部分硬件原理圖如圖3所示,A2、A1、A0 分別接低、低、高電平,在八位地址中,高四位為1001表示選中7416,次三位為A2、A1、A0表示的地址,最低位表示讀寫,所以應(yīng)用中AD7416 的寫地址為10010010B,讀地址為10010011B。本例中僅使用AD7416進(jìn)行測(cè)量溫度,OTI懸空,沒有利用。串行時(shí)鐘、數(shù)據(jù)總線對(duì)應(yīng)連接處理器的時(shí)鐘、數(shù)據(jù)總線端口。

            

           

            2.2 軟件設(shè)計(jì)

            AD7416的01H為配置寄存器,其最低位為0,則啟動(dòng)芯片采集溫度值并進(jìn)行AD轉(zhuǎn)換;為1則停止芯片工作。軟件開始首先啟動(dòng)芯片工作,程序如下:

            

           

            這段程序向AD7416的配置寄存器寫入00H,完成芯片的測(cè)溫啟動(dòng)。I2C_START子程序啟動(dòng)IIC總線,I2C_WwRITE子程序向IIC總線寫一個(gè)字節(jié),I2C_STOP子程序關(guān)閉IIC總線。程序首先向IIC總線寫92H,選中AD7416芯片,然后把01H寫入AD7416的地址指針寄存器,選中配置寄存器,最后把00H寫入配置寄存器。

            讀取雙字節(jié)溫度值時(shí),首先要向AD7416寫入目的寄存器地址00H,即要讀取數(shù)據(jù)的寄存器的地址,存放于地址指針寄存器中。然后發(fā)送讀命令,接收到第一個(gè)字節(jié)后,處理器向總線發(fā)送應(yīng)答信號(hào),接收第二字節(jié)發(fā)送非應(yīng)答信號(hào),完畢后停止總線操作。從AD7416中讀取溫度值的部分程序如下,TEMPH存放高字節(jié),TEMPL存放低字節(jié):

            

           

            3 結(jié)論

            系統(tǒng)設(shè)計(jì)中使用了AD7416的測(cè)溫功能,從使用過程看,該芯片結(jié)構(gòu)簡(jiǎn)單,操作方便,功耗低,是測(cè)溫系統(tǒng)的最佳選擇。又由于使用片內(nèi)溫度傳感器,所以大大簡(jiǎn)化了設(shè)計(jì)結(jié)構(gòu),同時(shí)也在很大程度上提高了系統(tǒng)的可靠性。



          關(guān)鍵詞: AD7416 低功耗

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();