新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > AD7416在低功耗溫度檢測系統中的應用

        AD7416在低功耗溫度檢測系統中的應用

        作者: 時間:2009-11-09 來源:網絡 收藏

          0 引言

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

          1 的結構功能

          1.1 管腳功能

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

        管腳功能

          1.2 內部結構功能

          AD7416的內部結構圖如圖2所示,片內帶隙和1O位AD轉換器組成測溫電路,測量結果存入溫度值寄存器。片內有5個寄存器、一個溫度比較器、一個錯誤隊列計數器,功能在下文介紹。一個串行總線接口用于IIC地址控制和數據傳輸。

        AD7416的內部結構圖

          1.2.1 內部寄存器

          AD7416有5個內部寄存器:地址指針寄存器、溫度值寄存器(00H)、上限寄存器TOTI(03H)、下限寄存器THYST(02H)、配置寄存器(01H)。

          地址指針寄存器儲存指向四個數據寄存器之一的地址。對AD7416每一次串行寫操作的第一個數據字節是數據寄存器的地址,這就是隨后的數據字節要寫入的地址,這個值就存儲在地址指針寄存器中。這個寄存器只須最低兩位被用來選擇一個數據寄存器,其值對應于寄存器地址。溫度值寄存器是一個16位只讀寄存器,它的高1O位以2的補碼格式儲存由AD轉換器送來的10位溫度讀數,低六位未用。

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

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

          1.2.2 基本工作原理

          帶隙溫度傳感器和10位A/D轉換器可以按照預先設定的工作方式對環境溫度進行實時測量。同時把轉換結果以10位二進制數形式保存到溫度值寄存器。

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

          AD7416中有一個故障排隊計數器用以避免干擾造成的OTI輸出端誤觸發,這個計數器的排隊長度由配置寄存器設定。如果排隊設置為4,那么就需要連續4次測量溫度超限才能引起OTI的有效輸出,小于4次都認為是干擾,將復位故障排隊計數器。

          2 系統設計

          2.1 硬件設計

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

        系統中AD7416部分硬件原理圖

          2.2 軟件設計

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

        程序

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

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

        程序

          3 結論

          系統設計中使用了AD7416的測溫功能,從使用過程看,該芯片結構簡單,操作方便,功耗低,是低功耗測溫系統的最佳選擇。又由于使用片內溫度傳感器,所以大大簡化了設計結構,同時也在很大程度上提高了系統的可靠性。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮南市| 凉山| 寿宁县| 麦盖提县| 黎城县| 恩平市| 丹阳市| 红原县| 临漳县| 正阳县| 麻栗坡县| 漳州市| 苍山县| 普定县| 林周县| 湘潭市| 兴国县| 乐安县| 镇赉县| 遵化市| 曲麻莱县| 织金县| 兰西县| 甘谷县| 民权县| 寿阳县| 岑巩县| 顺平县| 贵港市| 平谷区| 邵阳县| 西乌| 瑞金市| 平南县| 吴堡县| 阿瓦提县| 太湖县| 慈溪市| 黄浦区| 巴东县| 渝中区|