Duda sobre un dispositivo alimentado por bus USB

1

Quiero mejorar mi proyecto para que sea más sólido, ya que debe estar disponible las 24 horas del día. Inicialmente, mi diseño tenía un microcontrolador y una interfaz USB (FT232R). El FT232 funciona con 5V y mi microcontrolador es de 3.3V. Estaba usando un regulador externo para suministrar energía al microcontrolador, pero, para minimizar los posibles problemas que puede traer el enfoque de usar dos fuentes de voltaje, pensé en usar una solución alimentada por bus.

Leí en la hoja de datos de FT232 que las reglas básicas para los dispositivos alimentados por bus USB son las siguientes:

  1. En el complemento a USB, el dispositivo no debe consumir más de 100 mA.
  2. En el modo de suspensión USB, el dispositivo no debe dibujar más de 2.5 mA.
  3. Un dispositivo USB de alta potencia alimentado por bus (uno que consume más de 100 mA) debe usar uno de los pines CBUS configurados como PWREN # y usarlo para mantener la corriente por debajo de 100mA en el complemento y 2.5mA en la suspensión por USB.
  4. Un dispositivo que consume más de 100 mA no se puede conectar a un concentrador alimentado por bus USB.
  5. Ningún dispositivo puede extraer más de 500 mA del bus USB.

Mis preocupaciones:

  1. Tratando de satisfacer esta regla, analicé el consumo actual del microcontrolador: El microcontrolador es un dsPIC33EP64MC202, y tiene el siguiente consumo de corriente según su hoja de datos:

    Características de CC: corriente de funcionamiento (IDD) a + 85 ° C 3.3V 70 MIPS :
     Típica ........................................... 41 mA
     Máximo ........................................... 60 mA

    Clasificación máxima absoluta:
     Corriente máxima en el pin VDD ...................... 300 mA

    Teniendo en cuenta las condiciones de funcionamiento, parece estar bien utilizar un enfoque de alimentación por bus, pero me temo que la corriente máxima absoluta que puede extraer y lo que podría suceder si extrae esta cantidad de corriente. Entonces, mi duda aquí es, ¿debería considerar un dispositivo USB de alta potencia o no? ¿Sería seguro considerar un dispositivo USB que no sea de alta potencia?

  2. Leí lo que es el "Modo de suspensión", entendí que el host (la computadora en este caso) disminuirá la corriente cuando no haya actividad en el bus durante un tiempo superior a unos pocos milisegundos y, luego, disminuirá la corriente hasta apagar el dispositivo. Bueno, si esto es correcto, tengo un problema aquí, mi dispositivo recibirá una solicitud vía USB y, después de un tiempo, unos pocos milisegundos, responderá a la solicitud. ¿Cómo puedo manejar esto? El dispositivo no se puede apagar tan pronto en medio de una operación

  3. No entendí esta regla. Si mi dispositivo es un dispositivo USB de alta potencia, debería usar uno de los pines CBUS configurados como PWREN # y usarlo para mantener la corriente por debajo de 100 mA en el complemento y 2,5 mA en la suspensión USB. ¿Pero cómo haré esto si mi microcontrolador funciona con BUS? ¿Debo configurar el FT232 antes de montarlo en la PCB?

(4 y 5). La regla (4) es suficiente para la regla (5), entonces, ¿por qué fue necesaria la especificación de la regla (5)?

    
pregunta Daniel

3 respuestas

2

La especificación de potencia en Absolute Maximum Ratings es el peor de los casos cuando casi todos los pines están obteniendo la corriente máxima. Solo tú puedes decir si alguna vez sucede en tu diseño. Si alguna vez consume más de 100 mA, debe configurar la potencia máxima en FTDI EEPROM.

Toda la configuración del FT232 se puede realizar a través de USB después del montaje en PCB. El software se puede descargar desde el sitio web de FTDI.

