Dos MAX3140 (SPI a RS485) conectados entre sí

3

Me gustaría preguntar si alguien tuvo experiencia en el uso de este tipo de IC, tuve este proyecto escolar en el que tengo muchos sensores que usan SPI (cada uno a 10-20 metros de distancia de la UC) y esto tiene que estar lejos. desde el controlador principal (uC). Sabía que los SPI no funcionan bien cuando se implementan demasiado lejos del maestro SPI o el co-esclavo SPI, por lo que al buscar alternativas, me topo con algunas ideas como:

  • use dos uC y convierta SPI a RS485 y luego convierta RS485 a SPI
  • use dos uC y use su UART y conviértalos a RS485 y viceversa
  • use dos uC y aplique Ethernet / PoE entre los dos
  • implementar SPI de larga distancia

Me gustaría volver a considerar lo último, pero me gustaría probar primero lo primero, luego encontré este IC MAX3140, soy totalmente nuevo en este tipo de conexión de protocolo de datos cuando se trata de largas distancias. Tengo esta imagen a continuación donde quiero usar el IC en este tipo de configuración.

¿MediolaideadeusarestosICcorrectamente?

enlace

Supongo que entiendo esta estructura a continuación en función de su hoja de datos

comopuedever,soloseusaunICMax3140yesoserásolo(1)SPIaRS-485solo.Loquequierosabersilasiguienteestructurafuncionaigual,yaquenoseespecificaenlahojadedatos(usandotambiénelICviceversa,(2)RS-485aSPI).¿Puedeserdeunamanera?¿quéhaydelreloj,etc?

    
pregunta Mheruian

1 respuesta

1
  

use dos uC y convierta SPI a RS485 y luego convierta RS485 a SPI

Convertir SPI a RS485 y luego volver a SPI solo funciona en la dirección de maestro a esclavo. No funciona cuando se intenta extraer datos de un esclavo debido al tiempo de respuesta y la posibilidad inmediata de que los datos que regresan se desincronizarán gradualmente con la señal de avance del reloj en distancias más y más largas.

Por ejemplo, envié SPI de 2 MHz convertido a RS485 muchas decenas de metros para conducir DAC remotos y funcionó bien: el reloj y los datos se transfieren al esclavo y aparecen sincronizados entre sí, y todo está bien.

  

use dos uC y use su UART y conviértalos a RS485 luego   viceversa

Esta es la opción obvia porque está creando una solución que no requiere sincronización de reloj a través del cable completo: tiene sincronización local en ambos extremos y eso funciona bien. El chip MX parece adecuado para esto, pero, como siempre, el diablo está en los detalles, así que lea la hoja de datos para ver si hay algún error.

  

use dos uC y aplique Ethernet / PoE entre los dos

Más difícil de poner en marcha, pero podría ser la mejor solución global para un sistema de "muchos usuarios"

  

implementar SPI de larga distancia

Vea mi primera respuesta: use 485 como búfer y tome nota de que las comunicaciones de esclavo a maestro serán problemáticas.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas