Autor Tema: ATtiny85 Arduino y fuses.  (Leído 4306 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
ATtiny85 Arduino y fuses.
« en: 12 de Octubre de 2014, 13:31:43 »
Los microcontroladores Atmel son un poco especiales para la programación ICSP con algunos fusibles, cuando le cambias de tipo de oscilador tienes que programar el nuevo oscilador con el antiguo conectado (por ejemplo tenemos configurado uno de 4MHz externo, y pasamos a uno de 16MHz, debemos quemar los fuses del de 16 con el de 4 conectado).

En el IDE de Arduino se pueden añadir varios micros ATtinyXX pegando unos archivos en la carpeta hardware, al abrir el IDE se ven varios dispositivos nuevos, ATtiny85 con oscilador interno de 1MHz, interno de 8, externo de 16, etc... Ahora la pregunta, para un mismo micro ¿puedo cambiar libremente de una configuración a otra sin mas miramientos? o ¿es necesario tener el cuidado de mantener el oscilador antiguo al cargar el nuevo?

Un saludo!!!

PD: Dejo adjunto los archivos mencionados por si alguien los quiere.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: ATtiny85 Arduino y fuses.
« Respuesta #1 en: 12 de Octubre de 2014, 13:47:45 »
no se que decirte como funcionaria con el Arduino, aunque no lo creo, yo cuando programo con mi STK500 no necesito ponerle el mismo cristal, claro qiue podria ser que para leer los Fuses como esta gravado el micro debe tener el mismo cristal de como lo programaste, pero para programarlo sin leer los fusse puede hacerlo sin cambiar el cristal, ojo el cristal debe ponerlo siempre si el mismo esta programado para cristal externo.

Saludos

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re: ATtiny85 Arduino y fuses.
« Respuesta #2 en: 13 de Octubre de 2014, 18:34:27 »
Bueno, pues tenia un pequeño ATtiny25 con una configuración de resonador de 20MHz, he intentado cargarle el bootloader de 1MHz interno, y no se puede. Le he conectado el resonador de 20MHz, y he podido grabar a 1MHz interno y a 8MHz internos.

Conclusión, pues que hey que tener el cuidado de mantener el oscilador antiguo para cargar el nuevo (siempre que hablemos de externo a interno y viceversa).

Cuando se guarde un micro en el cajón de piezas es cuestión de dejarlo en una bolsita con una nota indicando el oscilador configurado.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: ATtiny85 Arduino y fuses.
« Respuesta #3 en: 14 de Octubre de 2014, 02:13:47 »
No se que decirte, con el arduino, pero cada micro que programo nunca tomo en cuenta como los programe´, sino que lo programo con el Cristal que deseo, hasta ahora sin problema.
Saludos

Desconectado Belgitaes

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: ATtiny85 Arduino y fuses.
« Respuesta #4 en: 14 de Octubre de 2014, 13:30:23 »
Código: [Seleccionar]
Conclusión,(siempre que hablemos de externo a interno y viceversa).
 
Esto Suele Ser La Mayoria De Veces La Causa De que Los Micros Se Mueren Al Programarlos
Código: [Seleccionar]
Los microcontroladores Atmel son un poco especiales para la programación ICSP con algunos fusibles
Si Esos Fuses Son Los Que Hay que Mirar Cuando Uno Programa El Micro
Código: [Seleccionar]
¿puedo cambiar libremente de una configuración a otra sin mas miramientos?
NO !! Para Cambiarle El Modo De Reloj Al Micro Debes Cambiarle La Configuración A Los Fusibles,
Lo Mejor Es Que Tengas A Mano El Datasheet Y Mires La Sección "System clock and clock options"
Donde Dependiendo Del Modo De Reloj Que Necesites Te Dan La Configuracion De Los Fusibles.

Código: [Seleccionar]
Le he conectado el resonador de 20MHz, y he podido grabar a 1MHz interno y a 8MHz internos.
El Atmega Tiene Una Frecuencia De Funcionamiento De 8 Mhz MAXIMA SIN CRISTAL


El Atmega Tiene Una Frecuencia De Funcionamiento De 8 Mhz MAXIMA SIN CRISTAL
Para Utilizar Una Frecuencia Mayor se Necesita Emplear Un Cristal Externo
El Atmega Tiene Un Oscilator Rc Interno Que Por Defecto Viene Programado Como A 1Mhz CKDIV8 programmed
Y Es Lo Primero Que Hay Que Mirar Y Es Muy Importante Estar Seguro De Lo Que Se Pone
No Sea Que Se Programé Para Funcionnar Con Uno Externo Y No Haya Ningun Cristal Puesto
Y Esto Suele Ser La Mayoria De Veces La Causa De que Los Micros Se Mueren Al Programarlos
Por Suerte Con Un Reloj Externo Se Pueden Resucitar
El Tipo De Programacion Del Reloj Esta Determinado A la Hora De Programar La Memoria Flash Del Micro
Tiene Un Oscilator Rc Interno Y Sino Configuras Los Fuses Para Usar El Oscilator Externo
Terminas Usando El Oscilator Interno Por Defecto

Es Posible Calibrar Manualmente El Oscilator Interno Para Ser Mas Exacto Que La Calibracion
Que Viene Por Defecto De Fabrica
Este Reloj Puede Ser Calibrado Con Mucha Precision Por El Usuario

ATtiny25/45/85 [DATASHEET]

6.2.3 Calibrated Internal Oscillator
By default, the Internal RC Oscillator provides an approximate 8.0 MHz clock. Though voltage and temperature
dependent, this clock can be very accurately calibrated by the user.


21.4.1 Calibrated Internal RC Oscillator Accuracy
It is possible to manually calibrate the internal oscillator to be more accurate than default factory calibration. Please
note that the oscillator frequency depends on temperature and voltage.

6.2.7 Default Clock Source
The device is shipped with CKSEL = “0010”, SUT = “10”, and CKDIV8 programmed. The default clock source setting
is therefore the Internal RC Oscillator running at 8 MHz with longest start-up time and an initial system clock
prescaling of 8, resulting in 1.0 MHz system clock. This default setting ensures that all users can make their
desired clock source setting using an In-System or High-voltage Programmer.
« Última modificación: 14 de Octubre de 2014, 13:34:56 por Belgitaes »


 

anything