MAX16031/MAX16032系統監視器焊接到應用電路板后即可進行編程。這意味著只需要庫存未編程的設備,并且可以在制造測試期間將最新版本的配置信息寫入設備。本應用筆記詳細介紹了幾種簡單的措施,確保應用電路允許編程硬件共享I2C或JTAG總線,并在編程期間為器件供電。還為I2C總線和JTAG總線提供了編程算法。
MAX16031/MAX16032基于EEPROM的系統管理器是系統監控器件,用于監測<>個電源電壓、<>個溫度傳感器和<>個電流。將每個參數與四個不同的閾值進行比較,并且可以配置多個故障輸出以在各種條件下置位。
這些監視器包括一個SMBus?兼容的I2C接口和一個JTAG接口,這兩個接口都可以訪問所有器件寄存器并對內部配置EEPROM進行編程。MAX16031/MAX16032是在線可編程的,只要遵循一些簡單的準則即可。
提供電力
MAX16031/MAX16032具有3V至14V的電源電壓范圍。某些應用程序連接 V抄送至 12V 中間總線電壓,而其他連接 V抄送至 3.3V 輔助電源。
可以使用部分供電的電路板對這些設備進行編程。例如,可以在沒有任何其他電源的情況下施加3.3V輔助電壓,或者可以在所有下游電源被強制關閉時施加12V中間總線電壓,以防止電源到達任何其他電路。另一種選擇是使用常用的雙二極管,以便從編程連接器供電。由于二極管引起的壓降,當MAX16031/MAX16032由12V總線供電時,這種方法效果最佳。
共享巴士
當微處理器(μP)以外的某些器件在正常工作期間需要與MAX16031/MAX16032通信時,會出現潛在問題。例如,當系統監控μP需要訪問MAX16031/MAX16032的ADC讀數時。當電路板未上電或部分上電且MAX16031/MAX16032正在編程時,連接到I2C或JTAG總線的其他器件可能會產生干擾。最簡單的解決方案是通過JTAG接口對MAX16031/MAX16032進行編程,并將監控μP連接到I2C接口。如果μP支持真正的漏極開路I2C總線I/O(即引腳缺少ESD二極管至V抄送),并且上拉電阻足夠大,可以共享I2C總線進行編程和正常工作。如果μP的I2C總線不是漏極開路,ESD二極管將箝位母線并干擾編程。共享JTAG可能需要由3.3V供電的JTAG總線多路復用器。
如果系統μP沒有真正的漏極開路I2C總線,則可以使用圖1所示的電路在μP和編程I2C總線之間自動切換。
圖1.MAX16031通過MAX4525多路復用器/開關共享I2C總線。
圖4525所示的MAX1多路復用器在連接到系統μP的I2C和連接到編程測試點的I2C之間切換。開關由 V 控制抄送系統μP。如果 V抄送不施加,但12V,開關將I2C連接到編程測試點。一次 V抄送施加,開關將I2C連接到系統μP。 注意,在編程模式下,連接到測試點的編程硬件必須提供適當的I2C上拉電阻。
應用電路示例
下圖顯示了為在線編程設計的兩種不同的應用電路。
由12V中間總線供電,并通過I2C總線編程
圖2所示,MAX16031由12V中間總線供電。雙通道二極管允許編程連接器供電,編程連接器也連接到MAX16031的I2C線路。它們與板載系統管理μP共享,具有漏極開路I2C輸出,即使μP未上電,也不會加載總線。作為外部編程器的替代方案,系統管理μP還可以在初始上電時對MAX16031進行編程。這也使得無需特殊硬件即可輕松更新MAX16031的配置。
圖2.MAX16031由12V中間總線供電,并通過I2C總線進行在線編程。
由3.3V輔助總線供電,并通過JTAG端口編程
圖3所示為MAX16031由3.3V輔助總線供電。編程是通過專用的JTAG線完成的,這些線路被帶到編程測試點。在本例中,必須先提供3.3V輔助總線,然后才能完成編程。I2C接口仍連接到系統管理μP。
圖3.MAX16031由3.3V輔助總線供電,通過JTAG端口編程。
編程算法
MAX16031/MAX16032內置EEPROM,用于存儲器件配置參數。接通電源后,EEPROM的內容被傳輸到RAM寄存器。RAM和EEPROM都可以從JTAG和I2C接口訪問。為了正確編程MAX16031/MAX16032,必須根據EEPROM編程所需參數——參見表1中的存儲器圖。
表 1.MAX16031/MAX16032存儲器圖
配置文件
MAX16031評估板(EV kit)軟件提供兩種類型的配置文件。一個是通過選擇系統
保存配置生成的人類可讀的文本文件...此文件可用于I2C編程。第二個是通過選擇系統
另存為 SVF 生成的...該文件采用串行矢量格式(SVF),許多PLD供應商用于JTAG編程。
文本文件格式如下:
[Registers]
register number=register value
. . .
所有值均為十進制。寄存器從 23 開始,到 98。這些地址對應于RAM寄存器,而不是EEPROM地址。要獲取EEPROM地址,請在RAM寄存器地址上加128。
SVF 文件格式在串行矢量格式規范 (PDF, 85.2kB) 中有更詳細的描述。
I2C編程程序
要對MAX16031/MAX16032的EEPROM配置存儲器進行編程,首先需要確保寄存器r5Fh[0]中的配置鎖緊位為零。如果它不為零,則在該位上寫一個“1”以清除它。要寫入EEPROM,請加載起始地址(97h),然后執行一系列塊寫入命令(I2C)或寫入命令(JTAG)。有關I2C協議的詳細信息,請參見MAX16031/MAX16032數據資料。
典型EEPROM編程過程的偽代碼如下:
SendByte(5Fh) // Check lock bit If ReadByte() & 1 == 1 Then WriteByte(5Fh, 01h) // Clear lock bit if needed Loop Address from 97h to DFh 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 Success
JTAG編程過程
要對器件進行編程,請使用標準的第三方JTAG工具、MAX16031/MAX16032 BSDL文件、評估板軟件生成的SVF數據文件以及JTAG編程電纜或在線PCB測試儀。BSDL 文件可供下載。
注意,評估軟件生成的SVF文件測試IDCODE寄存器。以下代碼片段來自MAX16031評估板軟件生成的SVF文件:
ENDDR IDLE; ENDIR IDLE; SIR 5 TDI(00) TDO(01); SDR 32 TDI(00000000) TDO(00001197) MASK(0FFFFFFF); TDO(00001197) 語句驗證完整的 IDCODE 語句,包括設備修訂代碼。如果設備與不同的修訂代碼一起使用,則此語句將失敗。要使 SVF 文件忽略 IDCODE 寄存器的修訂代碼字段,請改用以下行:SDR 32 TDI(00000000) TDO(00001197) MASK(0FFFFFFF);
mask 語句忽略 4 位修訂代碼字段(請參閱表 2)。
修訂版(4 位) | 部件號(16 位) | 制造商(11 位) | |
二元的 | 0010 | 0000 0000 0000 0001 | 00011001011 1 |
十六進制 | 2 | 0001 | 197 |
審核編輯:郭婷
-
電源
+關注
關注
184文章
17839瀏覽量
251797 -
電路板
+關注
關注
140文章
4996瀏覽量
98861 -
JTAG
+關注
關注
6文章
401瀏覽量
71842
發布評論請先 登錄
相關推薦
基于MAX16031系統管理器的在線編程設計
External Temperature Sensor Ca
![External Temperature Sensor Ca](https://file1.elecfans.com//web2/M00/A4/68/wKgZomUMNBKAJHAgAAA6deFkbiI780.gif)
MAX6889, MAX6890, MAX6891 EEPR
In-Circuit Programming of the
MAX6615, MAX6616 業內雙通道溫度監視器與風扇
![<b class='flag-5'>MAX</b>6615, <b class='flag-5'>MAX</b>6616 業內雙通道溫度<b class='flag-5'>監視器</b>與風扇](https://file1.elecfans.com//web2/M00/A4/80/wKgZomUMNHyALxZQAABkxcUHGZI672.gif)
基于MAX16031系統管理器的在線編程設計
![基于<b class='flag-5'>MAX16031</b><b class='flag-5'>系統管理器</b>的<b class='flag-5'>在線</b><b class='flag-5'>編程</b>設計](https://file1.elecfans.com//web2/M00/A5/65/wKgZomUMODyANPGeAAH8JM4QB6U726.jpg)
基于EEPROM的系統監控器MAX16031/MAX1603
![基于<b class='flag-5'>EEPROM</b>的<b class='flag-5'>系統</b>監控<b class='flag-5'>器</b><b class='flag-5'>MAX16031</b>/<b class='flag-5'>MAX</b>1603](https://file1.elecfans.com//web2/M00/A5/B8/wKgZomUMOcSAD047AAEwGbRfAvI700.jpg)
MAX16031/MAX16032系統監測器的外部溫度傳感器校準
![<b class='flag-5'>MAX16031</b>/<b class='flag-5'>MAX16032</b><b class='flag-5'>系統</b>監測<b class='flag-5'>器</b>的外部溫度傳感<b class='flag-5'>器</b>校準](https://file.elecfans.com//web2/M00/8A/D6/pYYBAGO_fTaABqvvAAAD4F_yGDo745.gif)
評論