¿Funcionará este circuito de terminación CAN BUS seleccionable?

4

Estoy tratando de encontrar una manera simple de tener una terminación seleccionable por software en el bus CAN de un dispositivo que estoy haciendo. Creo que un relé de estado sólido es la mejor opción, así que he creado el siguiente circuito.

La red típica a la que se conecta podría tener alrededor de 15 nodos y podría tener una carga de bus de hasta el 35%.

¿Mi dispositivo es únicamente 3v3 y no estoy seguro si este relé panasonic funcionará con 3v3 o si este circuito funcionará? El motivo de los 90 ohmios en lugar de los 120 es que el relé tiene una resistencia de 30 ohmios.

Así que mis preguntas son: ¿Funcionará este circuito? ¿Hay alternativas mejores? ¿Es aceptable la capacitancia de salida de 10pf del SSR y qué problemas causará?

Este es el relé que planeo usar: enlace

    
pregunta Terry Gould

2 respuestas

5

Parece que debería funcionar si no estás empujando el bus CAN al límite. Definitivamente, puede encender el LED con 3.3 V, ya que el voltaje máximo del LED es de 1.5 V. Necesita aproximadamente 5 mA, por lo que probablemente pueda manejarlo directamente desde una salida digital.

No me gusta el descuido de la resistencia de salida. Puede ser de hasta 50, pero no sabemos qué tan bajo podría ser. La hoja de datos solo enumera un "típico" de 30. Lo mejor que puede hacer es colocar una resistencia de 90 Ω en serie para que el centro de la propagación termine en los 120 desired deseados. Sin embargo, no sabe qué tan cerca de 90 Ω está el resultado.

Sin una especificación de resistencia mínima, debe asegurarse de que la resistencia resultante no sea demasiado baja para que los chips del controlador puedan manejarla. No recuerdo lo que la especificación de CAN dice que un chip de controlador debe poder hacer. Como mínimo, compruebe las especificaciones de los chips de controlador que está utilizando. Sin embargo, solo puede aceptar eso si se sabe que todos los dispositivos en el bus usan ese chip de controlador.

Como no sabe qué tan bien se termina el bus en 120 en cada extremo, manténgalo corto. No utilizaría este método de terminación si está presionando el límite de la longitud del bus para cualquier velocidad que esté usando.

    
respondido por el Olin Lathrop
0

Probablemente no puedas usar eso de manera confiable. El principal problema es que todo tipo de relés (y controladores MOSFET, etc.) tienen un retraso bastante largo para encenderlos / apagarlos. La lectura de la hoja de datos del AQW227 es bastante rápida, pero todavía tiene un tiempo de activación de 0,2 ms y un tiempo de desactivación de 0,5 ms, con una carga de 5 mA. Esto sigue siendo muy lento en comparación con la velocidad de ejecución del programa de la MCU promedio. ¿Y creo que también puede esperar corrientes superiores a 5 mA? Haciéndolo más lento aún.

El problema es que el relé debe estar activado antes de que se permita cualquier tráfico CAN. Lo que significa que el programa que lo activa debe hacerlo antes de que se inicie cualquier otro nodo CAN. Y otro programa en el otro extremo del autobús debe hacer lo mismo. Mientras que todos los demás nodos no deben comenzar. Necesita agregar mucha complejidad avanzada e inútil para gestionar eso.

Claro, puedes tenerlos a todos intentando enviarlos con "fuerza bruta" hasta que no haya más errores de bus, pero esa es una solución descuidada. No podría distinguir la diferencia entre el "ruido" de inicio y los errores de bus reales.

También la llamada resistencia "baja" de este componente en particular es realmente muy alta para esta aplicación, hasta 100 ohmios, sin precisión garantizada. Entonces, con qué valor real terminas como terminación parece bastante arbitrario. El bus CAN es robusto, pero apuesto a que podrías tener problemas con esto a velocidades más altas.

En definitiva, desordenado y poco fiable.

Lo que probablemente podría usar en su lugar, es un interruptor analógico con una resistencia de activación mínima y tiempos de conmutación mucho más rápidos. Consulte este problema similar con algunas partes sugeridas. (SN65HVD232 significa que también está usando niveles de 3.3V)

Ahora imagina lo simples que serían las cosas si solo pusieras una resistencia de 120 ohmios y una tira de cabecera con una opción de puente en cada nodo :)

    
respondido por el Lundin

Lea otras preguntas en las etiquetas