Hay dos formas en las que puedes admitir el modo de baja potencia.

  1. Ya que necesita bajar el suministro a 3.3V, puede usar LDO con el pin "habilitar", controlado por PWREN / SLEEP. Otra opción para usar el interruptor de alimentación como se ilustra en 6.3 de la hoja de datos FT232. Esto reducirá la energía a su circuito, por lo que necesita planificar cuidadosamente su secuencia de reinicio.

  2. Puede usar un LDO de corriente de reposo bajo para suministrar siempre su MCU y usar PWREN / SLEEP para poner el MCU en reposo o despertarse. Este método deja su código en control sobre el proceso.

En cualquier caso, tenga en cuenta que suspender la señal del host USB generalmente significa que su computadora entra en modo de suspensión / hibernación / apagado. Como tal, su dispositivo no debe esperar ninguna solicitud proveniente de la PC hasta que se recupere de su suspensión.

Por otro lado, esta es una calle de doble sentido. Si su dispositivo tiene algunos datos que desea comunicar a la PC, puede usar la señal de activación remota (compatible con FT232) para llamar su atención.

Con respecto a la disminución de la potencia cuando el bus está inactivo, el host no lo hace. Es importante entender para qué es esta característica. Se introdujo principalmente para dispositivos que tienen su operación activa y la comunicación USB inherentemente vinculada. Por ejemplo, el teclado o el mouse deben comunicarse con la PC cuando se usan, pero pueden irse a dormir de manera segura tan pronto como deje de escribir o moverse.

Si su dispositivo USB tiene algo que hacer entre (por ejemplo, la recopilación de datos), puede seguir haciéndolo. Es bastante común usar interrupciones de temporizador para despertarse, hacer algunas lecturas de sensores (por ejemplo, temperatura) y volver al modo de bajo consumo nuevamente.

    
respondido por el Maple
2
  

Tengo miedo de la corriente máxima absoluta que puede dibujar y de lo que podría suceder si extrae esta cantidad de corriente.

Las clasificaciones máximas absolutas son "si esto se supera, entonces el dispositivo podría estar dañado", sin especificar que sucederán . No tienes que preocuparte por ese número. Debe hacer asegurarse de que su sorteo actual sea inferior a 100 mA o de 2,5 mA cuando corresponda, asegurándose de que el sorteo actual actual se deba a la ejecución del programa, los periféricos internos y los dispositivos conectados. los dispositivos no suman más del límite especificado por USB.

  
  1. Comprendí que el host (la computadora en este caso) disminuirá la corriente ...
  2.   

No. El host USB no puede "disminuir la corriente" porque está suministrando un voltaje especificado. Lo que esto significa es que cuando se ordena a su dispositivo que suspenda , de acuerdo con el protocolo USB, debe reducir su consumo actual o estar en violación de la especificación.

  

(4 y 5). La regla (4) es suficiente para la regla (5), entonces, ¿por qué fue necesaria la especificación de la regla (5)?

4 se aplica solo cuando su dispositivo está conectado a un concentrador alimentado por bus. Si se conecta directamente al host, no hay un concentrador alimentado por el bus involucrado, y se aplica el límite de 500 mA.

    
respondido por el Kevin Reid
1

La calificación máxima absoluta no es una promesa de que la pieza nunca consumirá más de 300 mA. Es una advertencia de que si lo pones en un estado en el que extrae más de 300 mA, podrías dañar la pieza.

Usted, como diseñador y escritor de firmware, es responsable de conectar correctamente el microcontrolador y de escribir un firmware que no extraiga más de 100 mA al inicio, no extraiga más de 2.5 mA en modo suspendido, etc. .

  

Comprendí que el host (la computadora en este caso) disminuirá la corriente cuando no haya actividad en el bus ...

El host no puede disminuir unilateralmente la corriente consumida por su periférico. Solo puede decirle al periférico que entre en modo de suspensión. Es su responsabilidad reducir la corriente por debajo de 2,5 mA cuando se le indique que entre en el modo de suspensión.

Normalmente harías esto poniendo a tu micro en modo de suspensión.

  

El dispositivo no se puede apagar tan pronto en medio de una operación

Como ha dicho, el host solo solicitará el modo de suspensión cuando no haya habido actividad en el bus durante varios milisegundos. No sucederá en medio de una operación.

    
respondido por el The Photon

Lea otras preguntas en las etiquetas