Estado de entrada GPIO con voltaje indefinido

0

Estoy usando el controlador de la serie PIC32MX350, en un GPIO, que se define como entrada, y la entrada que el pin va desde un SMPS (PN: - PSC35, nombre IO: - AC out). Como SMPS IO está abierto, agregamos un pull up y un filtro RC i para que filtre cualquier ruido que provenga de SMPS que pueda acoplarse a IO.

Aquí, en condiciones normales, la salida de SMPS AC es 0, por lo que mi microcontrolador necesita leer 0, pero leemos 1 y antes del filtro en el punto A en el alcance, decía 0 voltios con mucho pico de ruido, después del filtro en el punto B, alcance lectura 3.3V constante.

aquí, cuando corto a la fuerza el punto A a GND a través de un cable que el uC lee 0.

La hoja de datos Uc lee baja detecta 0.15 * VDD, de modo que hace 3.3 * 0.15 = 0.495V. y gor Alto necesita más de 2.5V.

q1) ¿qué pasa si se aplica un voltaje entre 0.5 y 2.5V, que lo que uC lee esta entrada desde su estado indefinido, es 0 o uno? O puede depender de qué pin interno se tire hacia arriba o hacia abajo dentro de la unidad de usuario.

También cuando quito la uC, en el alcance del punto B, lea la línea 0 plana sin pico de ruido.

Por favor avise

    
pregunta Bharav

1 respuesta

0

Estás intentando probar un par de cosas a la vez, primero debes aislar los sistemas.

Salida

Primero retire el R68, y el innecesario y complicado pull-up, simplemente conecte una resistencia de 10k desde la salida a 3.3 voltios, y verifique los niveles manualmente. Si esto no funciona como se espera, no es necesario probar el código.

Entrada

Mantén R68 fuera del tablero. Mida el voltaje en B. Conecte B a GND a través de una resistencia de 10k, mida el voltaje en B nuevamente. Rompa la conexión y conecte B a 3.3 voltios a través de una resistencia de 10k, mida el voltaje en B por tercera vez.

Si el voltaje se mantiene cerca de 0 o cerca de 3.3 voltios en todo momento, se configura como una salida. Si cambia entre 0 y 3.3 voltios cuando cambia el objetivo de la resistencia, al menos no está impulsando el pin.

Corrección

Una vez que sepa dónde está el problema, puede intentar escribir el programa más corto que pueda hacer para configurar el pin y leer su estado. El proceso de escribir este ejemplo mínimo generalmente te ayuda a encontrar el problema.

    
respondido por el pipe

Lea otras preguntas en las etiquetas