?
??? MAX16046–MAX16049 EEPROM可編程系統(tǒng)管理器是電源排序器、監(jiān)測器和裕量調(diào)節(jié)器,可控制多達12路電源。電源由三個數(shù)字比較器監(jiān)測,由可編程DAC輸出調(diào)節(jié)裕量,并且由可編程狀態(tài)引擎對其進行排序。
??? 系統(tǒng)管理器包括兼容于SMBus的I2C接口和一個JTAG接口,這兩個接口均可訪問器件的所有寄存器,編程內(nèi)部配置EEPROM。MAX16046–MAX16049可在線編程,僅需遵守幾條簡單規(guī)則即可。
供電
??? MAX16046–MAX16049的電源電壓范圍為3V至14V。典型應(yīng)用中將VCC連接至12V中等電壓總線或3.3V輔助電源。??? 可使用局部供電電路板對MAX16046–MAX16049進行編程。例如,可使用3.3V輔助電壓而無需任何其它電源,或者施加12V中等電壓總線。由于此時的系統(tǒng)管理器尚未編程,應(yīng)關(guān)閉所有下游電源。也可以使用常見的雙二極管,從編程連接器供電。由于二極管會產(chǎn)生壓降,所以當(dāng)MAX16046–MAX16049由12V總線供電時,這種方法的工作效果最佳。
??? 如果不使用二極管邏輯“或”電路,而在電路板通電時對MAX16046–MAX16049進行編程,則必須注意排序輸出的狀態(tài),以防止下游電源過早打開。
??? MAX16046–MAX16049在編程之前為高阻輸出。高電平有效的電源使能輸入應(yīng)具有下拉電阻,而低電平有效的電源使能輸入應(yīng)具有上拉電阻。排序輸出可設(shè)置為推挽輸出或開漏輸出。因為開漏配置需要外部上拉電阻,所以只能采用低電平有效的使能輸入。
??? 最好不要將MAX16046–MAX16049連接到JTAG鏈路,因為鏈路中上游器件可能沒有供電,從而阻止對MAX16046–MAX16049的訪問。建議首選JTAG復(fù)用器或?qū)S肑TAG接口。
共用總線
??? 當(dāng)一個器件(而非μP)在正常工作時需要與MAX16046–MAX16049通信時,存在一個潛在問題。例如,當(dāng)系統(tǒng)監(jiān)控μP需要訪問MAX16046的ADC讀數(shù)時。當(dāng)電路板斷電或只是部分供電,并且MAX16046正在編程時,連接到I2C或JTAG總線的其它器件可能產(chǎn)生干擾。最簡便的解決方法是通過JTAG接口編程MAX16046并監(jiān)控連接到I2C接口的μP。若μP支持開漏I2C總線I/O (即沒有連接至VCC的ESD保護二極管的引腳),同時上拉電阻足夠大,在編程和正常工作才共用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和連接到編程測試點上的I2C之間進行切換。開關(guān)由系統(tǒng)μP的VCC控制。如果采用12V電源供電,而不是VCC供電,開關(guān)將I2C連接至編程測試點。一旦施加VCC電源,開關(guān)將I2C連接至系統(tǒng)μP。
應(yīng)用電路實例
??? 以下示意圖中介紹了用于在線編程的三種不同應(yīng)用電路。12V中等電壓總線供電,通過I2C總線編程
??? 圖2所示電路通過12V中等電壓總線向MAX16046供電,由模擬使能端EN監(jiān)測。當(dāng)12V總線電壓超過EN端電阻分壓器設(shè)置的門限時,如果器件已經(jīng)編程完畢,則MAX16046嘗試排序。未經(jīng)編程的MAX16046則沒有任何反應(yīng),且排序輸出保持高阻態(tài)。
圖2. MAX16046通過12V中等電壓總線供電并且通過I2C接口編程
??? 一路電源使用高電平有效的推挽使能控制,而其它電源采用低電平有效的開漏使能控制。當(dāng)未經(jīng)編程的輸出處于高阻態(tài)時,適當(dāng)?shù)纳侠?、下拉電阻可防止電源打開。
??? 需要特別注意的是:推挽式輸出不能上拉到VDBP以上的電壓,開漏輸出不能上拉到6V以上的電壓。I2C連接被引至編程測試點,編程硬件必須提供適當(dāng)?shù)纳侠娮琛T撾娐贩浅:唵?,因為電路板上沒有其它器件需要連接到I2C總線。
3.3V輔助電源供電,通過JTAG復(fù)用器編程
??? 如圖3所示,MAX16046通過3.3V輔助電源供電。用一個DS26900 JTAG復(fù)用器與其它器件共用JTAG連接,該DS26900 JTAG復(fù)用器也由3.3V輔助電源供電。通過3.3V供電時無需施加12V中等電壓總線即可完成編程。
圖3. MAX16046通過3.3V輔助電源供電并通過DS26900 JTAG復(fù)用器編程
12V中等總線供電,通過JTAG編程
??? 如圖4所示,MAX16046通過連接到12V中等電壓總線的二極管邏輯“或”電路供電,可以安全供電,不會對下游電路產(chǎn)生影響。JTAG和電源連接被引至編程測試點。
圖4. MAX16046通過一個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 Save Configuration As生成的可讀XML文件,該文件可用于I2C編程。另一種是通過選擇File Save as .SVF生成的文件,該文件為連續(xù)矢量格式(SVF),第三方JTAG工具和在線PCB測試可利用該文件進行JTAG編程。??? XML文件可以在各種web瀏覽器上以彩色編碼的分層格式查看。EV軟件生成的XML文件被分成幾個片段并且包含設(shè)置選項卡信息和寄存器數(shù)據(jù)。有兩個重要部分:包含被加載到EEPROM的配置值的Config_Register部分和包含加載到用戶EEPROM的User_Register部分。
??? 每一部分中,Register標(biāo)簽指定加載到特定地址的值。該寄存器標(biāo)簽的格式為:
?
??? 所有值均為十進制。這些地址對應(yīng)RAM寄存器和EEPROM地址。請注意,RAM寄存器0至14為DAC寄存器,而地址0至地址14的EEPROM為保存的故障數(shù)據(jù)。EEPROM編程應(yīng)從地址15開始。
??? 關(guān)于XML文件格式的詳細信息,請訪問XML Developer Center。
??? SVF文件格式的詳細信息請參考Serial Vector Format Specification (PDF, 85.2kB)。
I2C編程步驟
??? 在編程MAX16046–MAX16049的EEPROM配置內(nèi)存時,必須首先確定寄存器r5Dh[0]上的配置鎖定位為零。如果不是零,則在該位上寫入“1”將其清零。若要寫入EEPROM,可發(fā)送適當(dāng)命令,進入EEPROM頁面,加載開始地址,然后發(fā)送一系列塊燒錄命令。關(guān)于相應(yīng)I2C協(xié)議的詳細信息,請參閱MAX16046/MAX16048或者MAX16047/MAX16049的數(shù)據(jù)資料。??? 以下為一個典型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軟件生成一個SVF數(shù)據(jù)文件,可通過JTAG編程電纜或在線PCB檢測儀對MAX16046–MAX16049進行編程。BSDL文件可從Maxim網(wǎng)站下載。?
??? SMBus是Intel Corp.的商標(biāo)。
?
?
?