Accidentally program the wrong fuses to my ATMEGA644

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

 

I accidentally programmed my ATMEGA644's fuses to have LOW FUSE: 0xC1 and HIGH FUSE: 0xDD.  From  https://www.engbedded.com/fusecalc/ , I see that the ATMEGA644 now has "Ext Clock; Start-up time: 6 CK + 0 ms; [CKSEL=0000 SUT=00]"  What does this mean?  I think if I can feed the external clock with correct freq, I can revive the ATMEGA644?

 

Thanks for any tips!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Correct.

 

Correct frequency can be almost any frequency. The only caveat is that the ISP clock MUST be no faster than 1/4 of that external clock frequency. Often, you can use the CKOUT pin of another MCU to make that signal, though you MAY have to enable it in software.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use a 74hc14n as a ring oscillator to jump start my chips.   3 inverters 4 resistors  and you're done.

I reserve my right to assemble!
Brawndo's got what plants crave... It's got electrolytes!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Or an HC inverter with a stabilizing (feedback) resistor and a crystal. don't bother with load caps because it does not even have to be really close to the printed crystal frequency. Really easy to make on a spring breadboard (and the spring contacts give you close to the capacitance you need, anyway). To get really fancy, add a second inverter to clean up the oscillator output and give it full logic levels.

 

Jim.

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
The only caveat is that the ISP clock MUST be no faster than 1/4 of that external clock frequency

 

Thanks!  I think AVRDude has such an option.  AVRDude option below:

 

-i delay

 

-i delay

For bitbang-type programmers, delay for approximately delay microseconds between each bit state change. If the host system is very fast, or the target runs off a slow clock (like a 32 kHz crystal, or the 128 kHz internal RC oscillator), this can become necessary to satisfy the requirement that the ISP clock frequency must not be higher than 1/4 of the CPU clock frequency. This is implemented as a spin-loop delay to allow even for very short delays. On Unix-style operating systems, the spin loop is initially calibrated against a system timer, so the number of microseconds might be rather realistic, assuming a constant system load while AVRDUDE is running. On Win32 operating systems, a preconfigured number of cycles per microsecond is assumed that might be off a bit for very fast or very slow machines.

Last Edited: Sun. Jul 12, 2020 - 11:00 PM