1 引言
目前,很多應(yīng)用系統(tǒng)均采用總線控制方式實時配置各種寄存器,,靈活實現(xiàn)其控制功能,,從而全程監(jiān)控各個參數(shù)。典型的總線控制設(shè)計方案一基于EEPROM的系統(tǒng)監(jiān)控電路,,通過對EEPROM進行在線編程,,實時配置系統(tǒng)各個控制參數(shù),進而實時監(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,,通常可將VCC連接至12 V中等電壓總線,或連接到3.3 V輔助電源,。也可使用外部供電電路對其編程設(shè)置,例如使用3.3 V輔助電壓(而無需其他電源),,或施加12 V中等電壓總線,,關(guān)閉所有下游電源,以避免其他電路施加電源,。也可使用常見的雙二極管,,由編程連接器供電。當MAX16031由12 V總線供電時,,由于二極管會產(chǎn)生壓降,,因此該供電效果最佳。
2.2 共用總線
當一器件(非μP)正常工作時需與MAX16031通信,,則存在潛在問題,。例如,當系統(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保護二極管的引腳),同時上拉電阻足夠大,,則在編程和正常工作時共用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,。在編程模式下,,連接在測試點的編程硬件電路必須提供適當?shù)腎2C上拉電阻。
2.3 編程電路
圖2所示電路通過12 V中等電壓總線向MAX16031供電,,通過雙二極管從編程連接器供電,。該連接器與MAX16031的I2C總線連接,并與板上具有開漏I2C輸出的系統(tǒng)管理μP共用總線,,此時μP并未真正加載到總線上,,即便是在上電前。作為外部編程器的替代方案,,也可使用系統(tǒng)管理μP在初始上電時,,編程設(shè)置MAX16031,可在沒有特殊硬件的條件下更新MAX16031的配置,。
3 在線編程
3.1 編程算法
利用MAX16031的內(nèi)置EEPROM,,首先確定編程寄存器的鎖定地址;然后加載EEPROM的開始地址,;利用寫入命令在EEPROM的開始地址處寫入數(shù)據(jù),;等待I2C總線編程結(jié)束后,進入下一個編程循環(huán),,如圖3所示,。
3.2 參數(shù)設(shè)置
MAX16031內(nèi)置EEP-ROM用于儲存器件配置參數(shù)。上電后,,EEPROM的內(nèi)容被送入RAM寄存器,。RAM和EEPROM均通過JTAG和I2C接口訪問。若要正確編程MAX16031,,則所需參數(shù)必須設(shè)置在EEPROM,,圖4為MAX16031的存儲器映射。
3.3 在線編程步驟
在編程MAX16031的EEPROM配置內(nèi)存時,,必須首先確定寄存器r5Fh[0]上的配置鎖定位是否為零;如果不為零,,則在該位上寫入“1”將其清零,。若要寫入EEPROM,進入EEPROM頁面,,加載開始地址(97h),,然后發(fā)送一系列塊燒錄命令(I2C)。以下為典型EEPROM編程過程的偽碼:
經(jīng)上述在線編程后,,通過I2C總線即可實時監(jiān)控各種復(fù)雜系統(tǒng)的電壓,、電流,、溫度和故障等,同時允許用戶自行設(shè)置工作范圍,、上下限,、故障輸出以及工作模式,并存儲相關(guān)數(shù)據(jù),,從而實現(xiàn)更高的靈活性,。
4 結(jié)束語
該系統(tǒng)設(shè)計雖然是針對I2C總線在線編程,但設(shè)計方法在總線系統(tǒng)的接口編程設(shè)計中具有通用性,,對相關(guān)的電路設(shè)計有一定的參考價值,。