Frecuencia de cristal requerida para MCP2515 con ATmega328P

0

Quiero conectar varios microcontroladores ATmega328P a través de un bus CAN. Descubrí que necesitaré algunos IC MCP2515 y MCP2551. En diferentes esquemas a veces veo un cristal de 8 MHz en el MCP2515 y, a veces, un cristal de 16 MHz.

Esta es la configuración deseada:

Varios chips ATmega328P para un proyecto de automatización del hogar. La cantidad de datos a enviar es realmente limitada: encienda el relé, apague el relé ... así que la velocidad en el bus CAN puede ser baja.

¿Qué frecuencia debo tomar? ¿O no importa? ¿Debo especificar algo más que sea necesario para tomar la decisión?

¿Se requiere el uso de un cristal en el ATmega? ¿O puedo usar el reloj interno de 8 MHz o 16 MHz?

    
pregunta mvermand

2 respuestas

1

Es necesario que lea la hoja de datos . Después de que lo hagas, las respuestas a tus preguntas serán obvias.

La Tabla 13-2, Características de temporización del oscilador , en la página 71, le informa de las frecuencias mínimas y máximas permitidas en su totalidad. Si pudiera ejecutar la pieza en cualquier lugar dentro de su rango de suministro válido, entonces esos límites son de 1 a 25 MHz.

También hay un capítulo completo, sección 8.0, página 53, sobre el oscilador. No te lo voy a leer.

La única pregunta que queda es la frecuencia que quiere utilizar dentro de los límites permitidos. De nuevo, la hoja de datos describe exactamente cómo se utiliza la frecuencia del oscilador para derivar la temporización de bit CAN. De hecho, hay un capítulo entero sobre eso también. Consulte la sección 5.0, Tiempo de bits , en la página 37. Léalo .

Básicamente, usted elige una frecuencia de oscilador que se puede dividir hasta la cantidad de tiempo de bits que desea usar. El número de cuantos por bit es algo sobre lo que tienes cierto margen de maniobra. Por lo general, quieres estar en el rango de 9 a 20 cuantos por bit si recuerdo bien.

    
respondido por el Olin Lathrop
0

La frecuencia del reloj debe elegirse de modo que se adapte al hardware del divisor del controlador CAN. Lo que es adecuado es diferente de un controlador a otro, pero a menudo el reloj depende de la cantidad de tiempo que utilice por baudios. Debe apuntar a utilizar una de las velocidades en baudios y los puntos de muestra estandarizados de CANopen, ya que son estándares de la industria (como 250 kbps o 125 kbps). El estándar está disponible de forma gratuita en cualquier lugar en enlace si se registra y descarga.

Cuando haya determinado la cantidad de tiempo que se necesita para alcanzar una cierta velocidad en baudios, debe elegir un reloj que dé un error de divisor de menos del 1%. CAN puede ser exigente con esto: los divisores imprecisos pueden hacer que falle todo el nodo. Por lo tanto, siempre debe utilizar osciladores de cristal para la comunicación CAN; Los osciladores RC incorporados son demasiado malos para ser utilizados.

    
respondido por el Lundin

Lea otras preguntas en las etiquetas