MAX16031/MAX16032系統(tǒng)監(jiān)視器焊接到應(yīng)用電路板后即可進(jìn)行編程。這意味著只需要庫存未編程的設(shè)備,并且可以在制造測(cè)試期間將最新版本的配置信息寫入設(shè)備。本應(yīng)用筆記詳細(xì)介紹了幾種簡(jiǎn)單的措施,確保應(yīng)用電路允許編程硬件共享I2C或JTAG總線,并在編程期間為器件供電。還為I2C總線和JTAG總線提供了編程算法。
MAX16031/MAX16032基于EEPROM的系統(tǒng)管理器是系統(tǒng)監(jiān)控器件,用于監(jiān)測(cè)<>個(gè)電源電壓、<>個(gè)溫度傳感器和<>個(gè)電流。將每個(gè)參數(shù)與四個(gè)不同的閾值進(jìn)行比較,并且可以配置多個(gè)故障輸出以在各種條件下置位。
這些監(jiān)視器包括一個(gè)SMBus?兼容的I2C接口和一個(gè)JTAG接口,這兩個(gè)接口都可以訪問所有器件寄存器并對(duì)內(nèi)部配置EEPROM進(jìn)行編程。MAX16031/MAX16032是在線可編程的,只要遵循一些簡(jiǎn)單的準(zhǔn)則即可。
提供電力
MAX16031/MAX16032具有3V至14V的電源電壓范圍。某些應(yīng)用程序連接 V抄送至 12V 中間總線電壓,而其他連接 V抄送至 3.3V 輔助電源。
可以使用部分供電的電路板對(duì)這些設(shè)備進(jìn)行編程。例如,可以在沒有任何其他電源的情況下施加3.3V輔助電壓,或者可以在所有下游電源被強(qiáng)制關(guān)閉時(shí)施加12V中間總線電壓,以防止電源到達(dá)任何其他電路。另一種選擇是使用常用的雙二極管,以便從編程連接器供電。由于二極管引起的壓降,當(dāng)MAX16031/MAX16032由12V總線供電時(shí),這種方法效果最佳。
共享巴士
當(dāng)微處理器(μP)以外的某些器件在正常工作期間需要與MAX16031/MAX16032通信時(shí),會(huì)出現(xiàn)潛在問題。例如,當(dāng)系統(tǒng)監(jiān)控μP需要訪問MAX16031/MAX16032的ADC讀數(shù)時(shí)。當(dāng)電路板未上電或部分上電且MAX16031/MAX16032正在編程時(shí),連接到I2C或JTAG總線的其他器件可能會(huì)產(chǎn)生干擾。最簡(jiǎn)單的解決方案是通過JTAG接口對(duì)MAX16031/MAX16032進(jìn)行編程,并將監(jiān)控μP連接到I2C接口。如果μP支持真正的漏極開路I2C總線I/O(即引腳缺少ESD二極管至V抄送),并且上拉電阻足夠大,可以共享I2C總線進(jìn)行編程和正常工作。如果μP的I2C總線不是漏極開路,ESD二極管將箝位母線并干擾編程。共享JTAG可能需要由3.3V供電的JTAG總線多路復(fù)用器。
如果系統(tǒng)μP沒有真正的漏極開路I2C總線,則可以使用圖1所示的電路在μP和編程I2C總線之間自動(dòng)切換。
圖1.MAX16031通過MAX4525多路復(fù)用器/開關(guān)共享I2C總線。
圖4525所示的MAX1多路復(fù)用器在連接到系統(tǒng)μP的I2C和連接到編程測(cè)試點(diǎn)的I2C之間切換。開關(guān)由 V 控制抄送系統(tǒng)μP。如果 V抄送不施加,但12V,開關(guān)將I2C連接到編程測(cè)試點(diǎn)。一次 V抄送施加,開關(guān)將I2C連接到系統(tǒng)μP。 注意,在編程模式下,連接到測(cè)試點(diǎn)的編程硬件必須提供適當(dāng)?shù)腎2C上拉電阻。
應(yīng)用電路示例
下圖顯示了為在線編程設(shè)計(jì)的兩種不同的應(yīng)用電路。
由12V中間總線供電,并通過I2C總線編程
圖2所示,MAX16031由12V中間總線供電。雙通道二極管允許編程連接器供電,編程連接器也連接到MAX16031的I2C線路。它們與板載系統(tǒng)管理μP共享,具有漏極開路I2C輸出,即使μP未上電,也不會(huì)加載總線。作為外部編程器的替代方案,系統(tǒng)管理μP還可以在初始上電時(shí)對(duì)MAX16031進(jìn)行編程。這也使得無需特殊硬件即可輕松更新MAX16031的配置。
圖2.MAX16031由12V中間總線供電,并通過I2C總線進(jìn)行在線編程。
由3.3V輔助總線供電,并通過JTAG端口編程
圖3所示為MAX16031由3.3V輔助總線供電。編程是通過專用的JTAG線完成的,這些線路被帶到編程測(cè)試點(diǎn)。在本例中,必須先提供3.3V輔助總線,然后才能完成編程。I2C接口仍連接到系統(tǒng)管理μP。
圖3.MAX16031由3.3V輔助總線供電,通過JTAG端口編程。
編程算法
MAX16031/MAX16032內(nèi)置EEPROM,用于存儲(chǔ)器件配置參數(shù)。接通電源后,EEPROM的內(nèi)容被傳輸?shù)?a href="http://ttokpm.com/tags/ram/" target="_blank">RAM寄存器。RAM和EEPROM都可以從JTAG和I2C接口訪問。為了正確編程MAX16031/MAX16032,必須根據(jù)EEPROM編程所需參數(shù)——參見表1中的存儲(chǔ)器圖。
表 1.MAX16031/MAX16032存儲(chǔ)器圖
配置文件
MAX16031評(píng)估板(EV kit)軟件提供兩種類型的配置文件。一個(gè)是通過選擇系統(tǒng)
保存配置生成的人類可讀的文本文件...此文件可用于I2C編程。第二個(gè)是通過選擇系統(tǒng)
另存為 SVF 生成的...該文件采用串行矢量格式(SVF),許多PLD供應(yīng)商用于JTAG編程。
文本文件格式如下:
[Registers]
register number=register value
. . .
所有值均為十進(jìn)制。寄存器從 23 開始,到 98。這些地址對(duì)應(yīng)于RAM寄存器,而不是EEPROM地址。要獲取EEPROM地址,請(qǐng)?jiān)赗AM寄存器地址上加128。
SVF 文件格式在串行矢量格式規(guī)范 (PDF, 85.2kB) 中有更詳細(xì)的描述。
I2C編程程序
要對(duì)MAX16031/MAX16032的EEPROM配置存儲(chǔ)器進(jìn)行編程,首先需要確保寄存器r5Fh[0]中的配置鎖緊位為零。如果它不為零,則在該位上寫一個(gè)“1”以清除它。要寫入EEPROM,請(qǐng)加載起始地址(97h),然后執(zhí)行一系列塊寫入命令(I2C)或?qū)懭朊睿↗TAG)。有關(guān)I2C協(xié)議的詳細(xì)信息,請(qǐng)參見MAX16031/MAX16032數(shù)據(jù)資料。
典型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編程過程
要對(duì)器件進(jìn)行編程,請(qǐng)使用標(biāo)準(zhǔn)的第三方JTAG工具、MAX16031/MAX16032 BSDL文件、評(píng)估板軟件生成的SVF數(shù)據(jù)文件以及JTAG編程電纜或在線PCB測(cè)試儀。BSDL 文件可供下載。
注意,評(píng)估軟件生成的SVF文件測(cè)試IDCODE寄存器。以下代碼片段來自MAX16031評(píng)估板軟件生成的SVF文件:
ENDDR IDLE; ENDIR IDLE; SIR 5 TDI(00) TDO(01); SDR 32 TDI(00000000) TDO(00001197) MASK(0FFFFFFF); TDO(00001197) 語句驗(yàn)證完整的 IDCODE 語句,包括設(shè)備修訂代碼。如果設(shè)備與不同的修訂代碼一起使用,則此語句將失敗。要使 SVF 文件忽略 IDCODE 寄存器的修訂代碼字段,請(qǐng)改用以下行:SDR 32 TDI(00000000) TDO(00001197) MASK(0FFFFFFF);
mask 語句忽略 4 位修訂代碼字段(請(qǐng)參閱表 2)。
修訂版(4 位) | 部件號(hào)(16 位) | 制造商(11 位) | |
二元的 | 0010 | 0000 0000 0000 0001 | 00011001011 1 |
十六進(jìn)制 | 2 | 0001 | 197 |
審核編輯:郭婷
-
電源
+關(guān)注
關(guān)注
184文章
17486瀏覽量
249163 -
電路板
+關(guān)注
關(guān)注
140文章
4876瀏覽量
97201 -
JTAG
+關(guān)注
關(guān)注
6文章
397瀏覽量
71559
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論