<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用I2C總線(xiàn)實(shí)現AD7416的多點(diǎn)溫控系統

用I2C總線(xiàn)實(shí)現AD7416的多點(diǎn)溫控系統

作者: 時(shí)間:2012-01-10 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 器件結構 采用節省空間的SO-8和小型SOIC封裝。

  引腳說(shuō)明 引腳號 名 稱(chēng) 說(shuō) 明 1 SDA 數字I/O。雙向數據串行總線(xiàn),漏極開(kāi)路輸出 2 SCL 數字輸入。串行總線(xiàn)時(shí)鐘 3 OTI 數字輸出。超溫掉電輸出(漏極開(kāi)路) 4 GND 電源地 5~7 A2~A0 數字輸入。串行總線(xiàn)地址可編程低3位 8 +VS 正電源電壓,+2.7~+5.5V 2 系統軟硬件設計

  2.1 硬件設計 用單片機AT89C2051來(lái)實(shí)現對AD7416的信號采集和輸出控制,硬件設計簡(jiǎn)單可靠,系統溫度節點(diǎn)可擴展性強。為確保系統不受電源波動(dòng)的干擾,采用電源電壓監視器TL7705A作系統復位控制器。如果AD7416要裝在離電源較遠處,AD7416必須用一個(gè)0.1μF的陶瓷電容接在+VS和地之間去耦。

  如所有的I2C兼容器件一樣,AD7416有一個(gè)7位串行地址。這個(gè)地址的高4位設定為1001,而低3位可由用戶(hù)通過(guò)將A2~A0腳連接到無(wú)論是+VS或GND來(lái)設置。通過(guò)它們不同的設定地址,可將多達8個(gè)AD7416接到一條串行總線(xiàn),超過(guò)8個(gè),則將與總線(xiàn)上的其它器件發(fā)生沖突。 如果需要采集更多的溫度節點(diǎn),可采用多條串行總線(xiàn)的形式來(lái)擴展。 此例中,AT89C2051的P1,1腳用作I2C串行總線(xiàn)的時(shí)鐘信號線(xiàn),P1.0腳用作雙向串行數據總線(xiàn)。通過(guò)從硬件上將AD7416的地址引腳A0、A1、A2接至不同電平,從而實(shí)現對每片AD7416的編址。

  2.2 寄存器結構

  對AD7416編程要注意其內部寄存器的結構,每片AD7416有5個(gè)內部寄存器,其中4個(gè)是數字寄存器而1個(gè)是地址指針寄存器。地址指針寄存器是一個(gè)8位寄存器,儲存指向4個(gè)數據寄存器之一的地址。AD7416每一次串行寫(xiě)操作的第一個(gè)數據字節是數據寄存器的地址,這就是隨后的數據字節要寫(xiě)入的地址。這個(gè)寄存器只須最低兩位被用來(lái)選擇一個(gè)數據寄存器,。

  地址指針寄存器 P7* P6* P5* P4* P3* P2* P1* 0 0 0 0 0 0 0 地址指針寄存器最低兩位所選的數據寄存器。

  寄存器地址 P1 P0 寄存器 0 0 溫度值(只讀,上電缺?。?0 1 配置(讀/寫(xiě)) 1 0 THYST(讀/寫(xiě)) 1 1 TOTI(讀/寫(xiě)) 溫度值寄存器是一個(gè)16位只讀寄存器,它的高10位以2的補碼格式儲存由A/D轉換器送來(lái)10位溫度讀數,低6位未用。溫度數據格式。


  溫度數據格式 溫度/℃ 數字輸出 溫度/℃ 數字輸出 -75 10 1101 0100 +0.25 00 0000 0001 -50 11 0011 1000 +10 0 0001 01000 -25 11 1001 1100 +25 0 0011 00100 -0.25 11 1111 1111 +50 0 0110 01000 0 00 0000 0000 +75 0 1001 01100 配置寄存器是一個(gè)8位讀/寫(xiě)寄存器,用來(lái)設置AD7416的工作方式。 TRYST設點(diǎn)寄存器是一個(gè)16位讀/寫(xiě)寄存器,它的9個(gè)最高位儲存以2的補碼格式表示的低溫度門(mén)限設點(diǎn)。 TOT1設點(diǎn)寄存器是一個(gè)16位讀/寫(xiě)寄存器,它的9個(gè)最高位存儲以2的補碼格式表示的高溫度門(mén)限設點(diǎn)。 AD7416上電時(shí)地址指針指向溫度值寄存器,TOT1設點(diǎn)寄存器的值為80℃,THYST設點(diǎn)寄存器的值為75℃,這些缺省使得AD7416可以用于標準的恒溫器而不需要與任何行總線(xiàn)連接。

  2.3 工作方式選擇 AD7416有兩種工作方式,方式的選擇由系統工作情況來(lái)決定。 在工作方式1情況下,配置寄存器高3位D7~D5必須保持位0,最低位D0=0為正常工作方式。每400μs進(jìn)行一次轉換,旦轉換結束,器件將部分地降低功耗(典型情況為350μA),直至下一次轉換開(kāi)始。 工作方式2由配置寄存器的最低位D0=1來(lái)啟動(dòng),適合于比較慢的速率測溫系統中。通過(guò)寫(xiě)AD7416使之進(jìn)入一個(gè)在兩次讀操作之間處于全掉電狀態(tài),這樣,器件的功耗可以更低。在全掉電時(shí),電流消耗典型值為0.2μA。

  2.4 軟件設計 軟件設計采用虛擬軟件包VIIC[1],該軟件包具有最佳包容性設計、歸一化設計以及應用界面設計等特色。在此軟件包為平臺來(lái)進(jìn)行軟件設計可以不必了解原理、協(xié)議和時(shí)序,只要了解該軟件包的應用操作即可,使程序更具模塊化、調試簡(jiǎn)單等優(yōu)點(diǎn)。 軟件包規定了讀/寫(xiě)N字節數據子程序為惟一出口界面,因此,由調用該讀/寫(xiě)子程序及滿(mǎn)足調用操作的初始化操作的三條命令即構成軟件包的應用界面,即 MOV SLA,#SLAW/SLAR ;尋址字節存放單元存放總線(xiàn) ;上節點(diǎn)尋址并確定數據傳送方向 MOV NUMBYT,#N ;傳送字節數存儲單元存放 ;需要傳送的N字節 LCALL WRNBYT/RDNBYT:調用讀/寫(xiě)N字節數據子程序 三條初始化命令決定了CPU對總線(xiàn)上節點(diǎn)的尋址和數據傳送方向以及需要傳送的字節數N。在具體應用該軟件包時(shí),只需要對軟件包的應用界面進(jìn)行操作即可,從而避免了設計者必須從原理上對擴展的I2C總線(xiàn)外圍器件進(jìn)行繁瑣的應用程序設計。 系統程序流程如圖4所示。 讀兩字節的溫度值寄存器時(shí)序。

  3 遠程離溫度數據采集的實(shí)現方法

  本實(shí)例中要求測量近20m的溫度節點(diǎn),為了簡(jiǎn)化系統硬件設計,沒(méi)有使用緩沖器進(jìn)行驅動(dòng);而通過(guò)加適當的上拉電阻,以獲得一定的上拉電流使信號采集可靠。在實(shí)際應用系統中,上拉電阻值由I2C總線(xiàn)系統中信號所需的上升時(shí)間決定。近似地認為整修系統的時(shí)間常數為1μs。對于每個(gè)分別的總線(xiàn),其上拉電阻計算式為 Rp=1μs/(Cd+Cw) 式中:Cd為連到每個(gè)總線(xiàn)上的器件電容的和;Cw為每個(gè)線(xiàn)上的全部導線(xiàn)電容和雜散電容。 系統中電容估算:I2C器件電容約為80 pF;雜散電容約為80 pF;導線(xiàn)電容約為1500 pF。因此,總線(xiàn)系統的上拉電阻為 Rp=1μs/(80pF+80pF+1500pF)=602Ω 為使數據采集可靠,選用了Rp=510Ω的電阻。由于上拉電阻受到最大拉電流限制,所以應檢查上拉電流不超過(guò)30mA。本例上拉電流(5-0.4)V/Rp=9.02mA30mA,檢查通過(guò)。 調試中發(fā)現,降低上拉電阻阻值后大大改善了通信情況,但有時(shí)仍然會(huì )有誤碼現象出現,于是在軟件上降低了通信的頻率。將頻率由400 kb/s降低到200 kb/s,通過(guò)放慢通信速度來(lái)提高通信可靠性。實(shí)際證明,處理之后的溫度值讀取穩定可靠。

  結束語(yǔ) 筆者用AD7416所設計的多路溫濕度循環(huán)檢測控制儀,溫度檢測準確可靠,不易受環(huán)境干擾,為整個(gè)系統的正常運行提供了可靠性保障。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>