PMBusTM是很多大電流電源管理芯片會(huì)用到的通用電源管理接口,其借用了SMBusTM的時(shí)序和命令格式,進(jìn)行了電源常用命令的標(biāo)準(zhǔn)化。其中輸出電壓讀取READ_VOUT(8Bh) 和輸出電流讀取READ_IOUT(8Ch) 是最常用的兩個(gè)命令,但是命令返回值都是二進(jìn)制,且并沒有注明單位,從而給命令返回值的翻譯帶來了難度。另外,很多電源工程師不熟悉數(shù)字邏輯,不了解PMBus的命令格式,這進(jìn)一步加大了使用帶PMBus設(shè)備的困難。本文借助業(yè)界比較成功的40A可并聯(lián),帶PMBus的DCDC轉(zhuǎn)換器TPS546D24A,闡述輸出電壓讀取READ_VOUT和輸出電流讀取READ_IOUT從返回值到十進(jìn)制快速翻譯方法。
輸出電壓READ_VOUT
TPS546D24A的輸出電壓是通過READ_VOUT寄存器中的值轉(zhuǎn)化得來。其格式為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ì)值(影響過壓和欠壓保護(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)過分壓之后R1兩端的電壓。

輸出電流
TPS546D24的輸出電流是通過READ_IOUT寄存器中的值轉(zhuǎn)化而來。其格式為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ǔ)償,需要通過IOUT_CAL_GAIN和IOUT_CAL_OFFSET進(jìn)行補(bǔ)償??蓡为?dú)處理一相,也可全部一起處理,處理方法和TPS53688類似。可以參考多相控制器補(bǔ)償方式。
編輯:hfy
-
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
9427瀏覽量
156531 -
控制器
+關(guān)注
關(guān)注
114文章
17817瀏覽量
194236 -
寄存器
+關(guān)注
關(guān)注
31文章
5611瀏覽量
130152 -
電源管理
+關(guān)注
關(guān)注
117文章
7880瀏覽量
148096
發(fā)布評(píng)論請(qǐng)先 登錄
XZ6203H輸出電流200mA輸入電壓80V 常規(guī)輸出電壓:3.3V,5.0V,2.1V-12V
XU9246輸入電壓1.8-5.25V,輸出電壓2.5-5.5V,輸出電流3A
XZ6219 輸出電壓0.8V-5.0V CMOS降壓型電壓穩(wěn)壓器
十進(jìn)制計(jì)算機(jī)硬件體系結(jié)構(gòu)及“獨(dú)值”量化邏輯運(yùn)算革命(一)
XZ2618輸入電壓4.5-16V 連續(xù)輸出電流3A 工作頻率0.5MHz#車間油煙凈化 #plc教學(xué)
解析SN54145、SN54LS145、SN74145、SN74LS145 BCD-十進(jìn)制解碼器/驅(qū)動(dòng)器
XZ1821A輸入電壓9-100V 輸出電壓ADJ(1.25-50V) 輸出電流2A#RTT設(shè)計(jì)大賽
為什么rt_device_read()只能讀取到兩個(gè)字節(jié)數(shù)據(jù)?
線性穩(wěn)壓器IC的輸入輸出電容設(shè)計(jì)和紋波對(duì)策
輸出電壓讀取READ_VOUT和輸出電流讀取READ_IOUT的十進(jìn)制快速翻譯方法
評(píng)論