El transceptor tira de ambos cables CAN a tierra, cuando está en espera. ¿Qué significa eso para los otros dispositivos en el bus?

0

En un proyecto, estoy usando un bus CAN con varios dispositivos en él. El bus CAN se termina con 120 ohmios en ambos extremos. Cuando se inician todos los dispositivos, la forma de onda CAN parece que yo esperaría:

  • Cuando está inactivo, ambos cables CAN están a aproximadamente 2.5V (recesivo)
  • Cuando se envía un dispositivo, veo las ondas cuadradas típicas en direcciones opuestas: CANL baja y CANH sube (dominante) y luego ambos vuelven a 2.5V nuevamente.

Sin embargo, cuando uno de los microcontroladores se encuentra en el modo JTAG (es decir, el dispositivo está esperando para ser programado), luego una extracción en el pin STANDBY del transceptor CAN (MCP2542) se asegura de que el transceptor pase al modo de espera. En ese modo, ambos cables CAN se tiran a tierra. Las buenas viejas olas cuadradas ya no existen. Parece que los otros dispositivos están tratando de conducir CANH alto, pero CANL realmente no se mueve.

¿Qué significa para los otros dispositivos, si uno (o varios) dispositivos están (y permanecen) en modo de espera? ¿Los otros dispositivos en el bus todavía pueden comunicarse?

Una de mis preocupaciones es que el microcontrolador está en modo JTAG. Por lo tanto, el controlador CAN no está inicializado, no se está ejecutando ningún programa y, por lo tanto, el dispositivo no puede reactivarse desde el modo de espera, si fuera necesario.

Otra preocupación es que el amperaje utilizado para mantener bajos los dos cables de CAN durante el modo de espera es aproximadamente el doble que para el nivel recesivo normal.

¿Hay algún requisito para que los dispositivos se activen desde el modo de espera? ¿O puede un dispositivo permanecer en modo de espera por un período de tiempo indefinido mientras todos los demás dispositivos utilizan el bus CAN?

Tan pronto como se programa el microcontrolador, colocamos el pin de espera del transceptor en posición baja y, por lo tanto, el transceptor sale del modo de espera. Entonces el bus comienza a mostrar niveles normales de voltaje.

    
pregunta Sven

2 respuestas

0

Desde la hoja de datos, el modo de espera tiene el pin Rxd como alto. Entonces tu dispositivo debe estar haciendo algo diferente.

Parece que estás corriendo en un modo sin alimentación.

Verifique las condiciones enumeradas en el modo POR para su dispositivo. Asegúrese de verificar cómo están configurados sus pines, ya que es muy importante en qué modo terminará el dispositivo.

De acuerdo con la hoja de datos, si el dispositivo está en modo POR, entonces el bus completo estaría esencialmente "bloqueado". Además, si el consumo de corriente es alto durante el modo en el que se encuentra, no es el modo de espera, ya que la hoja de datos indica que es el modo de bajo consumo. El modo de espera tampoco afecta al resto del bus. Así que de nuevo, debe ser un modo diferente.

Verifique sus voltajes en los pines en el modo POR y vea eso antes del modo Normal "Durante el POR, cuando el microcontrolador se enciende, el pata Txd podría ser bajado unitariamente por el encendido del microcontrolador".

Si el problema es que está en modo POR, entonces podría jalar el pasador de espera, podría levantarse con un tirón hacia arriba para que esté en espera durante la programación y luego puede programarlo para que vuelva a Normal. modo cuando se enciende.

También hay un diagrama de estado en la hoja de datos que ayudaría a comprender los elementos necesarios que deben pasar para pasar del modo al modo.

    
respondido por el Drew Fowler
0

"Modo de espera" es un modo activo específico para el dispositivo, se supone que el dispositivo se activará en cualquier actividad prevista. Si el dispositivo no está listo para activarse, debe estar en "modo sin alimentación" (es decir, alta impedancia).

Si el problema es que el microcontrolador está tirando del pin STANDBY hacia arriba cuando no está programado, entonces agregue un tirón hacia abajo a ese pin en el MCP2542 para asegurarse de que el bus CAN esté inactivo o en apagado modo.

    
respondido por el Edgar Brown

Lea otras preguntas en las etiquetas