Recientemente tuve una discusión sobre si se podrían usar transceptores RS-485 para una red de bus CAN para obtener la flexibilidad de usar el mismo hardware en un entorno CAN o en una red RS-485 semidúplex, aunque Con software diferente.
La idea es utilizar un controlador de bus RS-485 como de costumbre cuando se utiliza la placa en la configuración RS-485. Que este transmisor es habilitado por DEN cuando uno quiere transmitir y los bits se presentan en la entrada D como de costumbre. Se proporcionan pull-up y pull-down adicionales para garantizar un nivel de bus válido en las líneas de bus abiertas.
Cuando está en modo CAN, la entrada D está atada a un nivel bajo (dominante) y la entrada DEN se utiliza para presentar el flujo de bits cuando se transmite. Cuando DEN = 1 (controlador habilitado), el bus se mueve hacia abajo (dominante), de lo contrario la línea permanece recesiva. Esto debería imitar la naturaleza de colector abierto del bus CAN, ya que solo un estado se activa de forma activa, mientras que el otro solo se arrastra de forma pasiva por las resistencias de pull-up.
La parte que considero es la SN64HVD11 y la SN65HVD230 como referencia para un transceptor CAN 3V3.
Los tiempos de activación del controlador del SN64HVD11 se indican como máx. 55ns y el tiempo de caída se limita a 30 ns, que es inferior a las cifras comparativas del controlador CAN "real".
¿Alguien ha intentado esto antes? ¿Hay problemas que pueda pasar por alto?
Aclaración: todo el sistema está destinado a un control de vehículos no tripulados a pequeña escala en el dominio académico, por lo que la interoperabilidad con componentes de terceros no se considera importante.