Estoy intentando configurar V-USB en mi ATmega8-16PU (datasheet ), y podría usar alguna ayuda para conectar una fuente de reloj de cristal externa. He tratado de entender la hoja de datos lo mejor que pude, y he sacado algunas conclusiones que agradecería que alguien pudiera verificar y criticar. Para referencia, usaré un cristal de 16 MHz o 20 MHz, que también necesito ayuda para decidir.
Este es mi plan hasta ahora, basado en mi entendimiento:
- Conecte mi cristal externo (dos pines uno) a los pines XTAL1 y XTAL2 del IC
- Utilice dos condensadores de cerámica 22pF
- Basado en la Tabla 2 de la página 26, CKSEL3..0 tiene que ser 1111-1010
- CKOPT no estará programado (según la descripción en la parte superior de la página 27) porque no necesito un gran swing de salida, no estoy conduciendo otra cosa con el cristal
- CKSEL3..1 tiene que ser 101, 110 o 111 porque mi cristal es mayor que 1 MHz
- CKSEL0 se debe establecer en 1, y SUT1..0 a 11 (según la tabla 5 en la página 28) porque quiero permitir que el tiempo máximo de inicio sea seguro
Bien, así que tomé estas notas y no sé a dónde ir desde aquí. Por ejemplo:
- ¿Qué son todas estas cosas (CKSEL3..1, CKSEL3..0, etc.), y cómo puedo saber qué valor elegir para CKSEL3..0 y CKSEL3..1 si me dan una variedad de opciones? para elegir?
- ¿Qué necesito cambiar y cómo configurar los bits de fusible para habilitar estas configuraciones? Estoy utilizando avrdude para programar mi microcontrolador.
- ¿Necesito usar un perro guardián? Si lo hago, no parece que haya ninguna configuración para habilitarlo o inhabilitarlo (al final de la página 26), ¿o está siempre habilitado?
Gracias a todos. Lo siento por todas estas preguntas, soy muy nuevo en todo esto, pero estoy decidido a aprender.