Cambio de un bus CAN

3

Estoy diseñando el controlador para una estación de prueba de agujas diseñada para realizar pruebas funcionales de un panel de 20 PCB en una línea de producción.

El controlador debe conectarse secuencialmente a través de CAN a 20 dispositivos que montan un transceptor MAX3051EKA + T.

¿Tiene alguna idea de una forma elegante de cambiar el bus CAN que conecta el controlador a los 20 dispositivos? ¿Sería posible utilizar algún tipo de solución simple basada en matrices MOSFET? Prefiero no usar relés.

    
pregunta Agustin Tena

3 respuestas

3

Puede usar repetidores y luego deshabilitar los transceptores para los nodos con los que no quiere hablar. Hay tranceivers con modo de espera.

Un repetidor es tan simple como dos tranceivers. ( fuente )
Si usa DIP para el transceptor del lado de la placa de prueba, podría reparar rápidamente los tranceivers dañados debido a fallas fatales de las tablas de prueba.

Tenga en cuenta que los repetidores limitan la longitud máxima debido a la latencia.

También puede ponerlos en un bus, pero eso tiene inconvenientes:
- Si todas las placas se alimentan junto con el mismo firmware, tiene problemas con el arbitraje.
- Si un nodo está en cortocircuito, todo el panel falla sin que usted sepa en qué tablero se encuentra el problema.

La solución lista en el menor tiempo es un grupo o relés bipolares pequeños. Los repetidores requerirían una placa personalizada o una gran inversión en repetidores listos para usar.

    
respondido por el Jeroen3
3

Los relés son la opción obvia pero limitan la velocidad de prueba. El repetidor de arriba es una buena solución electrónica si elige transceptores que pueden desactivarse, pero como mencionó en el comentario, puede ser costoso y no estoy seguro de que le ofrezcan una ventaja real sobre lo que voy a sugerir a continuación.

¿Qué pasa con un par de interruptores analógicos o dos MUXes analógicos 8: 1? Parecería que esto lograría una desconexión lógica y minimizaría las partes, aunque si realmente necesita una separación física (por ejemplo, en realidad está intentando hacer coincidir la carga capacitiva de la red o realizar pruebas más serias), entonces los relés son probablemente la solución mejor manera de ir Sin embargo, si no, ten en cuenta que tendrás que preocuparte por los niveles de voltaje, así que elige los dispositivos con tecnología CMOS más antiguos. La velocidad realmente no es un problema aquí, y los dispositivos son abundantes, ofrecidos por muchos proveedores, y lo mejor de todo, barato .

Un par de MC14051, por ejemplo, le daría 8 DUT a un solo bus CAN en el probador. Los CD4067 harían 16: 1. Incluso pueden funcionar si necesita una separación más fuerte (ver más arriba) pero parece que está buscando pruebas funcionales.

Dos o tres buses CAN (según el probador) pueden manejar 16, 24, 32 o incluso 48 DUT a la vez.

    
respondido por el akohlsmith
2

Algunas opciones:

  1. Use relés. Esta parece ser la solución conceptualmente más simple. Lo más probable es que los pocos 10s de ms de tiempo para cambiar entre diferentes tableros sean mucho más bajos que el tiempo de prueba por tablón, por lo que no se debe reducir la velocidad.

  2. Multiplex en el otro lado de los transceptores de bus CAN. Esto significa dedicar un MCP2551 a cada unidad, lo que no debería ser un problema para un sistema de prueba como este. Ahora usa puertas lógicas para multiplexar las señales CANTX y CANRX del microcontrolador a uno de MCP2551.

  3. Sólo encienda la unidad con la que desea hablar. Los transceptores como el MCP2551 están especificados para no interferir cuando se apagan. Debe mantener todas las unidades conectadas a tierra común. Solo la unidad que está encendida responderá en el bus CAN, y las otras unidades dejarán que el bus flote como quiera.

No me gusta multiplexar los buses CAN directamente con transistores debido a los requisitos de impedancia del bus, y al hecho de que ambas líneas son bidireccionales.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas