PIC se enciende con el pin Rx

3

Si conecto el pin Rx de mi PIC18F2550 y GND a otro circuito que ya está encendido, el PIC se enciende y comienza a ejecutar el código. No hay nada en la hoja de datos que evite esto. ¿Esto es normal?

PS: Rx y SDA están conectados entre sí, pero aún así el PIC no debería encenderse en absoluto.

    
pregunta mFeinstein

2 respuestas

8

Usted está activando su IC de forma parasitaria a través de los diodos de protección en la línea Rx IO.

Supongo que usted tiene voltaje en la línea Rx (probablemente 3.3V o 5V). Esto se está introduciendo en el PIC Vcc a través de los diodos de protección en los pines IO.

De la hoja de datos PIC18F2550:

I/O pins have diode protection to VDD and VSS.

No hay mucho que puedas hacer al respecto, y tener una corriente de flujo a través de los diodos de protección es una mala idea (no están diseñados para esto). Tendrá que modificar su circuito para evitar que haya voltaje presente en cualquiera de los pines del PIC cuando el PIC no está encendido.

Si no puede evitar que haya voltaje presente en las líneas PIC IO cuando no está en funcionamiento, debe fijar la línea Rx a Vcc y Gnd con diodos shottky . Dado que los diodos en el PIC se construyen en la matriz de silicio en la MCU, son diodos de silicio de edad simple, con un \ $ V_ {F} \ $ de ~ 0.6v. Dado que los diodos de pinza son schottky, comenzarán a conducir antes que los diodos internos en el PIC, por lo que la MCU estará segura.

Por supuesto, si la fuente que controla la línea Rx puede generar suficiente corriente para alimentar todo su circuito, terminará simplemente alimentando su circuito de esta manera. Para compensar, deberá agregar una resistencia de serie en línea con la línea Rx.

    
respondido por el Connor Wolf
2

Un enfoque alternativo es utilizar una resistencia de pull-up en el pin Rx (encuentro 100k adecuado) y un diodo inverso en la línea serie. Este es, de hecho, el único enfoque que he encontrado para trabajar consistentemente; los síntomas de un dispositivo alimentado a través del diodo del sustrato incluyen reinicios aleatorios o no confiables, así como niveles de voltaje inesperados y el síntoma de operación inesperada del OP. Debe recordarse que la mayoría, si no todos los pines, tienen estos diodos de protección y que el problema no está restringido a los puertos serie.

Cuando la línea Rx entrante es alta, es decir, inactiva, el diodo en serie tiene polarización inversa y bloquea el diodo del sustrato en el PIC; el PIC es alimentado solo por su propio suministro, si está presente. Cuando el PIC recibe alimentación, el pull-up garantiza que vea la condición de inactividad en la línea; cuando la línea de Rx baja, ese avance desvía el diodo y deja caer la entrada de Rx a aproximadamente 0.6v; muy por debajo del nivel lógico cero en la mayoría de los casos.

Problemas similares ocurren cuando partes del circuito tienen que trabajar a diferentes niveles de voltaje.

    
respondido por el Neil Barnes

Lea otras preguntas en las etiquetas