¿Cómo interpretar el valor del tiempo de retardo de respuesta de PMBus?

2

EDITAR: Debería dejar claro que estoy preguntando en términos de crear el firmware PMBus para el dispositivo en lugar de intentar programar el dispositivo utilizando PMBus comandos.

En la sección 10 La especificación de PMBus (> = rev 1) indica que el parámetro de respuesta de error es un byte compuesto de varios valores, uno de los cuales es el valor del Tiempo de retardo de 3 bits descrito como

  

El número de unidades de tiempo de retardo, que varían según el tipo de falla. Este tiempo de retardo se usa para la cantidad de tiempo que una unidad debe continuar operando después de que se detecte una falla o para la cantidad de tiempo entre intentos de reinicio.

La última parte parece ambigua: "la cantidad de tiempo entre intentos de reinicio". Es esta la cantidad de tiempo desde el inicio de un reinicio hasta el comienzo del siguiente (fig 1), o desde el final de un reinicio hasta el comienzo del siguiente (fig 2)

Sielprimersignificado(fig.1)escorrecto,entoncesestábien.

Sinembargo,sisepretendeelsegundosignificado(fig.2),¿cómosepuedesabersiunfalloposteriorespartedelarespuestadefalloanteriorydeberíaconstituirunodelosnúmerosdereintentospermitidos,ounfallocompletamentenuevoquedeberíacomenzar?unarespuestadenuevo?

EDITAR:Medicuentadequehayunatercerainterpretaciónposibleenlaquesetomaelprimersignificado,peroeltiempoderetardoseaplicaaldetenercualquiernuevoreintentohastaqueeltiempoderetardodelprimerreintentohayaexpirado(fig.3)

    
pregunta Toby

1 respuesta

2

Mirando la especificación de PMBus 1.1: para entender qué hacer con los bits de tiempo de retardo para una falla dada, debe mirar el byte de datos de respuesta de falla correspondiente para la falla particular que le interesa.

  • IOUT_OC_FAULT_RESPONSE
  • VOUT_OV_FAULT_RESPONSE
  • VOUT_UV_FAULT_RESPONSE
  • IOUT_OC_LV_FAULT_RESPONSE

... etc.

Los bits 7 y 6 (Respuesta) definen lo que sucede: continuar sin interrupción; opere el tiempo de retardo y luego siga la configuración de reintento; apagar inmediatamente y luego seguir la configuración de reintento; apague de inmediato y manténgase apagado hasta que la falla esté clara.

Se reinicia el control de Bits 5 a 3 (Reintentar configuración): 000 = > no reiniciar, 111 = > reiniciar continuamente, 001 a 110 = > reinicie de 1 a 6 veces

Bits 2 a 0 (Tiempo de retardo): lo que hacen depende de lo que están ordenados por los otros bits.

Yo diría que tu ilustración # 2 es la correcta. En cuanto a si o no todos ellos son parte del mismo 'evento', bueno, no creo que haya un comando para leer el contador de reintentos actual. Sabrá cuándo finalizan los eventos cuando se supera el recuento (suponiendo que no esté configurado como perpetuo) ya que los estados de advertencia deberían convertirse en estados de error en ese instante.

Necesitará implementar algún tipo de temporizador y decidir por sí mismo durante cuánto tiempo es necesario un período de operación sin fallos, sin advertencia para considerar el fallo solucionado. Podrían ser cientos de milisegundos o varios segundos. A continuación, deberá definir este valor en la documentación de PMBus.

No tengo conocimiento de un comando PMBus que pueda usarse para consultar o controlar este valor de tiempo de espera. En función de los productos en los que he participado, no hay un comando estándar para esto. Algunos desarrolladores han implementado comandos específicos del fabricante (es decir, MFR_RETRY_DELAY) para proporcionar esta funcionalidad.

    
respondido por el Adam Lawrence

Lea otras preguntas en las etiquetas