【導(dǎo)讀】PMBusTM是很多大電流電源管理芯片會(huì)用到的通用電源管理接口,其借用了SMBusTM的時(shí)序和命令格式,進(jìn)行了電源常用命令的標(biāo)準(zhǔn)化。其中輸出電壓讀取READ_VOUT(8Bh) 和輸出電流讀取READ_IOUT(8Ch) 是最常用的兩個(gè)命令,但是命令返回值都是二進(jìn)制,且并沒(méi)有注明單位,從而給命令返回值的翻譯帶來(lái)了難度。另外,很多電源工程師不熟悉數(shù)字邏輯,不了解PMBus的命令格式,這進(jìn)一步加大了使用帶PMBus設(shè)備的困難。本文借助業(yè)界比較成功的40A可并聯(lián),帶PMBus的DCDC轉(zhuǎn)換器TPS546D24A,闡述輸出電壓讀取READ_VOUT和輸出電流讀取READ_IOUT從返回值到十進(jìn)制快速翻譯方法。
輸出電壓READ_VOUT
TPS546D24A的輸出電壓是通過(guò)READ_VOUT寄存器中的值轉(zhuǎn)化得來(lái)。其格式為ULINEAR16。要將寄存器中的值轉(zhuǎn)化為十進(jìn)制,可以分三步走。
1. 讀取VOUT_MODE的值,VOUT_MODE在PMBUS的定義中,是一個(gè)1字節(jié)的寄存器,地址為20h,用于定義和輸出電壓有關(guān)的寄存器值的格式和步進(jìn)值。
Bit[7]定義數(shù)據(jù)是相對(duì)值還是絕對(duì)值(影響過(guò)壓和欠壓保護(hù)相關(guān)值的定義),Bit[6:5]定義數(shù)據(jù)格式,TPS546D24只支持Linear格式,Bit[4:0]定義步進(jìn)值指數(shù)N。步進(jìn)值計(jì)算方法如下,注意Bit[4:0]為補(bǔ)碼形式,轉(zhuǎn)化為十進(jìn)制時(shí)需要先轉(zhuǎn)化為原碼。
例子:VOUT_MODE=0x97。二進(jìn)制為:1 00 10111,數(shù)據(jù)格式為相對(duì)值,Linear格式,步進(jìn)值指數(shù)補(bǔ)碼為10111,首位為1,該值為負(fù)數(shù),負(fù)數(shù)的原碼是補(bǔ)碼取反再+1,為01001,十進(jìn)制為-9,則步進(jìn)值為2-9,為0.001953125V,1.953mV。
2. 讀取READ_VOUT的值,READ_VOUT是一個(gè)2字節(jié)的寄存器,地址為8Bh,格式為L(zhǎng)inear16,僅用于輸出電壓。
從前一步獲得步進(jìn)值之后,從READ_VOUT寄存器中轉(zhuǎn)化得到十進(jìn)制值,輸出電壓的計(jì)算方法為:
例子:READ_VOUT=0x01FD。二進(jìn)制為:0000 0001 1111 1101,轉(zhuǎn)化為十進(jìn)制為509,則輸出電壓為509*1.953mV=994mV。
3. 看ADC所處的位置,如下圖,內(nèi)部ADC取值是從內(nèi)部R1,R2分壓電路中取電壓采樣,而輸出電壓由VOSNS和GOSNS/SLAVE兩個(gè)引腳進(jìn)行采樣。
TPS546D24內(nèi)部會(huì)將ADC的值進(jìn)行處理,自動(dòng)乘以(R1+R2)/R2進(jìn)行換算。人工不需要任何處理。READ_VOUT的結(jié)果就是實(shí)際的輸出電壓。
另一種特殊的情況是,如果VOSNS和GOSNS/SLAVE引腳是處于外部的一個(gè)分壓網(wǎng)絡(luò)中,則READ_VOUT的值不能反應(yīng)真實(shí)的輸出電壓值,需要人工換算,如TPS543B20這種輸出電壓采樣結(jié)構(gòu)。這種情況下真實(shí)的輸出電壓為:
其中R1和R2分別是下分壓和上分壓電阻,VOUT輸出電壓計(jì)算值,READ_VOUT測(cè)量的是經(jīng)過(guò)分壓之后R1兩端的電壓。
輸出電流
TPS546D24的輸出電流是通過(guò)READ_IOUT寄存器中的值轉(zhuǎn)化而來(lái)。其格式為SLINEAR11,要將寄存器中的值轉(zhuǎn)化為十進(jìn)制,需要分兩步走。
1. 讀取CAPABILITY的值,在PMBUS的定義中,是一個(gè)1字節(jié)的寄存器,地址為19h,用于定義該設(shè)備具有的PMBUS功能。影響READ_IOUT取值的,是Bit[3],TPS546D24A僅支持LINEAR格式。
2. 讀取READ_IOUT的值,READ_IOUT是一個(gè)2字節(jié)的寄存器,地址為8Ch。Bit[15:11]是指數(shù)N,Bit[10:0]為尾數(shù)A,均為補(bǔ)碼表示(Two’s complement翻譯為補(bǔ)碼)。由于輸出電流有可能為負(fù)值,A有可能為負(fù)數(shù)。
計(jì)算方法為:
例子1:READ_IOUT=0xD3F1。二進(jìn)制為:11010 01111110001,則N為-6,A為1009,則輸出電流為:1009*2^(-6),為15.766A。
例子2:READ_IOUT=0xD7F1。二進(jìn)制為:11010 11111110001,則N為-6,A為-15,則輸出電流為-0.234A。
3. 當(dāng)輸出電流讀取不準(zhǔn)時(shí),可以補(bǔ)償,需要通過(guò)IOUT_CAL_GAIN和IOUT_CAL_OFFSET進(jìn)行補(bǔ)償??蓡为?dú)處理一相,也可全部一起處理,處理方法和TPS53688類似。可以參考多相控制器補(bǔ)償方式。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀: