This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to set VID mode of UCD9222 with PMBus?

Other Parts Discussed in Thread: UCD9222

Hello,

In PDF SLVSAL7A, it's write that we can use VID pins of UCD9222 in 4-, 6-, or 8- bits mode and the mode is selected using the VID_CONFIG PMBus command. The VID_Vout_HIGH and VID_Vout_Low value are also set using the VID_CONFIG PMBus command.

It's also write that For a complete description of the serial VID commands, see the UCD922xx PMBus Command Reference(SLUU377).

But, in PDF SLUU377, I cann't find any corresponding commands. Even more, there is not a single command about VID settings.

Why?

How to set VID modes of UCD9222 with PMBus? What's the default mode?

Also, on Figure 10 in SLVSAL7A, the source of vout settings is selected by VID_CONFIG command. How to select? What's the default selection?

Liu Guoman

  • The UCD92xx PMBus Command Reference (SLUU337) has been updated but not released yet.

    I will push it through document control, until then the following information reflects the changes with respect to the UCD9222/44 VID capability

    1.1           (BBh) VID_CONFIG (USER_DATA_11)

    This Read/Write Block command configures the VID interface and the VID code table.  It is only supported on the UCD9222 and UCD9244 variants.  Each page (rail) may have a unique configuration setting.

     

    The data for this command is shown in this table.

     

    Byte
    Number

    (Write)

    Byte
    Number

    (Read)

    Description

    0

     

    CMD = 0xBB

    1

    0

    Length = 5, 6, 7, or 9

    2

    1

    VID Format (Number of bits in VID Code)

    3

    2

    VID Vout Low (LSB)

    4

    3

    VID Vout Low (MSB)

    5

    4

    VID Vout High (LSB)

    6

    5

    VID Vout High (MSB)

    7

    6

    VID Code Init (LSB)

    8

    7

    Reserved (VID Code Init MSB)

    9

    8

    VID Lockout Interval (LSB)

    10

    9

    VID Lockout Interval (MSB)

     

    VID Format: Supported values

    Format

    Table Size

    Description

    0x00

    n/a

    Ignore VID input pins and commands. 

    Use the PMBus OPERATION command to select between the VOUT_COMMAND, VOUT_MARGIN_HIGH, or VOUT_MARGIN_LOW setting as the target voltage.

    0x04

    16

    4-bit Parallel VID Mode

    Use the 4 VID input pins for each rail to create a 4-bit VID code.

    The VID pins are polled periodically.

    The VIDxS inputs act as the most-significant data bit.

    0x06

    64

    6-bit Serial VID Mode

    Use the 4 VID input pins for each rail to create a 6-bit VID code. 

    The VIDxS inputs trigger the reading of the other VID data pins. 

    The level of the VIDxS signal selects which half-word to store the three data bits. 

    0x07

    128

    7-bit Parallel Mode

    Combines the 4 VID input pins for the designated rail plus 3 VID input pins from the next rail to create a 7-bit VID code.

    The VID pins are polled periodically.

    This option is only allowed on Rails 1 and 3.  When Rail 1 (or 3) is set for 7-bit mode, then Rail 2 (or 4) may not use the VID pins.

    0x08

    256

    8-bit I2C/PMBus Mode

    Use the VID_CODE_RAILx commands to issue an 8-bit VID code via PMBus.  The VID input pins are ignored.

    0x18

    256

    8-bit Parallel Mode

    Combines the 4 VID input pins for the designated rail plus 4 VID input pins from the next rail to create an 8-bit VID code.

    The VID pins are polled periodically.

    This option is only allowed on Rails 1 and 3.  When Rail 1 (or 3) is set for 8-bit parallel mode, then Rail 2 (or 4) may not use the VID pins.

     

    The default value of VID Format is 0.  

     

    VID Vout Low:  This is the output voltage that will be commanded when VID code 0 is sent to the device.  It is a 2-byte value that is stored in LINEAR16 format with an exponent of -12, like other output voltage commands. The default value is 0.0V. 

     

    VID Vout High:  This is the output voltage that will be commanded when the highest VID code (15, 63, or 255) is sent to the device.  It is a 2-byte value that is stored in LINEAR16 format with an exponent of -12, like other output voltage commands. The default value is 0.0V.

     

    VID Code Init:  A one-byte value that sets the initial VID Code value that is used at power-up, after a soft reset, or after a RESTORE_DEFAULTS_ALL command.  The allowable values range from 0 to ((2^VID_Format)-1).  The default value is 0.

     

    VID Lockout Interval: A two-byte signed value that sets the duration of the interval during which the VID inputs are to be ignored.  This can be used to ignore stray signals on the VID inputs while the output voltage is turning on, to prevent them from corrupting the VID voltage setting.  The lockout interval timer starts when the output voltage reaches the top of the soft-start ramp.  Positive values range from 1 to 32767 ms, with 1 ms resolution.  A value of 0 will ignore the VID inputs during the start ramp and re-enable them immediately at the top of the ramp.  Negative values bypass the lockout mechanism, allowing the VID inputs to remain active all the time regardless of the output voltage state.  The default value is 0.

     

    Validity Checking:  Only the VID Format and VID Code Init fields undergo range checking.  VID Format values other than the ones shown in the table above will return a NACK due to Invalid Data and will be rejected.  The same response will occur for VID Code Init values that exceed the range allowed by the VID Format setting, except when the VID Format is set to 0.

     

    1.2            (BCh) VID_CODE_RAIL1 (USER_DATA_12)

    This Read/Write Byte command is used to set the output voltage for output Rail 1 (PAGE 0) via PMBus.  This command uses a VID format that is an alternative to the standard PMBus VOUT_COMMAND command.  This command is only supported on the UCD9222 and UCD9244.

     

    The commanded output voltage reference is set according to this formula:

    Vref_cmd = (VID_CODE *ID_Slope) + VID_Offset,

    where

    VID_Slope = (VID_Vout_High – VID_Vout_Low) / ((2^VID_Format) -1),

    and

                VID_Offset = VID_Vout_Low.

    The VID_Vout_High, VID_Vout_Low, and VID_Format values are set by the VID_CONFIG command (0xBB).

                           

    The data for this command is a single byte, with values from 0 to 255. 

     

    The parameter is not stored in the Default Store in Data Flash.  Its default value at power-on is 255.

     

    This VID code only applies when operating in 8-bit VID mode.  If this command is issued when VID_Format is not in 8-bit mode, the value will be stored but will not affect the output voltage until the VID_Format is set to 8-bit mode.

     

    This command is unique in that it does not use the PMBus PAGE command to select its output rail.  For most PMBus commands, the host first sends a PAGE command to select an output rail, followed by one or more commands to set or read parameters for the selected rail.  In a system that has multiple masters, it would be possible for one master to insert a command between the commands from a different master, thus corrupting the settings on both master’s rails.  To avoid these conflicts, each output rail has a unique VID_CODE_RAILx command that both selects the rail and sets its VID voltage code.

     

    Note: this command uses the R/W Byte data format rather than the R/W Block format specified in the PMBus standard for the USER_DATA_12 command 0xBC.  This violation of the PMBus standard was necessary to meet the needs of a key customer whose host could only issue commands in R/W Byte format. 

    1.3            (BDh) VID_CODE_RAIL2 (USER_DATA_13)

    This Read/Write Byte command is used to set the VID code for output Rail 2 (PAGE 1) via PMBus. See the VID_CODE_RAIL1 command (0xBC) for details.

    1.4           (BEh) VID_CODE_RAIL3 (USER_DATA_14)

    This Read/Write Byte command is used to set the VID code for output Rail 3 (PAGE 2) via PMBus.  See the VID_CODE_RAIL1 command (0xBC) for details.

    1.5           (BFh) VID_CODE_RAIL4 (USER_DATA_15)

    This Read/Write Byte command is used to set the VID code for output Rail 4 (PAGE 3) via PMBus.  See the VID_CODE_RAIL1 command (0xBC) for details.

     

  • The controller default is no VID, it uses VOUT_COMMAND until a VID setting is chosen.

  • Hi Brad,

    In DSP 6678 smart reflex section VIDA, VIDB, VIDC & VIDS feedback signals are only available.How 4bit mode/6bit mode will be selected by DSP. Is there any interface DSP 6678  to receive VOUT_COMMAND?

    In EVM schematic M24- DSP VCL , M23- DSP VD are connected to PM bus but in 6678 datasheet they are reserved pins & should be left unconnected. Please give solution.

    Regards,

    Prasad.

     

  • The SmartReflex interface is defined in the C6678 datasheet as 6-bit, three data lines (VCNTL2:0) and a Select line (VCNTL3), where the Select line latchs in 3 LSBs and then 3 MSBs.  The C6678 does not support SmartReflex through the PMBus interface (by either Vout_Command or 8-bit VID).

    You will need to re-post the pin connection question to the C6000 DSP forum, here:

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/default.aspx