AVRISP. ¿Cómo elegir la frecuencia SPI?

0

Sí, sí, sé que debe haber entre 1 y 4 ciclos de reloj de un dispositivo de destino. Pero ... No sabemos si el reloj es proporcionado por un generador de rc interno o por un cuarzo externo. Entonces, ¿hay alguna forma posible de encontrar la frecuencia spi más rápida permitida?

Y una pregunta más. He leído que podemos proporcionar una fuente de reloj externa cuando programamos. Pero, ¿cómo podemos decirle a AVR acerca de esto? Pensé que siempre usa un generador de rc interno cuando se programa.

    
pregunta Long Smith

1 respuesta

3

Primera pregunta:

Usted sabe el diseño de su tablero. Si está utilizando una fuente de reloj externa (oscilador, cristal, etc.), sabrá cuál es la frecuencia. Si no tiene una fuente de reloj externa, sabe que necesita usar el oscilador interno de 8MHz. Si es un chip nuevo (es decir, nunca programado), usted sabe que la fuente interna está seleccionada.

El proceso más simple es escribir el valor del fusible para la fuente del reloj a una velocidad baja (AFAIK no hay límite en la frecuencia con la que se puede programar el dispositivo). Una vez que haya programado los valores de los fusibles, ahora estará seguro de qué fuente de reloj se está utilizando, porque la acaba de seleccionar. Si conoce la fuente del reloj, sabe qué frecuencia es y puede calcular fácilmente la velocidad de programación más rápida posible.

Segunda pregunta:

El AVR utilizará cualquier fuente de reloj que los fusibles le indiquen que use, incluso al programar. Si programa el fusible para usar el oscilador interno, luego del próximo reinicio comenzará a utilizar el oscilador interno. Si selecciona una fuente de reloj externa, utilizará la fuente de reloj externa para todo, incluida la programación.

De hecho, este es uno de los problemas que enfrentan las personas. Programan los fusibles para usar una fuente de reloj externa, pero luego se olvidan de aplicar uno y se preguntan por qué ya no pueden programar. Si su AVR está configurado para utilizar una fuente externa, debe aplicar una fuente externa, incluso para la programación (lo siento, solo quiero reiterar ese punto).

Tercera pregunta (de los comentarios)

No, no es necesario programar los fusibles dos veces. Una vez programado el fusible, está programado. Puede cambiarlo de nuevo si lo desea, pero no necesita programarlo dos veces para que se pegue. Sin embargo, lo que debe hacer es reiniciar el IC. Mientras está en el modo de programación, si cambia los fusibles, el valor no se actualiza hasta después de que el chip se reinicie (ya sea desde el pin de reinicio o un reinicio de encendido).

    
respondido por el Tom Carpenter

Lea otras preguntas en las etiquetas