Tablero básico FTDI + PIC18F452

Estoy haciendo un proyecto con un PIC18F452 y tendré que usar USART. Por lo tanto, compré una placa de conexión FTDI Basic (de Sparkfun) para facilitar la depuración. La placa es la versión de 5V.

Ya probé el FT232R con un circuito loopback y Putty (en Windows) y funciona bien. También probé PIC con un circuito loopback y también funciona bien. Sin embargo, no puedo hacer que FT232R funcione con PIC. En el microcontrolador tengo USART configurado con 9600kbaud, 8bit, sin paridad (igual que en el lado de la PC), RX con interrupción. Solo estoy enviando datos de PC a PIC. Cuando PIC recibe algo, lo imprime en la pantalla LCD. El problema es que PIC no recibe nada. Así que cogí una sonda de osciloscopio y los resultados son estos:

ingrese la descripción de la imagen aquí

¡La señal no toca la GND! Es por eso que PIC no detecta los datos que llegan al pin RX, ¿verdad?

Sin embargo, si desconecto el pin FT232 TX del pin PIC RX, obtengo:

ingrese la descripción de la imagen aquí

Tengo ambos GND (ft232 y PIC) conectados.

¿Alguna sugerencia sobre cómo resolver esto?

¡Gracias!

Respuestas (3)

¿Tiene habilitado el controlador de salida en el pin PIC UART RX? Si está conduciendo a un nivel alto, el voltaje irá a 5 V cuando el FTDI esté alto, y algo en el medio debido a la contención cuando el FTDI esté bajo.

(Esta puede ser una sugerencia tonta, dependiendo de cómo funcione la configuración de PIC UART, en cuyo caso lo siento).

Vuelva a verificar la hoja de datos, pero la mayoría de las veces, cuando habilita el UART de un PIC, configurará automáticamente RX como entrada y TX como salida, independientemente de los bits TRIS.

Eso sucede a menudo cuando conecta dos transmisores juntos.

Por lo tanto, cuando está retrocediendo, saber cuál es el TX y cuál es el RX no es una preocupación importante. El FT232 o la imagen están tratando de ser útiles y cuando el dispositivo usa TX significa que los otros dispositivos TX. Esta es una de las muchas razones por las que las convenciones de nombres causan guerras.

Intente intercambiar la línea TX y RX y vea si la línea comienza a seguir el voltaje que espera. Si todo lo demás funciona, será un problema de hardware, y esto provocaría que la línea no llegue a 0 V y que no se transmita ninguna señal entre los chips.

Una forma en que generalmente pruebo esto es encender la terminal de su elección, dejar que TX y RX floten, medirlos a ambos y simplemente mantener presionada una tecla. Cualquiera que sea la línea que alterna es la línea que la PC envía los datos.
@ ajs410, sí, solo estaba señalando que las pruebas que se habían completado no habrían detectado este error.

Si bien esto no se aplica directamente a su problema con los voltajes, un problema común al no obtener datos en el UART de un PIC es que debe recordar borrar el bit OERR. Si alguna vez se configura, el PIC ignorará todos los datos entrantes adicionales hasta que se borre la OERR.