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.

UCD3138A: What does "pmbus_read_status_bit_mask" use for?

Part Number: UCD3138A

Hello, TI guys:

What does "pmbus_read_status_bit_mask" use for? This command is a pmbus MFR_SPECIFIC command. I think maybe it's used for some GUI debugger purpose. I would like to know what's the exact purpose of this command.

There are some commands for memory debug. Below function handles one of the commands. I don't unstand why the length should be less than 32 bytes?? And what's the value in the  pmbus_buffer[1]?

Uint8 pmbus_write_parm_info(void)
{

 Uint8 temp_index;
 int16 temp_offset; 
 Uint8 temp_count;  
 Uint8 temp_size; 
 Uint8 temp_length; 

 temp_index  = pmbus_buffer[2];
 temp_offset = pmbus_buffer[3] + (pmbus_buffer[4]<<8);
 temp_count = pmbus_buffer[5];
 temp_size   = pmbus_buffer[6];
 temp_length = temp_count * temp_size;


 // ----- Validate the incoming arguments -----

 // ----- VALIDATE DATA -----
 // Verify that the specified base is valid
 // 0 (RAM)  and 1 (REGS) are valid for reading or writing.
 // 2 (DFLASH), 3 (PFLASH_CONST), and 4 (PFLASH_PROG) are read-only.
 // They will be flagged in pmbus_write_parm_value() if a write to them is attempted.
   if(temp_index > NUM_MEMORY_SEGMENTS)  // Unsigned.   
  {
   return PMBUS_INVALID_DATA; // Error: Invalid Index
  }

  // Verify that the message is short enough to fit
 if(temp_length > 32)
  {
   return PMBUS_INVALID_DATA; // Error: Length greater than SAA capabilities.
  }

  // Verify that the size is 1, 2, or 4 bytes
 if ((temp_size != 1) && (temp_size != 2) && (temp_size != 4))
  {
   return PMBUS_INVALID_DATA; // Error: Invalid size
  }

Looking forward to your reply

BR

Dana

  • For read status bit mask, I think that was for masking out alerts on different status bits.  the original PMBus spec did not have the SMBALERT_MASK command.

    If you have a code with that in it, let me know which code it is, and maybe send me some code fragments from the read status bit mask, and I can tell you for sure.

    The parm info and parm value commands are used for the PMBus based memory debugger that can read and write to memory while the chip is running.  It can read write anything from bytes and up.