¿Cómo se programa SC16IS740?

Estoy interesado en usar el convertidor UART-SPI SC16IS740 para interactuar con el controlador Ethernet W5500 que tiene entradas SPI. Debido a que la hoja de datos no me queda clara, pregunto si alguien sabe cómo se programa SC16IS740. ¿Por interfaz UART o SPI, o ambas?

Si utiliza la interfaz SPI para la programación, ¿alguien puede recomendar un puente (o convertidor) UART-SPI de bajo costo?

ACTUALIZAR

W5500 es parte de un sistema de adquisición de datos compuesto por: varias placas de sensores con MSP432, cada una con un módulo de comunicación que transmitirá Ethernet por cable o fibra óptica, y una "puerta de enlace" que agrega todos los datos de las placas de sensores y se conectará a un red de área. W5500 se colocará en la puerta de enlace ya que

Sistema de diagrama

Algunos módulos pueden transmitir por cable Ethernet y otros por fibra óptica. El módulo de comunicación es la interfaz Ethernet de la placa principal.

En caso de transmitir por fibra, tiene que convertir señales eléctricas de W5500 a ópticas. Prácticamente, no puedo colocar W5500 en los módulos de comunicación porque emite 2 señales diferenciales, por lo que requiere 4 cables de fibra óptica. Entonces, una solución sería transmitir usando UART (desde la placa principal hasta el módulo de comunicación y la puerta de enlace a través de fibras), usando 2 fibras, y convertirlo a SPI (usando SC16IS740) en el convertidor de fibra a Ethernet, donde W5500 sería Colocarse. En este caso, el maestro de SC16IS740 sería W5500, pero no es aceptable.

Otras soluciones: transmitir datos SPI a través de fibra (inaceptable porque requiere 3 fibras), usar otro controlador para hacer la traducción de UART a SPI.

Caso ideal: colocar en el módulo de comunicación un controlador Ethernet con salidas para cables de fibra óptica (no conozco ningún controlador de este tipo) y tener un convertidor adecuado en la puerta de enlace.

Podría responder parte de su pregunta, pero no toda, por lo que no puedo escribir una respuesta completa. Eso es porque su terminología parece confusa. El SC16IS740 normalmente no se llamaría un convertidor UART-SPI, sino exactamente lo contrario, es decir, es un SPI (interfaz de host) para UART (dispositivo externo). Eso no es lo que quiere, ya que su "dispositivo externo" es SPI. Por lo tanto, en mi humilde opinión, tampoco desea solicitar un puente "SPI-UART", sino un puente [algo] a SPI, para "hablar" SPI con su W5500. ¿Es eso correcto? También sería útil saber cuál es su dispositivo host y por qué no puede usar SPI directamente.
@SamGibson Consulte la pregunta actualizada.
Gracias por la actualización. Desafortunadamente, hay demasiadas ambigüedades para entender el sistema (un diagrama probablemente ayudaría). Además, la actualización no pareció responder a mi pregunta sobre por qué cualquier MCU que sea "la puerta de enlace" no puede conectarse directamente con el W5500 usando SPI y, por lo tanto, evita la necesidad de la conversión UART<->SPI sobre la que preguntó. Entonces, la actualización confirma que no entiendo lo suficiente el problema general como para que sea sensato que intente responder. ¡Ojalá alguien más entienda su sistema mejor que yo!
@SamGibson Porque la puerta de enlace actuará básicamente como una unidad de retransmisión, convirtiendo Ethernet de fibra óptica en cable Ethernet utilizado por la LAN. Sus salidas se conectarán a un interruptor. Quería evitar colocar un controlador aquí, donde solo se requiere una conversión de medio físico. Entonces, el escenario ideal sería: W5500 colocado en el módulo de comunicación y usando 2 fibras para conectarse a la unidad de retransmisión, pero no es posible ya que emite 2 señales diferenciales. Entonces, para usar 2 fibras, una solución sería tx UART y convertir a SPI en retrans. unidad donde se colocará el W5500.
@CristianM También tengo problemas para entender cómo está tratando de construir esto, hágale un favor a la gente aquí y a usted mismo y dibuje un diagrama en el que especifique los diferentes enlaces y tipos de conexión (es decir, Ethernet, SPI, etc.) y sus sensores etc. Trate de ser lo más detallado posible.
@CristianM Olvidé mencionar que SPI necesita un maestro, especifique su maestro en el diagrama.
@CristianM oh, ¿realmente tienes algo funcionando en este momento o todo está en el "tablero de dibujo"? ¿Sus sensores interactúan con el W5500 "listo para usar"?
@ user1890202 He actualizado la pregunta. Esto está solo en el tablero de dibujo por ahora.

Respuestas (1)

Su problema se debe a un concepto erróneo, afirma que:

Prácticamente, no puedo colocar W5500 en los módulos de comunicación porque emite 2 señales diferenciales, por lo que requiere 4 cables de fibra óptica.

Pero esto no es cierto, Ethernet estándar (10BASE-T, 100BASE-TX, etc.) utiliza señalización diferencial sobre pares trenzados para reducir la interferencia, dos pares de los cuatro disponibles para ser exactos. Un par para transmitir y otro para recibir. La señalización diferencial significa que los cables de cada par llevan los mismos datos pero con la polaridad invertida. Wikipedia tiene un artículo sobre el tema.

Pero hacer cosas en la capa física de Ethernet no es trivial, ¿puedo sugerirle que compre un par de convertidores de medios de fibra en su lugar? De esa manera, puede diseñar "nodos" con una conexión Ethernet estándar y usar fibra óptica cuando sea necesario usando solo cosas "listas para usar".

También es posible que desee considerar la conexión inalámbrica, que es mucho más económica que la óptica, a menos que la fibra ya esté instalada.

¡Oh, casi olvido la pregunta original! SC16IS740 es un UART con interfaz SPI (esclavo). No es (ni tiene mucho sentido dicho componente) un "convertidor SPI a UART". No tengo idea de cómo se hace para "programarlo", pero obviamente necesita un maestro (su microcontrolador) que esté programado para interactuar con él. Los microcontroladores comúnmente tienen UART incorporados en estos días, por lo que realmente no veo mucho sentido en usar uno de todos modos.

¡Toda la suerte!