Aislar pines de señal UART

2

Estoy trabajando con un módem de celda integrado que vivirá con una batería, con suerte durante un largo período. Solo se despierta y envía datos ocasionalmente. Para ese fin, mi plan es cortarle energía cuando no es necesario para conservar energía. Sin embargo, me he dado cuenta de que si pongo un interruptor basado en MOSFET en la fuente de alimentación del módem, parece que se apaga con éxito, pero termina siendo una pérdida significativa de corriente en los pines DIN y DOUT del módem (que están conectados a los pines en el procesador, por supuesto).

Espero agregar algo para poder enviar una señal alta desde un tercer pin de mi procesador, que luego permitiría que las señales pasen entre el procesador y los pines DIN y DOUT del módem, pero si se mantiene presionado Pin bajo, aislará DIN y DOUT para que no fluya corriente. ¿Alguna sugerencia?

    
pregunta Grey

1 respuesta

2

El TXD de un UART es normalmente alto, inactivo.

Por lo tanto, si su módem no está encendido, ya que la conexión a tierra aún está conectada, parte de la corriente fluirá desde el pin TXD al módem.

De hecho, el IC del módem tendrá diodos de protección de entrada, que sujetan a su V DD cualquier voltaje superior a ese. Esto también podría ser potencialmente peligroso, debido al bloqueo (y además su pin TXD alimentará todos los circuitos del módem conectados a su riel V DD ...).

Mi sugerencia es:

Coloque un desplegable débil en la línea RXD y:

a) Cuando necesitas apagar:

  • Deshabilitar el UART.
  • Ponga el TXD como salida baja (acabo de verificar un PIC18 aleatorio, y no veo que tengan una función desplegable).
  • Apaga el módem.

b) Cuando necesite encender el módem:

  • Enciende el módem.
  • Habilitar UART.

En teoría, al emitir un TXD bajo, mientras el módem está habilitado, es posible que tenga algunos problemas. De hecho, un valor bajo de TXD es una condición de inicio. Pero su MCU será lo suficientemente rápido para completar todos los pasos en pocos microsegundos. Por lo tanto:

  • Los pasos serán más rápidos que el tiempo de inicialización del módem en el inicio.
  • Es probable que también sean más rápidos que un "bit". Por lo tanto, ese "0" falso solo será ignorado.
  • Aún así, faltará el bit de parada, por lo que la UART del módem debería ignorar cualquier información.
respondido por el next-hack

Lea otras preguntas en las etiquetas