Erratas PIC32MX350F256, IO abierto Problema de drenaje

2

En uno de nuestros productos utilizamos el microcontrolador Microchip “PIC32MX350F256L”. La imagen adjunta es una pequeña parte del circuito que muestra la interfaz de usuario con un dispositivo SPI. Estamos utilizando programación de comunicación de bit banging para SPI. También utilizamos MOSI, SCLK, CS, MISO y una línea INT es como configuración de drenaje abierto en la unidad de usuario.

" cada línea tiene una resistencia extraíble de 5.6K "

El dispositivo esclavo genera la interrupción cuando sus datos esclavos están listos para leer, Durante las pruebas, encontramos que el microcontrolador no puede detectar si hay algún cambio de nivel en este pin INT. Intentamos verificar con Scope tan pronto como tocamos la sonda en la línea INT, esa vez solo detectamos el INT uC. ( Por lo tanto, en INT IO, lo cambiamos de drenaje abierto a habilitación de extracción interna, por lo tanto tenemos una conexión interna y externa en línea, esta vez todo está bien )

También remitimos a la hoja de erratas del microcontrolador que indica que “ La selección de drenaje abierto (ODCx) en los pines del puerto de E / S no está disponible cuando el pin está configurado para otra cosa que no sea una salida de puerto estándar. Además, la función Open Drain no está disponible para las funciones de salida de selección de pin periférico (PPS) dedicadas o remapables "

Ahora el hardware ya está diseñado, y preferimos mantener el tirón externo siempre en línea. También preferimos la programación de bits . Ahora la revisión actual también tiene la misma errata. ¿Cómo podemos solucionar este problema?

  1. ¿Deberíamos cambiar todas las clavijas de entrada (Drenaje abierto) a Activar pull up interno (con Pull externo también allí)
  2. ¿Deberíamos cambiar todos los pines de salida (drenaje abierto) a la habilitación de extracción interna (con la tracción externa también allí)?
  3. Ambos 1 y 2.
  4. ¿Qué sucede en la programación I2C bit bang, ya que I2C necesita un drenaje interno abierto?
pregunta Transformer

0 respuestas

Lea otras preguntas en las etiquetas