?
??? MAX16046–MAX16049 EEPROM可編程系統(tǒng)管理器是電源排序器、監(jiān)測器和裕量調(diào)節(jié)器,,可控制多達(dá)12路電源,。電源由三個(gè)數(shù)字比較器監(jiān)測,由可編程DAC輸出調(diào)節(jié)裕量,,并且由可編程狀態(tài)引擎對其進(jìn)行排序,。
??? 系統(tǒng)管理器包括兼容于SMBus的I2C接口和一個(gè)JTAG接口,這兩個(gè)接口均可訪問器件的所有寄存器,,編程內(nèi)部配置EEPROM,。MAX16046–MAX16049可在線編程,僅需遵守幾條簡單規(guī)則即可,。
供電
??? MAX16046–MAX16049的電源電壓范圍為3V至14V,。典型應(yīng)用中將VCC連接至12V中等電壓總線或3.3V輔助電源。??? 可使用局部供電電路板對MAX16046–MAX16049進(jìn)行編程,。例如,,可使用3.3V輔助電壓而無需任何其它電源,或者施加12V中等電壓總線,。由于此時(shí)的系統(tǒng)管理器尚未編程,,應(yīng)關(guān)閉所有下游電源。也可以使用常見的雙二極管,,從編程連接器供電。由于二極管會產(chǎn)生壓降,,所以當(dāng)MAX16046–MAX16049由12V總線供電時(shí),,這種方法的工作效果最佳,。
??? 如果不使用二極管邏輯“或”電路,而在電路板通電時(shí)對MAX16046–MAX16049進(jìn)行編程,,則必須注意排序輸出的狀態(tài),,以防止下游電源過早打開。
??? MAX16046–MAX16049在編程之前為高阻輸出,。高電平有效的電源使能輸入應(yīng)具有下拉電阻,,而低電平有效的電源使能輸入應(yīng)具有上拉電阻。排序輸出可設(shè)置為推挽輸出或開漏輸出,。因?yàn)殚_漏配置需要外部上拉電阻,,所以只能采用低電平有效的使能輸入。
??? 最好不要將MAX16046–MAX16049連接到JTAG鏈路,,因?yàn)殒溌分猩嫌纹骷赡軟]有供電,,從而阻止對MAX16046–MAX16049的訪問。建議首選JTAG復(fù)用器或?qū)S肑TAG接口,。
共用總線
??? 當(dāng)一個(gè)器件(而非μP)在正常工作時(shí)需要與MAX16046–MAX16049通信時(shí),,存在一個(gè)潛在問題。例如,,當(dāng)系統(tǒng)監(jiān)控μP需要訪問MAX16046的ADC讀數(shù)時(shí),。當(dāng)電路板斷電或只是部分供電,并且MAX16046正在編程時(shí),,連接到I2C或JTAG總線的其它器件可能產(chǎn)生干擾,。最簡便的解決方法是通過JTAG接口編程MAX16046并監(jiān)控連接到I2C接口的μP。若μP支持開漏I2C總線I/O (即沒有連接至VCC的ESD保護(hù)二極管的引腳),,同時(shí)上拉電阻足夠大,,在編程和正常工作才共用I2C總線是可行的。如果μP的I2C總線不是開漏式,,ESD二極管將箝位總線并會干擾編程,。??? 如果系統(tǒng)μP不具備真正的開漏I2C總線,可采用類似圖1的電路在μP和編程I2C總線之間自動切換,。
圖1. MAX16046通過MAX4525復(fù)用器/開關(guān)共用其I2C總線
??? 圖1所示MAX4525復(fù)用器在連接到系統(tǒng)μP的I2C和連接到編程測試點(diǎn)上的I2C之間進(jìn)行切換,。開關(guān)由系統(tǒng)μP的VCC控制。如果采用12V電源供電,,而不是VCC供電,,開關(guān)將I2C連接至編程測試點(diǎn)。一旦施加VCC電源,,開關(guān)將I2C連接至系統(tǒng)μP,。
應(yīng)用電路實(shí)例
??? 以下示意圖中介紹了用于在線編程的三種不同應(yīng)用電路。12V中等電壓總線供電,,通過I2C總線編程
??? 圖2所示電路通過12V中等電壓總線向MAX16046供電,,由模擬使能端EN監(jiān)測,。當(dāng)12V總線電壓超過EN端電阻分壓器設(shè)置的門限時(shí),如果器件已經(jīng)編程完畢,,則MAX16046嘗試排序,。未經(jīng)編程的MAX16046則沒有任何反應(yīng),且排序輸出保持高阻態(tài),。
圖2. MAX16046通過12V中等電壓總線供電并且通過I2C接口編程
??? 一路電源使用高電平有效的推挽使能控制,,而其它電源采用低電平有效的開漏使能控制。當(dāng)未經(jīng)編程的輸出處于高阻態(tài)時(shí),,適當(dāng)?shù)纳侠?、下拉電阻可防止電源打開。
??? 需要特別注意的是:推挽式輸出不能上拉到VDBP以上的電壓,,開漏輸出不能上拉到6V以上的電壓,。I2C連接被引至編程測試點(diǎn),編程硬件必須提供適當(dāng)?shù)纳侠娮?。該電路非常簡單,,因?yàn)殡娐钒迳蠜]有其它器件需要連接到I2C總線。
3.3V輔助電源供電,,通過JTAG復(fù)用器編程
??? 如圖3所示,,MAX16046通過3.3V輔助電源供電。用一個(gè)DS26900 JTAG復(fù)用器與其它器件共用JTAG連接,,該DS26900 JTAG復(fù)用器也由3.3V輔助電源供電,。通過3.3V供電時(shí)無需施加12V中等電壓總線即可完成編程。
圖3. MAX16046通過3.3V輔助電源供電并通過DS26900 JTAG復(fù)用器編程
12V中等總線供電,,通過JTAG編程
??? 如圖4所示,,MAX16046通過連接到12V中等電壓總線的二極管邏輯“或”電路供電,可以安全供電,,不會對下游電路產(chǎn)生影響,。JTAG和電源連接被引至編程測試點(diǎn)。
圖4. MAX16046通過一個(gè)12V中等電壓總線供電并通過JTAG編程
編程算法
??? MAX16046–MAX16049具有內(nèi)置EEPROM,,用于儲存器件配置參數(shù),。上電后,EEPROM的內(nèi)容被送入RAM寄存器,。RAM和EEPROM均可通過JTAG和I2C接口訪問,。若要正確編程MAX16046–MAX16049,則所需參數(shù)必須設(shè)置在EEPROM—請參見表1所示存儲器表,。
表1. MAX16046存儲器表
?
配置文件
??? MAX16046評估板(EV kit)軟件提供兩種類型的配置軟件,。一種是通過選擇File

