Estoy usando un MCU de 16 bits, PIC24HJ64GP504, para escribir una lata aplicación basada en. Básicamente se trata de la comunicación entre mi mesa y uno que otro nodo que continuamente mantiene en el envío de datos a la placa utilizando a 1 Mbit/s. Estoy configurando el módulo ECAN en mi PIC24 a trabajar a 1 Mbit/s. He escrito el código de tal manera que durante los primeros 10 ms, el módulo ECAN aceptará todos los mensajes que llegan desde el otro lado, y después de que he re-configurar el módulo ECAN para aceptar sólo los mensajes con el mensaje de IDENTIFICADOR de 0x13.
Ahora aquí viene el problema.. El otro nodo y mi tablero se encienden en el mismo instante. El otro nodo inicia la transmisión de mensajes a partir de los 40 ms o así después del encendido. Pero yo no soy capaz de conseguir cualquier mensaje de ella en mi tablero. Ahora si me enciende mi tablero en primer lugar, darle un poco de tiempo para volver a configurar el módulo ECAN con nuevos filtros y establecerse y, a continuación, encienda el otro nodo, entonces todo funciona a la perfección.
Ahora la parte más rara.. Si tengo un bus CAN analizador conectado entre la junta y el otro nodo y aunque me enciende ambos nodos al mismo tiempo, todo funciona bien...no necesitas encender mi consejo primero. He intentado esto con tres diferentes autobús analizadores de diferentes fabricantes y obtuvo los mismos resultados.
Me parece que durante la re-configuración del módulo ECAN, toma algún tiempo para establecerse. Y con la introducción del analizador de autobús, en el autobús, esta vez es de alguna manera cortado de tal manera que todo funciona a la perfección. Pero no estoy seguro de qué es exactamente el problema.
He estado luchando con este problema durante los últimos siete días.
PS: Hoy he comprobado con un alcance y ha descubierto que si el otro nodo empieza a transmitir después de 170 ms después del encendido, entonces todo funciona bien. Antes de eso, mi dispositivo no recibirás más mensajes de el a menos que el autobús analizador esté conectado. La peor parte es que no puedo retrasar la transmisión de otro nodo, el firmware de ese nodo es de propiedad exclusiva.
También he leído en un foro de hoy en día que PUEDE las necesidades de los 120 Ohm resistor en el nodo para hacer el trabajo (a pesar de que mi nodo no tiene uno y funciona bien, siempre se les da un tiempo para asentarse después de la reconfiguración). Sospecho que la introducción de los autobuses analizador de alguna manera los cambios de la red eléctrica de los parámetros que el tiempo tomado por mi nodo a establecerse después de la reconfiguración se corta. Pero no estoy seguro.. :(