Conmutación de una resistencia por software

Quiero comunicarme con un microcontrolador a través de un bus CAN que necesita (idealmente) resistencias terminales de 120 ohmios al final de cada bus. Quiero integrar esta resistencia en el circuito y activarla solo si es necesario (según el software que se esté actualizando en el controlador). ¿Es posible cambiar una resistencia usando software?

Básicamente, lo que tengo en mente es algo como esto: ¿ Cuál es el equivalente automático de una resistencia variable? . Con sólo dos estados (120 ohm y0 ohmioscircuito abierto) conmutado por una señal digital del microcontrolador.

Probablemente no desee 120 y 0 ohmios, sino 120 ohmios y un circuito abierto.
la solución más fácil sería un mosfet en serie con su resistencia. Integre un pullup/down en su diseño para definir el estado estándar. Y sí, como dijo @Rev1.0, 0 Ohm es una mala idea;)
¿A dónde fue la respuesta que se publicó? A primera vista parecía estar bien.

Respuestas (1)

Hay un par de formas de hacer la terminación con CAN (de la nota de aplicación AN1123 de AD ):

ingrese la descripción de la imagen aquí

Aquí hay un esquema que usa terminación conmutada a un nivel de modo común, usando dos MOSFET de canal p más pequeños. Elevar las puertas a +5V apaga la terminación.

ingrese la descripción de la imagen aquí

Como alternativa, hay algunos interruptores analógicos de resistencia bastante baja disponibles (un par de ohmios o menos) que pueden simplificar las cosas, pero tendrías que analizar qué tan bien funcionarían con ESD, etc., y muchos ni siquiera manejarán 5V. Por ejemplo el TS5A3167 .

ingrese la descripción de la imagen aquí

Más comúnmente, colocaría la resistencia entre CAN alto y bajo, en cuyo caso solo necesita un MOSFET y una resistencia.
Mirando el ejemplo de Microchip que compartió, hay un Resistor R16 de 1K conectado a VCC que no se muestra en su captura de pantalla. Hay un símbolo que nunca he visto en esa rama. ¿Tienes alguna idea de para qué es eso?