??? XML文件可以在各種web瀏覽器上以彩色編碼的分層格式查看,。EV軟件生成的XML文件被分成幾個(gè)片段并且包含設(shè)置選項(xiàng)卡信息和寄存器數(shù)據(jù)。有兩個(gè)重要部分:包含被加載到EEPROM的配置值的Config_Register部分和包含加載到用戶EEPROM的User_Register部分,。
??? 每一部分中,,Register標(biāo)簽指定加載到特定地址的值。該寄存器標(biāo)簽的格式為:
?
??? 所有值均為十進(jìn)制,。這些地址對應(yīng)RAM寄存器和EEPROM地址,。請注意,RAM寄存器0至14為DAC寄存器,,而地址0至地址14的EEPROM為保存的故障數(shù)據(jù),。EEPROM編程應(yīng)從地址15開始。
??? 關(guān)于XML文件格式的詳細(xì)信息,,請?jiān)L問XML Developer Center,。
??? SVF文件格式的詳細(xì)信息請參考Serial Vector Format Specification (PDF, 85.2kB)。
I2C編程步驟
??? 在編程MAX16046–MAX16049的EEPROM配置內(nèi)存時(shí),,必須首先確定寄存器r5Dh[0]上的配置鎖定位為零,。如果不是零,則在該位上寫入“1”將其清零,。若要寫入EEPROM,,可發(fā)送適當(dāng)命令,進(jìn)入EEPROM頁面,,加載開始地址,,然后發(fā)送一系列塊燒錄命令。關(guān)于相應(yīng)I2C協(xié)議的詳細(xì)信息,,請參閱MAX16046/MAX16048或者MAX16047/MAX16049的數(shù)據(jù)資料,。??? 以下為一個(gè)典型EEPROM編程過程的邏輯代碼:
SendByte(5Dh) // Check lock bit If ReadByte() & 2 == 2 Then WriteByte(5Dh, 02h) // Clear lock bit if needed SendByte(9Ah) // Access EEPROM page Loop Address from 0Fh to 7Dh SendByte(Address) // Load address WriteBlock(Data, 10h) // Write a block of 16 bytes Wait(16 * 11 milliseconds) // Wait for programming SendByte(Address) ReadBlock(DataRead, 10h) // Read back data block If DataRead != Data Then RepeatCount = RepeatCount + 1 If RepeatCount == 3 Then Fail Else RepeatCount = 0 Address = Address + 10h // Advance to next block SendByte(9Bh) // Return to default page Success
?
??? 若要寫入用戶EEPROM,可采用相同步驟,,僅用地址范圍9Ch至FFh代替0Fh至7Dh即可,。
JTAG編程步驟
??? 用標(biāo)準(zhǔn)的第三方JTAG工具、MAX16046 BSDL文件和EV軟件生成一個(gè)SVF數(shù)據(jù)文件,,可通過JTAG編程電纜或在線PCB檢測儀對MAX16046–MAX16049進(jìn)行編程,。BSDL文件可從Maxim網(wǎng)站下載。?
??? SMBus是Intel Corp.的商標(biāo),。
?
?
?