Autor Tema: Sincronización entre CAN y UART  (Leído 3801 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Sincronización entre CAN y UART
« en: 26 de Marzo de 2014, 07:54:27 »
Buenos días a tod@s,

Os comento un poco la situación/idea:

Quiero realizar una comunicación de varias placas por bus CAN y en una de ellas enviar los datos recibidos por el bus vía RF con un PIC32MX534F064H
Para enviar los datos por RF utilizo la UART, con un máximo de 24kbps ya que es un XBEE PRO868.

El problema es que Bus CAN estará configurado a 125kbps, por lo que creo que habrá problemas de sincronización.

La verdad es que últimamente estoy obscecado y no se me ocurre como solucionar dicho problema.
¿Alguna idea?
Estoy mirando la opción de utilizar la UART con DMA, como lo veis??

Muchas gracias.

Un saludo.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Sincronización entre CAN y UART
« Respuesta #1 en: 26 de Marzo de 2014, 08:07:43 »
En el medio de ambos protocolos, te guste o no, deberás poner software a convertir datos de uno al otro.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Sincronización entre CAN y UART
« Respuesta #2 en: 26 de Marzo de 2014, 08:28:46 »
Buenos días MGLSOFT,

Muchas gracias por la pronta respuesta, pero no entiendo muy bien lo que me quieres decir, a que te refieres con convertir datos de uno al otro??
Cuando te refieres a poner software te refieres a que me toca pidar código, la verdad es que casi lo prefiero..antes que tener que hacer alguna modificación hardware.

Muchas gracias.

Un saludo.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Sincronización entre CAN y UART
« Respuesta #3 en: 26 de Marzo de 2014, 08:36:01 »
En CAN puedes transmitir hasta 8 bytes por mensaje, de esa forma te tocara pasar la info (empaquetarla) para que puedas pasarla de uno al otro...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Sincronización entre CAN y UART
« Respuesta #4 en: 26 de Marzo de 2014, 09:00:35 »
Buenos días MGLSOFT,

Vale ya te entiendo, si, tengo que transformar los datos para poder enviarlos. Pero, así, sin pensarlo ahora mismo mucho, no se solucionaría el problema de sincronización, no??


Un saludo.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Sincronización entre CAN y UART
« Respuesta #5 en: 26 de Marzo de 2014, 09:09:47 »
Dandole vueltas, tras que me lleguen los 8 bytes separar cada byte para enviarlo por la UART. Pero sigo pensando que se perderían paquetes.

Voy almacenando los mensajes del CAN en la FIFO.
Los transformo en datos UART.

No se perdería ningún dato??

Muchas gracias.

Un saludo.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Sincronización entre CAN y UART
« Respuesta #6 en: 26 de Marzo de 2014, 12:21:01 »
Tu deberías llevar un indice del fifo, que una vez actualizado por el CAN, se lea por el código conversor a UART, si es distinto del que el guarda, no fue transmitido, entonces lo convierte y lo pone en la UART para transmitir, se entiende??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Sincronización entre CAN y UART
« Respuesta #7 en: 26 de Marzo de 2014, 16:46:57 »
Vale, creo que si, comparo índices, si son diferentes tengo datos a empaquetar y transmitir.
Madurare la idea.

Muchas gracias MGLSOFT.

Un saludo.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Sincronización entre CAN y UART
« Respuesta #8 en: 26 de Marzo de 2014, 18:22:02 »
Con ese formato, podrias usar ambos con DMA, y hacer lo otro por poolling.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Sincronización entre CAN y UART
« Respuesta #9 en: 27 de Marzo de 2014, 08:45:45 »
OK MGLSOFT, muchísimas gracias,

Las transferencias de la UART como las recepciones del CAN con DMA, y por poolling comprobamos los índices.

Muchísimas gracias.

Un saludo.