¿diferencia de GND entre los nodos CAN?

6

Estoy ejecutando un corto (2 m) bus CAN con aproximadamente 20 nodos. Velocidad de 1 Mbit / s, PIC 18F2580s y 18F4580s con MCP2551 transceptores, osciladores de cristal de 10 MHz (con PLL a 40 MHz). Ambos extremos terminan a 120 ohmios. El punto de muestra está al 70%.

Los nodos están en tres grupos, cada uno alimentado por una fuente de alimentación aislada, pero los terrenos se encuentran en común a lo largo del bus.

Recibo muchos errores de mensajes, marcos, rellenos de bits. Mirando CANH y CANL en un osciloscopio, todo se ve hermoso. Sin timbre, sin reflejos, y el momento correcto. La medición de los osciladores con un medidor de frecuencia preciso muestra solo una pequeña variación.

Hasta ahora, la única forma en que he podido reducir la cantidad de errores en los mensajes es reforzando el cable de tierra a lo largo del bus hasta que obtengo la diferencia de GND por debajo de unos 150 mV. Cuanto más arriba vaya, más errores recibo.

¿Por qué? De acuerdo con la hoja de datos de MCP2551, ¡deberían poder hacer frente a las diferencias de GND de hasta 7 V!

¿Estoy malinterpretando algo?

    
pregunta Rocketmagnet

3 respuestas

3

¿Está seguro de que los errores de mensaje son el resultado del bus CAN y no el resultado del rendimiento del resto del nodo (los circuitos PIC)?

CAN es diferencial, siempre y cuando no exceda los límites de voltaje de modo común del transceptor, los niveles de tierra relativos no deberían importar y no hay necesidad de enviar una conexión a tierra con las señales CAN (tal vez un escudo, pero esa es una historia diferente).

Sin embargo, con las fuentes de alimentación aisladas, aunque la conexión a tierra está bien, puede haber algunos bucles de corriente a tierra que están causando problemas con el resto del circuito.

    
respondido por el Mark
2

Tal vez necesitamos cambiar un poco tus circuitos. Lo que he visto hacer en RS-232 y RS-422 podría funcionar para CAN:

Opto-aislar los transceptores CAN de las tarjetas. Alimentarlos desde convertidores DC-DC totalmente aislados. Luego, los circuitos del transceptor flotarán y esperamos que estén más cerca uno del otro.

También he visto esto hecho en una nota de aplicación para (no realmente) "opto-aislar" una interfaz USB colocándola "fuera de borda".

Observaré con interés cómo mis tarjetas servo robot hablan CAN y tenemos corrientes bastante grandes en el chasis, pero no he intentado usar la interfaz CAN enojada (las hemos estado usando en RS- 232 con un antiguo protocolo propietario).

    
respondido por el Tim Williscroft
1

Por lo que entiendo, la velocidad máxima de datos del bus CAN 1 Mbit / s puede ser un desafío incluso con un bus corto. ¿Ha intentado reducir la velocidad de datos a 500 kbit / s para ver cómo afecta su recuento de errores?

    
respondido por el user3285

Lea otras preguntas en las etiquetas