AD7416在低功耗系統(tǒng)中的應(yīng)用
地址指針寄存器儲存指向四個數(shù)據(jù)寄存器之一的地址。對AD7416每一次串行寫操作的第一個數(shù)據(jù)字節(jié)是數(shù)據(jù)寄存器的地址,這就是隨后的數(shù)據(jù)字節(jié)要寫入的地址,這個值就存儲在地址指針寄存器中。這個寄存器只須最低兩位被用來選擇一個數(shù)據(jù)寄存器,其值對應(yīng)于寄存器地址。溫度值寄存器是一個16位只讀寄存器,它的高1O位以2的補(bǔ)碼格式儲存由AD轉(zhuǎn)換器送來的10位溫度讀數(shù),低六位未用。
配置寄存器是一個8位讀/寫寄存器,它用來設(shè)置AD7416的工作方式。D7、D6、D5用于通道選擇,均保持為0;D4、D3設(shè)置錯誤隊列長度;D2設(shè)置OTI輸出極性;D1設(shè)置OTI工作方式;DO設(shè)置芯片工作方式。THYST設(shè)點寄存器和TOTI設(shè)點寄存器都是16位讀/寫寄存器,它們的9個最高位儲存以2的補(bǔ)碼格式表示的低、高溫度門限設(shè)點,對應(yīng)溫度值寄存器的高9位,低7位未用。
AD7416上電時地址指針指向溫度值寄存器,TOT1=80℃,THYST=75℃。
1.2.2 基本工作原理
帶隙溫度傳感器和10位A/D轉(zhuǎn)換器可以按照預(yù)先設(shè)定的工作方式對環(huán)境溫度進(jìn)行實時測量。同時把轉(zhuǎn)換結(jié)果以10位二進(jìn)制數(shù)形式保存到溫度值寄存器。
設(shè)點比較器把實際測量到的溫度值與預(yù)先設(shè)定的高低門限值進(jìn)行比較,如果超限則按配置寄存器設(shè)置在OTI端輸出高低電平。OTI在使用中需要外接一個約1O k的上拉電阻。
AD7416中有一個故障排隊計數(shù)器用以避免干擾造成的OTI輸出端誤觸發(fā),這個計數(shù)器的排隊長度由配置寄存器設(shè)定。如果排隊設(shè)置為4,那么就需要連續(xù)4次測量溫度超限才能引起OTI的有效輸出,小于4次都認(rèn)為是干擾,將復(fù)位故障排隊計數(shù)器。本文引用地址:http://2s4d.com/article/188575.htm
2 系統(tǒng)設(shè)計
2.1 硬件設(shè)計
系統(tǒng)中AD7416部分硬件原理圖如圖3所示,A2、A1、A0 分別接低、低、高電平,在八位地址中,高四位為1001表示選中7416,次三位為A2、A1、A0表示的地址,最低位表示讀寫,所以應(yīng)用中AD7416 的寫地址為10010010B,讀地址為10010011B。本例中僅使用AD7416進(jìn)行測量溫度,OTI懸空,沒有利用。串行時鐘、數(shù)據(jù)總線對應(yīng)連接處理器的時鐘、數(shù)據(jù)總線端口。
2.2 軟件設(shè)計
AD7416的01H為配置寄存器,其最低位為0,則啟動芯片采集溫度值并進(jìn)行AD轉(zhuǎn)換;為1則停止芯片工作。軟件開始首先啟動芯片工作,程序如下:
這段程序向AD7416的配置寄存器寫入00H,完成芯片的測溫啟動。I2C_START子程序啟動IIC總線,I2C_WwRITE子程序向IIC總線寫一個字節(jié),I2C_STOP子程序關(guān)閉IIC總線。程序首先向IIC總線寫92H,選中AD7416芯片,然后把01H寫入AD7416的地址指針寄存器,選中配置寄存器,最后把00H寫入配置寄存器。
評論