RS-485 + iCE40 para una mejor CAN-FD

Esta es una idea con la que he estado jugando durante un tiempo y quería obtener una opinión. Cuando escuché por primera vez sobre CAN-FD, pensé que sería la respuesta a este problema. Sin embargo, la mayoría de los microcontroladores de rango medio no tienen soporte para CAN-FD (LPC546 excluido). El STM32H7 tiene soporte, pero el costo de ese microcontrolador es demasiado alto para la mayoría de las aplicaciones. Hay algunos dispositivos como el TCAN4550 y la versión Microchip que son bastante buenos, pero no tan flexibles.

Con un transceptor RS-485 y un iCE40 u otro FPGA se puede hacer un sistema de transceptor personalizado. La idea sería conectar un microcontrolador sobre SPI o UART a la FPGA. El FPGA manejaría el protocolo real, que sería similar a CAN.

Las ventajas de un sistema de este tipo son:

  • Velocidad y costo flexibles del sistema (hasta 48 Mbit/s)
  • Muchas direcciones configurables por dispositivo
  • Opción para un sistema de multidifusión
  • No restringido a una arquitectura en particular.

Mis preguntas son:

  • ¿Realmente vale la pena el costo o solo estoy tratando de reinventar la rueda aquí?
  • ¿Todavía puede ocurrir el arbitraje a altas velocidades o se necesitan relojes muy precisos?
  • ¿Ya hay un proyecto como este que me acabo de perder?

Podría ser un excelente protocolo de código abierto que sin duda estaría dispuesto a esforzarme en desarrollar.

Se pierde el costo de FPGA y desarrollo. Necesitaría hacer miles o decenas de miles de tales dispositivos para recuperar el costo. Y el FPGA costará fácilmente 5 $ con suficientes puertas para admitir CAN.
También eche un vistazo al STM32H750, una versión "barata" lanzada recientemente del H7, con un precio tan bajo como 3.5 USD
@janDorniak Tiene razón, el costo de desarrollo y prueba sería alto. Supongo que si el costo total del sistema va a ser de ~10$ por transceptor, fpga y soporte, podría no valer la pena.
@JanDorniak Eché un vistazo al H750. Eso parece un excelente controlador. A 10 $ por un MCU de 400 Mhz con CAN-FD, creo que no hay competencia. Parece que también están trabajando en el soporte de la cadena de herramientas ST para estos dispositivos.
Pregunte a su distribuidor: el H750 tiene precios económicos de lista por debajo de los 5 USD. Hay un competidor: I.MX RT, que en realidad estuvo antes en el mercado y tiene esa característica adicional de encriptación en el bus para QSPI. Pero mucho menos RAM.
¿Parece que quieres inventar un controlador CAN FD, como este? ti.com/product/TCAN4550-Q1 . No tengo experiencia en su uso, solo busqué en Google "can fd controller".
¿Cuánto cuesta el iCE40? Por ejemplo, relativo STM32H7?
@Lundin, ese controlador se mencionó en la publicación original. Está sobre la mesa como una buena alternativa posible a hacer algo personalizado.

Respuestas (1)

Estoy preparando un protocolo basado en RS485 para la automatización de edificios; maestro único, 250 kbps. Nada más se ajusta a mis necesidades. Me permite crear los pequeños sensores/actuadores de bajo costo que necesito. Reinventar la rueda puede estar bien, en mi opinión.

La capa física del bus CAN admite colisiones, lo que es esencial para admitir varios maestros. La capa física RS485 no estaba diseñada para manejar colisiones, pero los controladores y receptores más recientes se comportan correctamente en condiciones de falla, por lo que podría hacer que funcione. Pero, ¿ha considerado usar un transceptor CAN-FD para su protocolo personalizado?

Es posible que pueda crear algo similar a su concepto de FPGA dedicando un MCU ARM Cortex razonablemente rápido. Podría ser más fácil de desarrollar, bien podría ser más barato en la producción. El resultado puede ser más fácil de trabajar para otros.

Finalmente, mencionas 48Mbps. ¿Tenía la impresión de que tanto CAN-FD como RS485 alcanzan un máximo de aproximadamente 10 Mbps?

7k gate FPGA y un buen MCU cuestan casi lo mismo. Y una MCU no manejará la misma velocidad de datos por el dinero
Creo que depende de la longitud del cable. Maxim tiene algunos circuitos integrados que le darán RS485 a 100 Mbps. Mi mayor problema fue descubrir cómo manejar la colisión. @JanDorniak Sigo pensando que el 750 podría ser la respuesta a mi problema.