基于MAX16031系統(tǒng)管理器的在線編程設(shè)計
1 引言
目前,很多應(yīng)用系統(tǒng)均采用總線控制方式實時配置各種寄存器,靈活實現(xiàn)其控制功能,從而全程監(jiān)控各個參數(shù)。典型的總線控制設(shè)計方案一基于EEPROM的系統(tǒng)監(jiān)控電路,通過對EEPROM進(jìn)行在線編程,實時配置系統(tǒng)各個控制參數(shù),進(jìn)而實時監(jiān)測各種電路參數(shù)及故障。
MAX16031就是一種基于EEPROM的系統(tǒng)監(jiān)控電路,可監(jiān)測8路電源電壓,提供3路溫度檢測和1路電流監(jiān)測;每個監(jiān)測參數(shù)與4個不同門限相比較,多路故障指示輸出可配置在不同條件下觸發(fā)報警。這里以MAX16031為核心,配以相應(yīng)的輔助電路和靈活的軟件設(shè)計,通過I2C總線來實現(xiàn)基于MAX16031的實時監(jiān)控在線編程功能。
2 硬件設(shè)計
MAX16031內(nèi)置有一個兼容于SMBusTM的I2C接口和一個JTAG接口,這兩個接口均可訪問器件的所有寄存器,可編程設(shè)置其內(nèi)部EEPROM。
2.1 供電電源
MAX16031的電源電壓范圍為3~14 V,通??蓪CC連接至12 V中等電壓總線,或連接到3.3 V輔助電源。也可使用外部供電電路對其編程設(shè)置,例如使用3.3 V輔助電壓(而無需其他電源),或施加12 V中等電壓總線,關(guān)閉所有下游電源,以避免其他電路施加電源。也可使用常見的雙二極管,由編程連接器供電。當(dāng)MAX16031由12 V總線供電時,由于二極管會產(chǎn)生壓降,因此該供電效果最佳。
2.2 共用總線
當(dāng)一器件(非μP)正常工作時需與MAX16031通信,則存在潛在問題。例如,當(dāng)系統(tǒng)監(jiān)控μP需要訪問MAX16031的A/D轉(zhuǎn)換器讀數(shù)時,外部供電電路掉電或只是部分供電、且MAX16031正在編程時,掛接在I2C總線的其他器件可能產(chǎn)生干擾。而最簡便解決方法是通過JTAG接口編程MAX16031并監(jiān)控連接到I2C接口的μP。若μP支持開漏I2C總線I/O(即未連接至VCC的ESD保護(hù)二極管的引腳),同時上拉電阻足夠大,則在編程和正常工作時共用I2C總線是可行的。如果μP的I2C總線不是開漏式,ESD二極管將箝位總線并會干擾編程。如果系統(tǒng)μP不具備真正的開漏I2C總線,可采用圖1所示電路在μP和編程I2C總線之間自動切換。
圖1中,MAX4525復(fù)用器在連接到系統(tǒng)μP的I2C和連接到編程測試點上的I2C之間切換。開關(guān)由系統(tǒng)μP的VCC控制。如果采用12 V電源供電,而不是VCC,開關(guān)將I2C連接至編程測試點。一旦施加VCC電源,開關(guān)將I2C連接至系統(tǒng)μP。在編程模式下,連接在測試點的編程硬件電路必須提供適當(dāng)?shù)腎2C上拉電阻。
2.3 編程電路
圖2所示電路通過12 V中等電壓總線向MAX16031供電,通過雙二極管從編程連接器供電。該連接器與MAX16031的I2C總線連接,并與板上具有開漏I2C輸出的系統(tǒng)管理μP共用總線,此時μP并未真正加載到總線上,即便是在上電前。作為外部編程器的替代方案,也可使用系統(tǒng)管理μP在初始上電時,編程設(shè)置MAX16031,可在沒有特殊硬件的條件下更新MAX16031的配置。
評論